其实这个很简单,只要在内核源代码树下执行 make isoimage就可以了。 但是需要记住一点,把ldlinux.c32也拷贝过去。这个是在 IOSLINUX 提到的。 对于5.00版本以上的,就要把ldlinux.32拷贝过去。否则就会在启动中报找不到这个文件。
所以相应的把编译稍稍改变一下。
diff --git a/arch/x86/boot/Makefile b/arch/x86/boot/Makefileindex be8e688..72510fe 100644--- a/arch/x86/boot/Makefile+++ b/arch/x86/boot/Makefile@@ -115,7 +115,7 @@ $(obj)/comPRessed/vmlinux: FORCE FDARGS = # Set this if you want an initrd included with the # bzdisk/fdimage/isoimage kernel-FDINITRD =+FDINITRD = /boot/initrd.img-4.7.0+ image_cmdline = default linux $(FDARGS) $(if $(FDINITRD),initrd=initrd.img,)@@ -174,11 +174,12 @@ isoimage: $(obj)/bzImage if [ -f '$(FDINITRD)' ] ; then / cp '$(FDINITRD)' $(obj)/isoimage/initrd.img ; / fi mkisofs -J -r -o $(obj)/image.iso -b isolinux.bin -c boot.cat / -no-emul-boot -boot-load-size 4 -boot-info-table / $(obj)/isoimage isohybrid $(obj)/image.iso 2>/dev/null || true rm -rf $(obj)/isoimage bzlilo: $(obj)/bzImage if [ -f $(INSTALL_PATH)/vmlinuz ]; then mv $(INSTALL_PATH)/vmlinuz $(INSTALL_PATH)/vmlinuz.old; fi改动了两个地方: 添加了initrd。 看到这么一个补丁patch。
好了,这里就和普通的调试一样了。
具体的调试,会在另一篇文章中细说。
新闻热点
疑难解答