summaryrefslogtreecommitdiffstats
path: root/fs/cpio
diff options
context:
space:
mode:
Diffstat (limited to 'fs/cpio')
-rw-r--r--fs/cpio/Config.in40
-rw-r--r--fs/cpio/cpioroot.mk18
2 files changed, 58 insertions, 0 deletions
diff --git a/fs/cpio/Config.in b/fs/cpio/Config.in
new file mode 100644
index 000000000..02fd00d34
--- /dev/null
+++ b/fs/cpio/Config.in
@@ -0,0 +1,40 @@
+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.
+ Note that you either have to have gzip installed on your host
+ or select to build a gzip for your host. See the packages submenu.
+
+config BR2_TARGET_ROOTFS_CPIO_BZIP2
+ bool "bzip2"
+ help
+ Do compress the cpio filesystem with bzip2.
+ Note that you either have to have bzip2 installed on your host
+ or select to build a bzip2 for your host. See the packages submenu.
+
+config BR2_TARGET_ROOTFS_CPIO_LZMA
+ bool "lzma"
+ help
+ Do compress the cpio filesystem with lzma.
+ Note that you either have to have lzma installed on your host
+ or select to build a lzma for your host. See the packages submenu.
+
+endchoice
+
diff --git a/fs/cpio/cpioroot.mk b/fs/cpio/cpioroot.mk
new file mode 100644
index 000000000..ab7d54618
--- /dev/null
+++ b/fs/cpio/cpioroot.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