[devel] q: installer: Killing all remaining processes (forever)

Stanislav Ievlev =?iso-8859-1?q?inger_=CE=C1_altlinux=2Eorg?=
Пн Апр 7 10:55:28 MSD 2008


On Sat, Apr 05, 2008 at 05:04:50AM +0400, Evgeny Sinelnikov wrote:
> >  > мегабайт памяти" путём затирания образа в памяти после его
> >  > копирования..? Сначала копируем cp /image/altinst /mnt/altlinst, а
> >  > потом затираем последние как минимум 512 байт с помощью dd
> >  > if=/dev/zero of=/mnt/altinst skip=$size_of_image...
> >
> Кстати, тут 's/skip/seek/'
согласен.
> 
> >  Идея была в том, чтобы создать файл-дырку /mnt/altlinst в точности
> >  того же размера, что и исходный файл /image/altinst.
> Ну, это вот кстати, довольно просто... Оно же в памяти остаётся, чтобы
> уметь сменить диск и добавить другой, с новыми пакетами. И нужно на
> протяжении всего времени работы в stage2. Когда же мы делаем
> losetup-move на один и от же вроде файл, у которого затёрты последние
> 512 байт может произойти глюк... Ядро на такой покоцаной файловой
> системе в памяти просто падает.
init не должен упасть ибо он собран статически и в момент вытаскивания
стула из-под себя висит в пямяти.

> 
> Кстати, доводы относительно loop_change_fd() в многодисковой
> установке, на последнем этапе работы установщика в stage2 несколько
> меня смущают. Это могло быть сделано для корректного eject, но его не
> делают... Может добавим?
Как сказал уже Дима, эта пляска не для eject ( с ним видимо отдельная
проблема), а для того чтобы отпустить /mnt/destination.
Мы перепробовали массу вариантов, чтобы отпустить его (был занят из-за первоначального losetup-move), 
но по неизвестным нам причинам, работал только этот хак с losetup-move на tmpfs.

P.S. Исправления с SIGCHILD приложу.




Подробная информация о списке рассылки Devel