# eselect kernel set 3
cp /usr/src/linux-3.XX.XX-gentoo/.config /usr/src/linux/
cd /usr/src/linux
make menuconfig
make -j5 bzImage
make -j5 modules
mount /boot
make install
make modules_install
grub2-mkconfig -o /boot/grub/grub.cfg && reboot
Верно? Он же для сборки будет брать тот конфиг с которым было собрано 3.12.21?
Ядро обновляю на этом сервере в первый раз. Боюсь накасячить.
GRUB у меня второй
Да, он воспользуется старым конфигом, т.к. вы его явным образом копируете. Но конфиг - это ещё не всё. Рекомендую проверить, как оно собиралось раньше, например, использовался ли initrd, и если да, то какой.
Насчёт grub, к сожалению, ничего не могу сказать, т.к. вторым никогда не пользовался.
Да, он воспользуется старым конфигом, т.к. вы его явным образом копируете. Но конфиг - это ещё не всё. Рекомендую проверить, как оно собиралось раньше, например, использовался ли initrd, и если да, то какой.
Насчёт grub, к сожалению, ничего не могу сказать, т.к. вторым никогда не пользовался.
А как проверить? Просто у меня когда стоял gentoo, то я ядро именно так и обновлял. Как тут делалось не знаю. Достался без описания и коментариев от прошлого админа. Но судя по выводу
Именно так и проверить. Значит, initrd нет и этот способ сборки подходит.
Не забудьте пройтись по опциям menuconfig, т.к. разрыв между версиями большой и много опций исчезло/появилось.
Как я пройдусь? =) Как я уже начал делать. Скопировал старый конфиг. Потом make menuconfig. Там полистал для теста и сделал save. Потом make -j10 bzImage и т.д. Прокатит?
Я так понимаю это может создать некие проблемы. Что то добавилось, что то ушло в параметрах. Но думаю новые подтянутся как дефолтные.
Как я пройдусь? =) Как я уже начал делать. Скопировал старый конфиг. Потом make menuconfig. Там полистал для теста и сделал save. Потом make -j10 bzImage и т.д. Прокатит?
Я так понимаю это может создать некие проблемы. Что то добавилось, что то ушло в параметрах. Но думаю новые подтянутся как дефолтные.
Подтянутся. Но только вы можете знать, подойдут ли вам дефолтные.
Как я пройдусь? =) Как я уже начал делать. Скопировал старый конфиг. Потом make menuconfig. Там полистал для теста и сделал save. Потом make -j10 bzImage и т.д. Прокатит?
Я так понимаю это может создать некие проблемы. Что то добавилось, что то ушло в параметрах. Но думаю новые подтянутся как дефолтные.
Подтянутся. Но только вы можете знать, подойдут ли вам дефолтные.
В общем обновил ядро, но после перезапуска получил kernel panic! Точно не знаю на что ругается. Хорошо коллега был на работе и грузанулся со старого ядра. В чем может быть проблема?
Я имел в виду не конфиг, а параметры, которые прописаны в конфиге загрузчика (т. е. grub'а в вашем случае), параметры которые загрузчик передаёт ядру. В частности там должен (или может?) быть параметр root, говорящий ядру где ему искать /sbin/init.
Я имел в виду не конфиг, а параметры, которые прописаны в конфиге загрузчика (т. е. grub'а в вашем случае), параметры которые загрузчик передаёт ядру. В частности там должен (или может?) быть параметр root, говорящий ядру где ему искать /sbin/init.
а жесткий диск в новом ядре точно называется sda? В OpenSUSE как то помнится прилетало обновление ядра и диск который все вермя был sda стал почему то sdс , а sdb стал sdc называться в сисетме. Может и тут нечто подобное
Ну как бы kernel panic!, надо читать на что ругается.
Так из попыток телепатии, возможно требуется файл initramfs, такое бывало если выполняешь make install, вместо cp /usr/src/linux/arch/xxx/boot/bzImage /boot/vmlinuz-xxx.
хендбук тыц
Возможно было бы надёжнее пересобрать ядро заново, при помощи make oldconfig, а не тупого копирования конфига?
Т. е. скопировать заново прежний конфиг, сделать make oldconfig. Если известно какие опции для работы системы необходимы - то после этого ещё и make menuconfig и убедиться что нужные опции имеют нужные значения.
P. S. зачем make -j5 bzImage и make -j5 modules?..
Ну как бы kernel panic!, надо читать на что ругается.
Так из попыток телепатии, возможно требуется файл initramfs, такое бывало если выполняешь make install, вместо cp /usr/src/linux/arch/xxx/boot/bzImage /boot/vmlinuz-xxx.
Это понятно что надо читать, но не смог лично лицезреть что там выдало ))
make install делал, но initramfs ни где не упоминается в грубе. Значит не используется.
Т. е. скопировать заново прежний конфиг, сделать make oldconfig. Если известно какие опции для работы системы необходимы - то после этого ещё и make menuconfig и убедиться что нужные опции имеют нужные значения.
Да, сейчас сделал make oldconfig, но еще не рубутался. Жду вечера.
P. S. зачем make -j5 bzImage и make -j5 modules?..
Так всегда делал и все у кого спрашивал так советовали.
Это понятно что надо читать, но не смог лично лицезреть что там выдало ))
make install делал, но initramfs ни где не упоминается в грубе. Значит не используется.
Как это не упоминается? grep initramfs /etc/grub.d/10_linux:
"initrd-${version}" "initramfs-${version}.img" \
"initrd-${alt_version}" "initramfs-${alt_version}.img" \
"initramfs-genkernel-${version}" \
"initramfs-genkernel-${alt_version}" \
"initramfs-genkernel-${GENKERNEL_ARCH}-${version}" \
"initramfs-genkernel-${GENKERNEL_ARCH}-${alt_version}"; do
initramfs=
initramfs=`grep CONFIG_INITRAMFS_SOURCE= "${config}" | cut -f2 -d= | tr -d \"`
elif test -z "${initramfs}" ; then
# "UUID=" and "ZFS=" magic is parsed by initrd or initramfs. Since there's
# no initrd or builtin initramfs, it can't work here.
Если его нет в каталоге /boot значит не создается в конфиге...
Так как ядро ругалось у вас про init, значит файл initramfs все же требовался, так как данный скрипт присутствует именно в нем. Конечно можно скомпилировать данный образ непосредственно в ядро тыцтыц
А что, в Gentoo /sbin/init — это скрипт? И почему его обязательно грузить именно из initramfs?
Для этого нужно полный вывод ядра посмотреть на что именно оно ругается, если это не из initramfs, то не может найти root=xxx.
Смотреть выше - это было предположение в рамках телепатии. А так вообще странно что в конфиге прописано root=/dev/sda3 а не root=UUID=XXXXX.