Итак, я следую этому руководству, чтобы скомпилировать собственное ядро - http://library.linode.com/linode-platform/custom-instances/pv-grub-custom-compiled-kernel#sph_compile-and-install-the-kernel
Пока все хорошо, но я попал в небольшую преграду с make install
.
AS arch/x86/boot/header.o
LD arch/x86/boot/setup.elf
OBJCOPY arch/x86/boot/setup.bin
BUILD arch/x86/boot/bzImage
Setup is 15328 bytes (padded to 15360 bytes).
System is 5097 kB
CRC c20c9369
Kernel: arch/x86/boot/bzImage is ready (#2)
[root@li280-195 linux-3.3.3]# make -j3 modules
make[1]: Nothing to be done for `all'.
CHK include/linux/version.h
CHK include/generated/utsrelease.h
CALL scripts/checksyscalls.sh
CC [M] drivers/scsi/scsi_wait_scan.o
Building modules, stage 2.
MODPOST 1 modules
CC drivers/scsi/scsi_wait_scan.mod.o
LD [M] drivers/scsi/scsi_wait_scan.ko
[root@li280-195 linux-3.3.3]# make
make[1]: Nothing to be done for `all'.
CHK include/linux/version.h
CHK include/generated/utsrelease.h
CALL scripts/checksyscalls.sh
CHK include/generated/compile.h
CHK kernel/config_data.h
Kernel: arch/x86/boot/bzImage is ready (#2)
Building modules, stage 2.
MODPOST 1 modules
[root@li280-195 linux-3.3.3]# make install
sh /root/build/linux-3.3.3/arch/x86/boot/install.sh 3.3.3 arch/x86/boot/bzImage \
System.map "/boot"
Cannot find LILO.
Я это понимаю make install
по умолчанию ищет LILO
и я знаю LILO
это загрузчик. Но я не хочу использовать LILO
но вместо этого я забочусь только об использовании grub
.
Что мне теперь делать, чтобы иметь make install
работать правильно?
ОБНОВИТЬ
В моем /root/build/linux-3.3.3/arch/x86/install.sh
файла последние 10 строк:
if [ -x /sbin/lilo ]; then
/sbin/lilo
elif [ -x /etc/lilo/install ]; then
/etc/lilo/install
else
sync
echo "Cannot find LILO."
fi
Так или иначе, мне нужно отредактировать мой install.sh
использовать grub
вместо. Какие-либо предложения?
Для Linode с pv-grub вы можете игнорировать сообщение о LILO, потому что LILO не (и не может быть) использован на Linode. Образ ядра был скопирован в /boot/vmlinuz
с этой точки зрения.
По умолчанию, make install
обновляет данные LILO, если он установлен. Это делается для удобства, потому что LILO ничего не знает о файловых системах и должен полагаться на номера блоков, чтобы найти образ ядра.
Очевидно, ваш установочный скрипт LILO
как требование. Почему не просто make
а затем скопируйте вывод в /boot
и возиться с grub
рукой?