summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Config.in7
-rw-r--r--include/image.mk8
2 files changed, 15 insertions, 0 deletions
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