summaryrefslogtreecommitdiff
path: root/fs/cpio
diff options
context:
space:
mode:
Diffstat (limited to 'fs/cpio')
-rw-r--r--fs/cpio/Config.in34
-rw-r--r--fs/cpio/cpio.mk18
2 files changed, 52 insertions, 0 deletions
diff --git a/fs/cpio/Config.in b/fs/cpio/Config.in
new file mode 100644
index 000000000..374cfe0cd
--- /dev/null
+++ b/fs/cpio/Config.in
@@ -0,0 +1,34 @@
+config BR2_TARGET_ROOTFS_CPIO
+ bool "cpio the root filesystem"
+ help
+ Build a cpio archive of the root filesystem
+
+choice
+ prompt "Compression method"
+ default BR2_TARGET_ROOTFS_CPIO_NONE
+ depends on BR2_TARGET_ROOTFS_CPIO
+ help
+ Select compressor for cpio filesystem of the root filesystem
+
+config BR2_TARGET_ROOTFS_CPIO_NONE
+ bool "no compression"
+ help
+ Do not compress the cpio filesystem.
+
+config BR2_TARGET_ROOTFS_CPIO_GZIP
+ bool "gzip"
+ help
+ Do compress the cpio filesystem with gzip.
+
+config BR2_TARGET_ROOTFS_CPIO_BZIP2
+ bool "bzip2"
+ help
+ Do compress the cpio filesystem with bzip2.
+
+config BR2_TARGET_ROOTFS_CPIO_LZMA
+ bool "lzma"
+ help
+ Do compress the cpio filesystem with lzma.
+
+endchoice
+
diff --git a/fs/cpio/cpio.mk b/fs/cpio/cpio.mk
new file mode 100644
index 000000000..ab7d54618
--- /dev/null
+++ b/fs/cpio/cpio.mk
@@ -0,0 +1,18 @@
+#############################################################
+#
+# cpio to archive target filesystem
+#
+#############################################################
+
+define ROOTFS_CPIO_INIT_SYMLINK
+ rm -f $(TARGET_DIR)/init
+ ln -s sbin/init $(TARGET_DIR)/init
+endef
+
+ROOTFS_CPIO_PRE_GEN_HOOKS += ROOTFS_CPIO_INIT_SYMLINK
+
+define ROOTFS_CPIO_CMD
+ cd $(TARGET_DIR) && find . | cpio --quiet -o -H newc > $$@
+endef
+
+$(eval $(call ROOTFS_TARGET,cpio)) \ No newline at end of file