因此,我按照本指南编译我的自定义内核 -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
。有什么建议吗?
答案1
/boot/vmlinuz
对于使用 pv-grub 的 Linode,您可以忽略有关 LILO 的消息,因为 LILO 未在 Linode 上使用(也不能使用)。此时内核映像已复制到其中。
默认情况下,make install
如果已安装 LILO,则更新其数据。这样做是为了方便,因为 LILO 不了解文件系统,必须依靠块号来定位内核映像。
答案2
显然,您的安装脚本有LILO
要求。为什么不简单地make
将输出复制到/boot
并手动摆弄呢grub
?
答案3
出现此消息的原因是您在以下位置没有 installkernel 脚本/sbin/installkernel
:
if [ -x ~/bin/${INSTALLKERNEL} ]; then exec ~/bin/${INSTALLKERNEL} "$@"; fi
if [ -x /sbin/${INSTALLKERNEL} ]; then exec /sbin/${INSTALLKERNEL} "$@"; fi
您可以编写自己的脚本并将其放在/sbin/installkernel
,或者使用其他人编写的脚本