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 0.8.3-alt1 + removed support for obsolete /boot/System.map; $ Так что насчет System.map вопрос не ко мне. > Всего доброго, > Денис. > > --------------- > earthsea@ngs.ru