Browse Source

need to merge third patch from Phil manually. disable on non Linux hosts

Waldemar Brodkorb 10 years ago
parent
commit
0e14700702

+ 13 - 0
mk/image.mk

@@ -121,12 +121,14 @@ INITRAMFS=		${ADK_TARGET_SYSTEM}-$(CPU_ARCH)-${ADK_TARGET_LIBC}-${ADK_TARGET_FS}
 ROOTFSSQUASHFS=		${ADK_TARGET_SYSTEM}-$(CPU_ARCH)-${ADK_TARGET_LIBC}-${ADK_TARGET_FS}.img
 ROOTFSTARBALL=		${ADK_TARGET_SYSTEM}-$(CPU_ARCH)-${ADK_TARGET_LIBC}-${ADK_TARGET_FS}+kernel.tar.gz
 ROOTFSUSERTARBALL=	${ADK_TARGET_SYSTEM}-$(CPU_ARCH)-${ADK_TARGET_LIBC}-${ADK_TARGET_FS}.tar.gz
+ROOTFSISO=		${ADK_TARGET_SYSTEM}-$(CPU_ARCH)-${ADK_TARGET_LIBC}-${ADK_TARGET_FS}.iso
 else
 TARGET_KERNEL=		${ADK_TARGET_SYSTEM}-${ADK_TARGET_FS}-kernel
 INITRAMFS=		${ADK_TARGET_SYSTEM}-${ADK_TARGET_LIBC}-${ADK_TARGET_FS}
 ROOTFSSQUASHFS=		${ADK_TARGET_SYSTEM}-${ADK_TARGET_LIBC}-${ADK_TARGET_FS}.img
 ROOTFSTARBALL=		${ADK_TARGET_SYSTEM}-${ADK_TARGET_LIBC}-${ADK_TARGET_FS}+kernel.tar.gz
 ROOTFSUSERTARBALL=	${ADK_TARGET_SYSTEM}-${ADK_TARGET_LIBC}-${ADK_TARGET_FS}.tar.gz
+ROOTFSISO=		${ADK_TARGET_SYSTEM}-${ADK_TARGET_LIBC}-${ADK_TARGET_FS}.iso
 endif
 
 ${BIN_DIR}/${ROOTFSTARBALL}: ${TARGET_DIR} kernel-package
@@ -197,5 +199,16 @@ endif
 	$(MAKE) -C $(LINUX_DIR) V=1 CROSS_COMPILE="$(TARGET_CROSS)" \
 		ARCH=$(ARCH) CC="$(TARGET_CC)" -j${ADK_MAKE_JOBS} $(ADK_TARGET_KERNEL) $(MAKE_TRACE)
 
+${BIN_DIR}/${ROOTFSISO}: ${TARGET_DIR} kernel-package
+	mkdir -p ${TARGET_DIR}/boot/syslinux
+	cp ${STAGING_HOST_DIR}/usr/share/syslinux/{isolinux.bin,ldlinux.c32} \
+		${TARGET_DIR}/boot/syslinux
+	echo 'DEFAULT /boot/kernel root=/dev/sr0 init=/init' > \
+		${TARGET_DIR}/boot/syslinux/isolinux.cfg
+	${TOOLS_DIR}/mkisofs -R -uid 0 -gid 0 -o $@ \
+		-b boot/syslinux/isolinux.bin \
+		-c boot/syslinux/boot.cat -no-emul-boot \
+		-boot-load-size 4 -boot-info-table ${TARGET_DIR}
+
 imageclean:
 	rm -f $(BIN_DIR)/$(ADK_TARGET_SYSTEM)-* ${BUILD_DIR}/$(ADK_TARGET_SYSTEM)-*

+ 1 - 0
mk/rootfs.mk

@@ -52,5 +52,6 @@ $(eval $(call rootfs_template,squashfs,SQUASHFS,$(ROOTFS)))
 $(eval $(call rootfs_template,yaffs,YAFFS,$(MTDDEV) panic=3))
 $(eval $(call rootfs_template,nfsroot,NFSROOT,root=/dev/nfs ip=dhcp init=/init))
 $(eval $(call rootfs_template,encrypted,ENCRYPTED))
+$(eval $(call rootfs_template,iso,ISO))
 
 export ADK_TARGET_FS

+ 10 - 0
target/config/Config.in

@@ -748,6 +748,16 @@ config ADK_TARGET_ROOTFS_MMC
 	  Use this option if you have a MMC/SDCARD based system.
 	  (ext2 filesystem is used.)
 
+config ADK_TARGET_ROOTFS_ISO
+	bool "ISO image"
+	select ADK_KERNEL_ISO9660_FS
+	select ADK_KERNEL_JOLIET
+	select ADK_KERNEL_SCSI
+	select ADK_KERNEL_BLK_DEV_SR
+	depends on ADK_HOST_LINUX
+	help
+	  Use this option to create a bootable ISO image.
+
 config ADK_TARGET_ROOTFS_ARCHIVE
 	bool "Archive usable for different filesystems"
 	select ADK_KERNEL_EXT2_FS if ADK_HARDWARE_QEMU

+ 4 - 0
target/linux/config/Config.in.block

@@ -28,6 +28,9 @@ config ADK_KERNEL_SCSI
 config ADK_KERNEL_BLK_DEV_SD
 	boolean
 
+config ADK_KERNEL_BLK_DEV_SR
+	boolean
+
 config ADK_KERNEL_ISCSI_TCP
 	boolean
 
@@ -324,6 +327,7 @@ config ADK_KPACKAGE_KMOD_BLK_DEV_SD
 config ADK_KPACKAGE_KMOD_BLK_DEV_SR
 	prompt "kmod-scsi-cdrom................... SCSI CDROM support"
 	depends on !ADK_KERNEL_SCSI
+	depends on !ADK_KERNEL_BLK_DEV_SR
 	depends on ADK_KPACKAGE_KMOD_SCSI
 	tristate
 	help

+ 5 - 1
target/linux/config/Config.in.fs

@@ -227,7 +227,11 @@ config ADK_KPACKAGE_KMOD_FUSE_FS
 	  fuse-utils.
 
 config ADK_KERNEL_JOLIET
-	bool 
+	boolean 
+	default n
+
+config ADK_KERNEL_ISO9660_FS
+	boolean
 	default n
 
 config ADK_KPACKAGE_KMOD_ISO9660_FS

+ 4 - 0
target/x86/Makefile

@@ -65,4 +65,8 @@ ifeq ($(ADK_HARDWARE_QEMU),y)
 	@echo "Start qemu with following command line:"
 	@echo 'qemu-system-i386 -nographic -net user,hostfwd=tcp::2222-:22 -net nic,model=e1000 -kernel $(BIN_DIR)/$(TARGET_KERNEL)'
 endif
+ifeq (${ADK_TARGET_FS},iso)
+imageinstall: ${BIN_DIR}/${ROOTFSISO}
+	@echo 'ISO image is at $<'
+endif
 endif

+ 1 - 1
tools/cdrtools/Makefile

@@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk
 PKG_NAME:=		cdrtools
 PKG_VERSION:=		3.00
 PKG_RELEASE:=		1
-PKG_MD5SUM:=		b7b6361bcce2cedff1ae437fadafe53b
+PKG_MD5SUM:=		bb21cefefcfbb76cf249120e8978ffdd
 PKG_SITES:=		ftp://ftp.berlios.de/pub/cdrecord/
 
 include ../rules.mk