From 58b2f95a8711a73dd7c031f087725476a09769db Mon Sep 17 00:00:00 2001 From: blogic Date: Mon, 8 Oct 2007 18:53:19 +0000 Subject: [PATCH] added generation of x86 livecds, from #2391 git-svn-id: svn://svn.openwrt.org/openwrt/trunk@9191 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- Config.in | 7 +++++++ include/image.mk | 8 ++++++++ target/linux/x86/Makefile | 4 +++- target/linux/x86/image/Config.in | 2 +- target/linux/x86/image/Makefile | 15 +++++++++++++++ 5 files changed, 34 insertions(+), 2 deletions(-) diff --git a/Config.in b/Config.in index 34d82492e..df331fc2b 100644 --- a/Config.in +++ b/Config.in @@ -48,6 +48,13 @@ menu "Target Images" help Ext2 file system with some free space for uml images + config TARGET_ROOTFS_ISO + bool "iso" + default n + depends TARGET_ROOTFS_INITRAMFS && TARGET_x86 + help + Create some bootable ISO image + comment "Image Options" source "target/linux/*/image/Config.in" diff --git a/include/image.mk b/include/image.mk index 68ce0480d..fea7d1ce6 100644 --- a/include/image.mk +++ b/include/image.mk @@ -81,6 +81,12 @@ ifeq ($(CONFIG_TARGET_ROOTFS_EXT2FS),y) endef endif +ifeq ($(CONFIG_TARGET_ROOTFS_ISO),y) + define Image/mkfs/iso + $(call Image/Build,iso) + endef +endif + define Image/mkfs/prepare/default find $(TARGET_DIR) -type f -not -perm +0100 -not -name 'ssh_host*' | $(XARGS) chmod 0644 @@ -113,6 +119,7 @@ ifneq ($(IB),1) $(call Image/mkfs/squashfs) $(call Image/mkfs/tgz) $(call Image/mkfs/ext2) + $(call Image/mkfs/iso) else install: compile install-targets $(call Image/BuildKernel) @@ -120,6 +127,7 @@ else $(call Image/mkfs/squashfs) $(call Image/mkfs/tgz) $(call Image/mkfs/ext2) + $(call Image/mkfs/iso) endif ifneq ($(IB),1) diff --git a/target/linux/x86/Makefile b/target/linux/x86/Makefile index 27987a41b..ddb50e640 100644 --- a/target/linux/x86/Makefile +++ b/target/linux/x86/Makefile @@ -19,4 +19,6 @@ DEFAULT_PACKAGES += kmod-natsemi kmod-ne2k-pci $(eval $(call Target,generic)) $(eval $(call Target,mediacenter)) $(eval $(call BuildTarget)) - +$(eval $(call RequireCommand,mkisofs, \ + Please install mkisofs. \ +)) diff --git a/target/linux/x86/image/Config.in b/target/linux/x86/image/Config.in index a60249685..4a36f6312 100644 --- a/target/linux/x86/image/Config.in +++ b/target/linux/x86/image/Config.in @@ -1,7 +1,7 @@ config X86_GRUB_IMAGES bool "Build GRUB images (Linux x86 or x86_64 host only)" depends TARGET_x86 - depends TARGET_ROOTFS_EXT2FS || TARGET_ROOTFS_JFFS2 || TARGET_ROOTFS_SQUASHFS + depends TARGET_ROOTFS_EXT2FS || TARGET_ROOTFS_JFFS2 || TARGET_ROOTFS_SQUASHFS || TARGET_ROOTFS_ISO default y config X86_GRUB_IMAGES_PAD diff --git a/target/linux/x86/image/Makefile b/target/linux/x86/image/Makefile index f19e6b3f3..d470fe1c5 100644 --- a/target/linux/x86/image/Makefile +++ b/target/linux/x86/image/Makefile @@ -74,6 +74,20 @@ define Image/Build/squashfs $(call prepare_generic_squashfs,$(KDIR)/root.squashfs) endef +define Image/Build/iso + $(CP) \ + $(STAGING_DIR_HOST)/usr/lib/grub/i386-pc/stage2_eltorito \ + $(KDIR)/root.grub/boot/grub/stage2_eltorito + sed -i \ + -e 's#@CMDLINE@#$(strip $(call Image/cmdline/$(1))) $(BOOTOPTS)#g' \ + -e 's#@BAUDRATE@#$(CONFIG_X86_GRUB_BAUDRATE)#g' \ + -e 's#(hd0,0)#(cd)#g' \ + $(KDIR)/root.grub/boot/grub/menu.lst + $(CP) $(KDIR)/bzImage $(KDIR)/root.grub/boot/vmlinuz + mkisofs -R -b boot/grub/stage2_eltorito -no-emul-boot -boot-load-size 4 -boot-info-table \ + -o $(KDIR)/root.iso $(KDIR)/root.grub +endef + define Image/BuildKernel $(CP) $(KDIR)/bzImage $(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-vmlinuz endef @@ -86,3 +100,4 @@ define Image/Build endef $(eval $(call BuildImage)) + -- 2.35.1