Вчера/сегодня пытаюсь обновить ядро на Ubuntu 10.10. Цель - исследовательская, просто понять как это делается.
На диске стоит только Ubuntu, есть ntfs-раздел, но он без винды - на нем просто несколько папок с win-дистрибутивами.
На всякий случай вот разметка:
Устр-во Загр Начало Конец Блоки Id Система
/dev/sda1 * 1 623 4999168 82 Linux своп / Solaris
Раздел 1 не заканчивается на границе цилиндра.
/dev/sda2 623 38913 307567457+ 5 Расширенный
/dev/sda5 26135 38913 102647286 7 HPFS/NTFS
/dev/sda6 623 3113 19998720 83 Linux
/dev/sda7 3113 26134 184920064 83 Linux
Обновление ядра делал по такой схеме:
1.Качаем новое ядро с
www.kernel.org и распаковываем
2.В терминале переходим в папку с распакованным ядром
3. Конфигурируем через menuconfig:
4. Собираем ядро
make dep
make bzImage
make modules
4.Устанавливаем новое ядро
make modules_install
make install
5. Обновляем загрузчик
update-grub
Вроде как и ядро, и модули скомпилировались/инсталировались без ошибок, но на последнем пункте меня ждала засада:
Перезагружаюсь, выполняю uname -r, и консоль мне выдает что я использую старое ядро 2.6.35-28-generic (а ставил я 2.6.38.4).
Тогда я стал разбираться с GRUP, почитал вот этот мануал -
http://ru.wikibooks.org/wiki/Grub_2 , а также некоторое множество других.
Вроде все понятно - grub.cfg не трогать, а править etc/default/grub, затем update-grub и пользуемся. Только вот при перезагрузке
как не появлялось у меня grub-меню, так и не появляется... Не знаю даже уже куда дальше рыть. Прошу помощи. На всякий случай
вот мой grub-файл:
GRUB_DEFAULT=0
#GRUB_HIDDEN_TIMEOUT=30
GRUB_HIDDEN_TIMEOUT_QUIET=false
GRUB_TIMEOUT=30
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
остальные строки не привожу, т.к. закомментированы.. И еще - может поможет. Ради интереса открыл /boot/grub/grub.cfg - так вот там упоминания про версию ядра 2.6.38.4 вообще нет, хотя команда update-grub выдает такое эхо:
Searching for GRUB installation directory ... found: /boot/grub
Searching for default file ... found: /boot/grub/default
Testing for an existing GRUB menu.lst file ... found: /boot/grub/menu.lst
Searching for splash image ... none found, skipping ...
Found kernel: /boot/vmlinuz-2.6.38.4.old
Found kernel: /boot/vmlinuz-2.6.38.4
Found kernel: /boot/vmlinuz-2.6.35-28-generic
Found kernel: /boot/vmlinuz-2.6.35-22-generic
Found GRUB 2: /boot/grub/core.img
Found kernel: /boot/memtest86+.bin
Updating /boot/grub/menu.lst ... done
На всякий случай опять-же: строчка про 2.6.38.4.old появилось потому-что когда уже все попытки вызвать grub-меню потерпели фиаско, я попробовал еще раз проинсталлировать ядро через make install...