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>
This commit is contained in:
Ariel D'Alessandro 2015-10-14 16:51:26 -03:00 committed by Thomas Petazzoni
parent 653cc68e9f
commit a6f916430f
3 changed files with 31 additions and 0 deletions

View File

@ -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"

17
fs/axfs/Config.in Normal file
View File

@ -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

13
fs/axfs/axfs.mk Normal file
View File

@ -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))