Как собрать ядро ​​mainline и показать его на GRUB?

После успешной компиляции и сборки моего основного ядра (2.6.32.25) под моим Ubuntu 10.04 с этими заголовками мне стало интересно: как сделать это ядро ​​при запуске, чтобы я мог выбрать, какое из них загрузить?

У меня установлен GRUB2 (grup-install -v говорит: 'GNU GRUB 0.97').

Я попробовал это:

sudo make install

И получил:

luky@ubuntu1004:/usr/src/linux-2.6.32.25$ sudo make install
sh /usr/src/linux-2.6.32.25/arch/x86/boot/install.sh 2.6.32.25 arch/x86/boot/bzImage \
  System.map "/boot"

Вот моя папка /boot:

luky@ubuntu1004:/boot$ ls
abi-2.6.32-24-generic         System.map-2.6.32-24-generic
config-2.6.32-24-generic      System.map-2.6.32.25
config-2.6.32.25              vmcoreinfo-2.6.32-24-generic
grub                          vmlinuz-2.6.32-24-generic
initrd.img-2.6.32-24-generic  vmlinuz-2.6.32.25
memtest86+.bin

Я не хотел бы вручную изменять конфигурационные файлы GRUB.

4 ответа

Решение

Ну, после всего, что решило мою проблему, было: установить пакет grub-pc. Это заменит стандартную версию Ubuntu 10.04.

Я на ПК, так что, думаю, все в порядке.

Ядра из этого места предназначены для установки, а не для сборки самостоятельно. У них уже есть все необходимое в их упаковке, чтобы появиться в grub и т. Д.

Чтобы построить основное ядро ​​и все еще получить правильное .deb пакет, см. инструкции здесь: https://wiki.ubuntu.com/KernelTeam/GitKernelBuild

Это поможет вам выполнить предварительные требования для сборки, как перенести настройки во время сборки и сгенерировать пакет. Если вам не нужно менять конфигурации, см. http://kernel.ubuntu.com/~kernel-ppa/mainline/daily/ для предварительно собранных основных ядер.

Я предполагаю, что у вас установлен grub2, потому что вы используете 10.04, а не grub legacy. Вам нужно будет обновить grub, следуя инструкциям здесь: https://help.ubuntu.com/community/Grub2

Это должно быть просто: sudo update-grub

Это должно проверить наличие новых ядер и создать записи grub, с которых вы сможете загружаться.

Чтобы собрать и установить ядро ​​в Ubuntu или любой системе, основанной на Debian, лучше использовать makepkg вместо обычного make, make modules_install....

makepkg --initrd linux-image linux-headers предупреждение: это может привести к ошибке разрешения несколько раз

Это создаст пару файлов.deb в родительском каталоге, которые можно установить, как и любой другой файл.deb. Не беспокойтесь о grub, он настроится сам: если вы используете burg, вы должны запустить "sudo update-burg". Это также убедитесь, что файл initrd создан правильно

Другие вопросы по тегам