diff --git a/Config.in b/Config.in index 606cb4a0e952da1f863411a5cb464db3612b9eb4..6f2cdcc2d0b38c440b94011668e68c733a7c7448 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 47f6714d1305fd72c3bf334079b3ba6786fe99df..d7e4ccd36baa734555b34fa0004b3402083e8b7c 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