30.04.2010

Как аккуратно обновить ядро в Gentoo, используя genkernel

"Когда находишь решение под винду, понимаешь, что она тупая. Когда находишь решение под Линукс, понимаешь, что ты тупой"

Так как я уже пожил пару апдейтов, я докатился до обновления ядра. Оно прошло не с первого раза, но благодаря советам kmeaw я понял, как оно делается.

Вообщем, genkernel не читает конфиги из /usr/src/linux — это раз. Он берёт конфиги из /etc/kernels/, файл конфига называется kernel-config-{arch}-{uname -r будущего ядра} — это два. Если не задано --no-save-config, конфиг предыдущей сборки он сохраняет в /etc/kernels/kernel-config-{arch}-{uname -r собранного ядра}. На основании этого создаётся последовательность обновления ядра (все действия выполняются из-под пользователя root):

# eselect kernel list
# eselect kernel set {номер нового ядра}
# cp /etc/kernels//etc/kernels/kernel-config-{arch}-{uname -r текущего ядря} /etc/kernels/kernel-config-{arch}-{uname -r нового ядря}
# genkernel [опции] all
# emerge -avb некоторые_сторонние модули (например, vmware-modules или nvidia-drivers)
# nano /boot/grub/menu.lst (Добавляем строчку с новым ядром (genkernel'у я такое доверять не решился). Не забудьте примонтировать /boot, если он на отдельном разделе!)
# reboot
# echo "Profit!"

3 комментария:

  1. cp /usr/src/linux/.confid /usr/src/linux-2.6.**-gentoo/ && cd /usr/src/linux-2.6.**-gentoo/ && make oldconfig && make modules_install && make install && eselect kernel set linux-2.6.**-gentoo && module-rebuild rebuild && reboot =)
    ZogG

    ОтветитьУдалить
  2. Я так делаю: rm linux, ln -s linux-2.6.xx-gentoo-rx linux, cd linux, cp ../linux-2.6.xx-1/.config .config, make oldconfig, make menuconfig, cp .config .config2, genkernel --menuconfig all, в нём загрузить профиль .config2, всё.

    ОтветитьУдалить
    Ответы
    1. Спасибо, сработало.этот вариант и мне подошел

      Удалить