我正在构建内核(3.5)从/media/src_prog/linux-3.5/
到/media/sda5_k/
。我已经完成了以下步骤:
make O=/media/sda5_k/ menuconfig
make -j2 O=/media/sda5_k/
make O=/media/sda5_k/ modules_install
当谈到make O=/media/sda5_k/ install
所有我得到的是:
[root@localhost linux-3.5]# make O=/media/sda5_k/ install
sh /media/src_prog/linux-3.5/arch/x86/boot/install.sh 3.5.0 arch/x86/boot/bzImage \
System.map "/boot"
Cannot find LILO.
[root@localhost linux-3.5]#
我也手动尝试过:
cp /media/sda5_k/arch/x86/bzImage /media/sda5_k/boot/
cp /media/sda5_k/arch/x86/System.map /media/sda5_k/boot/
并重复了make O=/media/sda5_k/ install
但它不起作用。
我使用 Arch 进行编译,引导过程是使用 Ubuntu 的 GRUB2 完成的。
这一步我该怎么办?
编辑:
磁盘驱动器:
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 65538047 32768000 83 Linux
/dev/sda2 65538048 98306047 16384000 83 Linux
/dev/sda3 98306048 122882047 12288000 83 Linux
/dev/sda4 122882048 1953523711 915320832 5 Extended
/dev/sda5 122884096 139268095 8192000 83 Linux
/dev/sda6 139270144 204806143 32768000 83 Linux
/dev/sda7 204808192 229384191 12288000 83 Linux
/dev/sda8 229386240 245770239 8192000 83 Linux
/dev/sda9 245772288 270348287 12288000 83 Linux
/dev/sda10 270350336 319502335 24576000 83 Linux
/dev/sda11 450578432 929523711 239472640 83 Linux
/dev/sda12 929525760 1953523711 511998976 83 Linux
/dev/sda13 319504384 450576383 65536000 83 Linux
df:
Filesystem 1K-blocks Used Available Use% Mounted on
rootfs 12245648 9913616 1717632 86% /
dev 1024756 0 1024756 0% /dev
run 1027708 328 1027380 1% /run
/dev/sda3 12245648 9913616 1717632 86% /
shm 1027708 112 1027596 1% /dev/shm
tmpfs 1027708 68 1027640 1% /tmp
/dev/sda7 12245648 1100504 10530744 10% /media/src_prog
/dev/sda5 8165804 436548 7319656 6% /media/sda5_k
/媒体/src_prog/-> 我保存源文件的地方
/媒体/sda5_k/-> 我想把 Linux 内核放在哪里
/dev/sda1-> 乌班图
/dev/sda2-> 旧的未使用的 Ubuntu
/dev/sda3-> 拱门(此处:-D)
/dev/sda1/启动-> 引导(Ubuntu 的)绑定到 MBR 的那个。
答案1
我还没有检查这是否仍然适用于 3.5,但我认为内核 makefile 只支持 Lilo,而不支持 Grub。一旦您手动复制了该bzImage
文件以及 initrd 或 initramfs(如果您使用的是 initrd 或 initramfs),您需要通知 Grub 新内核。通过简单的设置,只需运行即可update-grub
。由于您使用另一个发行版的引导加载程序来引导一个发行版的内核,因此这可能不起作用,因此您可能需要手动编辑 Grub 配置文件。这/boot/grub/menu.lst
适用于 Grub 旧版 (Grub 0.9x) 和/boot/grub.grub.cfg
Grub2 (Grub 1.9x)。
对于 Grub2,您需要一个类似的条目
menuentry "Homemade 3.5 kernel" {
insmod ext2
set root='(hd0,msdos5)'
linux /boot/bzImage root=/dev/sda3 ro
}
答案2
我认为你不需要make install
在这里启动,只需复制生成的 bzImage、System.map,然后 domake modules_install
就会为你工作。
你似乎使用的是 Arch Linux,为什么不选择 abs 呢?例如,最新的 3.5 内核正在测试目录中,因此如果您这样做abs testings/linux
,它应该为您下载 PKGBUILD 文件,并且您可以makepkg
构建一个包