summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mk/image.mk13
-rw-r--r--mk/rootfs.mk1
-rw-r--r--target/config/Config.in10
-rw-r--r--target/linux/config/Config.in.block4
-rw-r--r--target/linux/config/Config.in.fs6
-rw-r--r--target/x86/Makefile4
-rw-r--r--tools/cdrtools/Makefile2
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