From 0e14700702f06f09f25bc861e2642a6d42da982b Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Sun, 15 Dec 2013 14:09:00 +0100 Subject: need to merge third patch from Phil manually. disable on non Linux hosts --- mk/image.mk | 13 +++++++++++++ mk/rootfs.mk | 1 + target/config/Config.in | 10 ++++++++++ target/linux/config/Config.in.block | 4 ++++ target/linux/config/Config.in.fs | 6 +++++- target/x86/Makefile | 4 ++++ tools/cdrtools/Makefile | 2 +- 7 files changed, 38 insertions(+), 2 deletions(-) diff --git a/mk/image.mk b/mk/image.mk index 2273b4af7..7c519d7f5 100644 --- a/mk/image.mk +++ b/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)-* diff --git a/mk/rootfs.mk b/mk/rootfs.mk index 283c87aa7..18d4f83dc 100644 --- a/mk/rootfs.mk +++ b/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 diff --git a/target/config/Config.in b/target/config/Config.in index f551e21a0..7ddc7b83c 100644 --- a/target/config/Config.in +++ b/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 diff --git a/target/linux/config/Config.in.block b/target/linux/config/Config.in.block index bbd9ce745..fb5bf080f 100644 --- a/target/linux/config/Config.in.block +++ b/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 diff --git a/target/linux/config/Config.in.fs b/target/linux/config/Config.in.fs index ab048805e..9bdc6b9e5 100644 --- a/target/linux/config/Config.in.fs +++ b/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 diff --git a/target/x86/Makefile b/target/x86/Makefile index a3dc8ae70..87d3b5806 100644 --- a/target/x86/Makefile +++ b/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 diff --git a/tools/cdrtools/Makefile b/tools/cdrtools/Makefile index 6b54d0eac..965e3553d 100644 --- a/tools/cdrtools/Makefile +++ b/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 -- cgit v1.2.3