[sisyphus] Re: философия bootloader-utils
Alexey Tourbin
=?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Ср Июн 23 14:03:47 MSD 2004
On Wed, Jun 23, 2004 at 02:18:21PM +0700, Denis G. Samsonenko wrote:
> Время от времени приходится ставить новые ядра (apt-get install), как
> правило из апдейтов. Так вот, картина, которую я наблюдаю такова
> (использую груб): в menu.lst появляется новая запись с параметрами
> загрузки нового ядра, а в /boot тем временем переопределяются симлинки
> дефолтного ядра на свеже установленное. Т.о. какой бы пункт меню в
> грубе не выбрал бы после перезагрузки, всё равно будет грузиться новое
> ядро.
Вы правы. Сейчас это уже исправлено: перед добавлением новой записи в
конфиги предпринимается попытка добавить ещё одну запись, которая
соответствует /boot/vmlinuz:
if OLD_KERNEL=`realpath "$BOOTDIR/vmlinuz" 2>/dev/null`; then
OLD_VERSION="${OLD_KERNEL##*/vmlinuz-}"
fi
...
# modify lilo config
if [ -f "$LILO_CONF" -a -x "$SHARFILE/lilo" ]; then
if [ -z "$REMOVE" -a -z "$MEMTEST" -a -n "$OLD_VERSION" ]; then
"$PERL" "$SHARFILE/lilo" "$OLD_VERSION"
fi
"$PERL" "$SHARFILE/lilo" $MEMTEST $REMOVE "$VERSION"
fi
# modify grub config
if [ -f "$GRUB_MENU_LST" -a -f "$GRUB_DEVICE_MAP" -a -x "$SHARFILE/grub" ]; then
if [ -z "$REMOVE" -a -z "$MEMTEST" -a -n "$OLD_VERSION" ]; then
"$PERL" "$SHARFILE/grub" "$OLD_VERSION"
fi
"$PERL" "$SHARFILE/grub" $MEMTEST $REMOVE "$VERSION"
fi
> Описанное выше поведение мне кажется очень не логичным. Если уж
> переопределяюся симлинки, то зачем тогда создавать лишнюю запись в
> menu.lst, ведь она в этом случае совсем не нужна. А если уж создаётся
> новая запись в menu.lst, то тогда не надо переопределять симлинки,
> чтобы можно было грузиться как с прежним ядром, так и со свеже
> установленным. А уж когда прошла проверка перезагрузкой на новом ядре,
> то перенаправить симлинки на новое ядро и убрать лишнюю строку из
> menu.lst можно уже и руками.
Иными словами, если в конфиге была всего одна дефолтная запись, то после
обновления будет уже три записи: дефолтная -- симлинки смотрят на новое
ядро; запись для старого ядра и запись для нового ядра.
> А сейчас всё равно приходится в menu.lst и наводить там порядок. При
> этом у меня в последнее время как-то initrd никак не хочет создаваться
> при установке нового ядра, приходится генерить его вручную, да
> симлинки на него и Sistem.map перенаправлять.
vsu пишет здесь:
http://lists.altlinux.ru/pipermail/sisyphus/2003-November/031144.html
что
System.map обновляется при загрузке системы.
Эта ссылка должна указывать на файл именно для текущего
загруженного ядра -- System.map используется некоторыми
программами (например, ps) для преобразования адресов функций
ядра в имена.
Однако же:
$ rpm -qf /etc/rc.d/rc.sysinit --lastchange | egrep '^\*|System'
* Sat Feb 07 2004 Dmitry V. Levin <ldv на altlinux> 0.8.3-alt1
+ removed support for obsolete /boot/System.map;
$
Так что насчет System.map вопрос не ко мне.
> Всего доброго,
> Денис.
>
> ---------------
> earthsea на ngs.ru
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url : <http://lists.altlinux.org/pipermail/sisyphus/attachments/20040623/0c83b036/attachment-0003.bin>
Подробная информация о списке рассылки Sisyphus