summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAriel D'Alessandro <ariel@vanguardiasur.com.ar>2015-10-14 16:51:26 -0300
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>2015-10-14 23:47:30 +0200
commita6f916430f553efa71dd7092073f5dec32861ba3 (patch)
treeb49237f1f4665034045c869629e651f96833064c
parent653cc68e9fde29baec5017f41c5bfc4f2e210fa4 (diff)
downloadbuildroot-a6f916430f553efa71dd7092073f5dec32861ba3.tar.gz
buildroot-a6f916430f553efa71dd7092073f5dec32861ba3.zip
axfs: add new filesystem type
The Advanced XIP File System is a Linux kernel filesystem driver that enables files to be executed directly from flash or ROM memory rather than being copied into RAM. It has the ability to store individual *pages* in a file uncompressed/XIP or compressed/Demand Paged. This commit only adds support for 'XIP all' mode, so all the files that have the execute attribute set will be XIP'ed. At the moment, the FS is not supported in Linux mainline (v4.3-rc5), so the kernel has to be built with the axfs patches to be able to read it. Patches can be found here: https://github.com/jaredeh/axfs [Thomas: rewrap Config.in help text.] Signed-off-by: Ariel D'Alessandro <ariel@vanguardiasur.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-rw-r--r--fs/Config.in1
-rw-r--r--fs/axfs/Config.in17
-rw-r--r--fs/axfs/axfs.mk13
3 files changed, 31 insertions, 0 deletions
diff --git a/fs/Config.in b/fs/Config.in
index 5853113427..51ccf28169 100644
--- a/fs/Config.in
+++ b/fs/Config.in
@@ -1,5 +1,6 @@
menu "Filesystem images"
+source "fs/axfs/Config.in"
source "fs/cloop/Config.in"
source "fs/cpio/Config.in"
source "fs/cramfs/Config.in"
diff --git a/fs/axfs/Config.in b/fs/axfs/Config.in
new file mode 100644
index 0000000000..eaaf7db8d5
--- /dev/null
+++ b/fs/axfs/Config.in
@@ -0,0 +1,17 @@
+config BR2_TARGET_ROOTFS_AXFS
+ bool "axfs root filesystem"
+ help
+ The Advanced XIP File System is a Linux kernel filesystem
+ driver that enables files to be executed directly from flash
+ or ROM memory rather than being copied into RAM. It has the
+ ability to store individual *pages* in a file
+ uncompressed/XIP or compressed/Demand Paged.
+
+ So far, the only supported mode is 'XIP all', so all the
+ files that have the execute attribute set will be XIP'ed.
+
+ At the moment, the FS is not supported in Linux mainline
+ (v4.3-rc5), so the kernel has to be built with the axfs
+ patches to be able to read it. Patches can be found at:
+
+ https://github.com/jaredeh/axfs
diff --git a/fs/axfs/axfs.mk b/fs/axfs/axfs.mk
new file mode 100644
index 0000000000..05d6e5d395
--- /dev/null
+++ b/fs/axfs/axfs.mk
@@ -0,0 +1,13 @@
+################################################################################
+#
+# Build the axfs root filesystem image
+#
+################################################################################
+
+ROOTFS_AXFS_DEPENDENCIES = host-axfsutils
+
+define ROOTFS_AXFS_CMD
+ $(HOST_DIR)/usr/bin/mkfs.axfs -s -a $(TARGET_DIR) $@
+endef
+
+$(eval $(call ROOTFS_TARGET,axfs))
OpenPOWER on IntegriCloud