* [Buildroot] [PATCH v3 0/2] Add support for AXFS filesystem type
@ 2015-10-14 19:51 Ariel D'Alessandro
2015-10-14 19:51 ` [Buildroot] [PATCH v3 1/2] axfsutils: add new package Ariel D'Alessandro
2015-10-14 19:51 ` [Buildroot] [PATCH v3 2/2] axfs: add new filesystem type Ariel D'Alessandro
0 siblings, 2 replies; 5+ messages in thread
From: Ariel D'Alessandro @ 2015-10-14 19:51 UTC (permalink / raw)
To: buildroot
This patch series adds support for using the AXFS 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.
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
NOTE: adding this as a kernel extension is planned.
The mkfs.axfs utility is used to create an AXFS file system image. It
can receive an additional argument using the -i flag which points to a
CSV file that indicates which pages the user desires to have marked for
XIP within the file system image.
This patch only adds support for 'XIP all' mode, so all the files that
have the execute attribute set will be XIP'ed. Support for more options
(including AXFS profiling tool) will be submitted in following patches.
More info can be found here:
* http://elinux.org/AXFS
* http://www.academypublisher.com/ojs/index.php/jcp/article/viewFile/03017989/370
* http://docslide.us/documents/application-execute-in-place-xip-with-linux-and-axfs.html
Changes from v2:
* Added host-zlib as a dependency.
* Fixed LICENSE_FILES path.
* Expanded explanation in config help.
Changes from v1:
* Removed unnecessary call to $(generic-package) in axfsutils.mk.
Thanks,
Ariel D'Alessandro (2):
axfsutils: add new package
axfs: add new filesystem type
fs/Config.in | 1 +
fs/axfs/Config.in | 16 ++++++++++++++++
fs/axfs/axfs.mk | 13 +++++++++++++
package/axfsutils/axfsutils.mk | 23 +++++++++++++++++++++++
4 files changed, 53 insertions(+)
create mode 100644 fs/axfs/Config.in
create mode 100644 fs/axfs/axfs.mk
create mode 100644 package/axfsutils/axfsutils.mk
--
2.6.1
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Buildroot] [PATCH v3 1/2] axfsutils: add new package
2015-10-14 19:51 [Buildroot] [PATCH v3 0/2] Add support for AXFS filesystem type Ariel D'Alessandro
@ 2015-10-14 19:51 ` Ariel D'Alessandro
2015-10-14 21:48 ` Thomas Petazzoni
2015-10-14 19:51 ` [Buildroot] [PATCH v3 2/2] axfs: add new filesystem type Ariel D'Alessandro
1 sibling, 1 reply; 5+ messages in thread
From: Ariel D'Alessandro @ 2015-10-14 19:51 UTC (permalink / raw)
To: buildroot
Tools for building AXFS Filesystem.
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.
Source:
https://github.com/jaredeh/axfs
Signed-off-by: Ariel D'Alessandro <ariel@vanguardiasur.com.ar>
---
package/axfsutils/axfsutils.mk | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)
create mode 100644 package/axfsutils/axfsutils.mk
diff --git a/package/axfsutils/axfsutils.mk b/package/axfsutils/axfsutils.mk
new file mode 100644
index 0000000..1dba1c4
--- /dev/null
+++ b/package/axfsutils/axfsutils.mk
@@ -0,0 +1,23 @@
+################################################################################
+#
+# axfsutils
+#
+################################################################################
+
+AXFSUTILS_VERSION = f26ae785e33df76f658b71ef2cfbc7f511ff875d
+AXFSUTILS_SITE = $(call github,jaredeh,axfs,$(AXFSUTILS_VERSION))
+AXFSUTILS_LICENSE = GPLv2
+AXFSUTILS_LICENSE_FILES = mkfs.axfs-legacy/COPYING
+AXFSUTILS_DEPENDENCIES = host-zlib
+
+# The 'new' mkfs.axfs version requires GNUstep which is not a buildroot
+# prerequisite. The 'legacy' one works just as well without that requirement.
+define HOST_AXFSUTILS_BUILD_CMDS
+ $(HOST_MAKE_ENV) $(MAKE) -C $(@D)/mkfs.axfs-legacy
+endef
+
+define HOST_AXFSUTILS_INSTALL_CMDS
+ cp $(@D)/mkfs.axfs-legacy/mkfs.axfs $(HOST_DIR)/usr/bin/
+endef
+
+$(eval $(host-generic-package))
--
2.6.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [Buildroot] [PATCH v3 2/2] axfs: add new filesystem type
2015-10-14 19:51 [Buildroot] [PATCH v3 0/2] Add support for AXFS filesystem type Ariel D'Alessandro
2015-10-14 19:51 ` [Buildroot] [PATCH v3 1/2] axfsutils: add new package Ariel D'Alessandro
@ 2015-10-14 19:51 ` Ariel D'Alessandro
2015-10-14 21:49 ` Thomas Petazzoni
1 sibling, 1 reply; 5+ messages in thread
From: Ariel D'Alessandro @ 2015-10-14 19:51 UTC (permalink / raw)
To: buildroot
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
Signed-off-by: Ariel D'Alessandro <ariel@vanguardiasur.com.ar>
---
fs/Config.in | 1 +
fs/axfs/Config.in | 16 ++++++++++++++++
fs/axfs/axfs.mk | 13 +++++++++++++
3 files changed, 30 insertions(+)
create mode 100644 fs/axfs/Config.in
create mode 100644 fs/axfs/axfs.mk
diff --git a/fs/Config.in b/fs/Config.in
index 5853113..51ccf28 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 0000000..2c97715
--- /dev/null
+++ b/fs/axfs/Config.in
@@ -0,0 +1,16 @@
+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 here:
+ https://github.com/jaredeh/axfs
diff --git a/fs/axfs/axfs.mk b/fs/axfs/axfs.mk
new file mode 100644
index 0000000..05d6e5d
--- /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))
--
2.6.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [Buildroot] [PATCH v3 1/2] axfsutils: add new package
2015-10-14 19:51 ` [Buildroot] [PATCH v3 1/2] axfsutils: add new package Ariel D'Alessandro
@ 2015-10-14 21:48 ` Thomas Petazzoni
0 siblings, 0 replies; 5+ messages in thread
From: Thomas Petazzoni @ 2015-10-14 21:48 UTC (permalink / raw)
To: buildroot
Dear Ariel D'Alessandro,
On Wed, 14 Oct 2015 16:51:25 -0300, Ariel D'Alessandro wrote:
> Tools for building AXFS Filesystem.
>
> 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.
>
> Source:
> https://github.com/jaredeh/axfs
>
> Signed-off-by: Ariel D'Alessandro <ariel@vanguardiasur.com.ar>
> ---
> package/axfsutils/axfsutils.mk | 23 +++++++++++++++++++++++
> 1 file changed, 23 insertions(+)
> create mode 100644 package/axfsutils/axfsutils.mk
Applied with some minor tweaks:
[Thomas:
- add hash file.
- use $(INSTALL) -D -m 0755 instead of cp for installing mkfs.axfs.]
Thanks!
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Buildroot] [PATCH v3 2/2] axfs: add new filesystem type
2015-10-14 19:51 ` [Buildroot] [PATCH v3 2/2] axfs: add new filesystem type Ariel D'Alessandro
@ 2015-10-14 21:49 ` Thomas Petazzoni
0 siblings, 0 replies; 5+ messages in thread
From: Thomas Petazzoni @ 2015-10-14 21:49 UTC (permalink / raw)
To: buildroot
Dear Ariel D'Alessandro,
On Wed, 14 Oct 2015 16:51:26 -0300, Ariel D'Alessandro wrote:
> 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
>
> Signed-off-by: Ariel D'Alessandro <ariel@vanguardiasur.com.ar>
> ---
> fs/Config.in | 1 +
> fs/axfs/Config.in | 16 ++++++++++++++++
> fs/axfs/axfs.mk | 13 +++++++++++++
> 3 files changed, 30 insertions(+)
> create mode 100644 fs/axfs/Config.in
> create mode 100644 fs/axfs/axfs.mk
Applied with some minor tweaks:
[Thomas: rewrap Config.in help text.]
Thanks!
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2015-10-14 21:49 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-10-14 19:51 [Buildroot] [PATCH v3 0/2] Add support for AXFS filesystem type Ariel D'Alessandro
2015-10-14 19:51 ` [Buildroot] [PATCH v3 1/2] axfsutils: add new package Ariel D'Alessandro
2015-10-14 21:48 ` Thomas Petazzoni
2015-10-14 19:51 ` [Buildroot] [PATCH v3 2/2] axfs: add new filesystem type Ariel D'Alessandro
2015-10-14 21:49 ` Thomas Petazzoni
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox