diff --git a/Config.in b/Config.in index 606cb4a0e9..6f2cdcc2d0 100644 --- a/Config.in +++ b/Config.in @@ -41,6 +41,13 @@ menu "Target Images" help Build a compressed tar archive of the the root filesystem + config TARGET_ROOTFS_CPIOGZ + bool "cpiogz" + default y if USES_TGZ + depends !TARGET_ROOTFS_INITRAMFS + help + Build a compressed cpio archive of the the root filesystem + config TARGET_ROOTFS_EXT2FS bool "ext2" default y if USES_EXT2 diff --git a/include/image.mk b/include/image.mk index 47f6714d13..d7e4ccd36b 100644 --- a/include/image.mk +++ b/include/image.mk @@ -64,6 +64,12 @@ ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),y) $(TAR) -zcf $(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-rootfs.tgz --owner=root --group=root -C $(TARGET_DIR)/ . endef endif + + ifeq ($(CONFIG_TARGET_ROOTFS_CPIOGZ),y) + define Image/mkfs/cpiogz + ( cd $(BUILD_DIR)/root; find . | cpio -o -H newc | gzip -9 >$(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-rootfs.cpio.gz ) + endef + endif else define Image/BuildKernel cp $(KDIR)/vmlinux.elf $(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-vmlinux.elf @@ -118,6 +124,7 @@ ifneq ($(IB),1) $(call Image/mkfs/jffs2) $(call Image/mkfs/squashfs) $(call Image/mkfs/tgz) + $(call Image/mkfs/cpiogz) $(call Image/mkfs/ext2) $(call Image/mkfs/iso) else @@ -126,6 +133,7 @@ else $(call Image/mkfs/jffs2) $(call Image/mkfs/squashfs) $(call Image/mkfs/tgz) + $(call Image/mkfs/cpiogz) $(call Image/mkfs/ext2) $(call Image/mkfs/iso) endif