Add support for AXFS filesystem type
v2 cover Add support for AXFS filesystem type
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.
More info can be found here: http://elinux.org/AXFS
Changes from v1:
* Removed unnecessary call to $(generic-package) in axfsutils.mk.
Ariel
Ariel D'Alessandro (2):
axfsutils: add new package
axfs: add new filesystem type
fs/Config.in | 1 + fs/axfs/Config.in | 4 ++++ fs/axfs/axfs.mk | 13 +++++++++++++ package/axfsutils/axfsutils.mk | 20 ++++++++++++++++++++ 4 files changed, 38 insertions(+) create mode 100644 fs/axfs/Config.in create mode 100644 fs/axfs/axfs.mk create mode 100644 package/axfsutils/axfsutils.mk
Signature · 1 line
1.9.1
PATCH v2 1/2 axfsutils: add new package
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.
Source:
https://github.com/jaredeh/axfs
--- package/axfsutils/axfsutils.mk | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 package/axfsutils/axfsutils.mk
package/axfsutils/axfsutils.mk new file +20 -0
@@ -0,0 +1,20 @@ +################################################################################ +# +# axfsutils +# +################################################################################ + +AXFSUTILS_VERSION = f26ae785e33df76f658b71ef2cfbc7f511ff875d +AXFSUTILS_SITE = $(call github,jaredeh,axfs,$(AXFSUTILS_VERSION)) +AXFSUTILS_LICENSE = GPLv2 +AXFSUTILS_LICENSE_FILES = COPYING + +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))
Signature · 1 line
1.9.1
PATCH v2 1/2 axfsutils: add new package
Quoted 5 lines · Ariel D'Alessandro
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.
Commit messages are normally wrapped at 72 columns.
Quoted 16 lines
Source:
https://github.com/jaredeh/axfsSigned-off-by Ariel D'Alessandro <[email protected]>--- package/axfsutils/axfsutils.mk | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 package/axfsutils/axfsutils.mkpackage/axfsutils/axfsutils.mk new file +0
-0
package/axfsutils/axfsutils.mk line 9
Quoted 9 lines
package/axfsutils/axfsutils.mk new file +9
-0@@ -0,0 +1,20 @@ +################################################################################ +# +# axfsutils +# +################################################################################ + +AXFSUTILS_VERSION = f26ae785e33df76f658b71ef2cfbc7f511ff875d +AXFSUTILS_SITE = $(call github,jaredeh,axfs,$(AXFSUTILS_VERSION)) +AXFSUTILS_LICENSE = GPLv2
I verified that it's indeed v2 only.
package/axfsutils/axfsutils.mk line 10
Quoted 1 line
package/axfsutils/axfsutils.mk new file +1
-0+AXFSUTILS_LICENSE_FILES = COPYING
It's actually mkfs.axfs-legacy/COPYING.
Looking at the source, it seems that you have to add host-zlib as a dependency.
Regards,
Arnout
package/axfsutils/axfsutils.mk line 13
Quoted 3 lines
package/axfsutils/axfsutils.mk new file +3
-0+ +define HOST_AXFSUTILS_BUILD_CMDS + $(HOST_MAKE_ENV) $(MAKE) -C $(@D)/mkfs.axfs-legacy
It would be add to add an explanation why you use the legacy one: "The 'new'
mkfs.axfs requires GNUstep which is not a buildroot prerequisite, and the 'legacy' one works just as well."
Note that comments should be put outside of the CMDS block.
Regards,
Arnout
Quoted 8 lines
package/axfsutils/axfsutils.mk new file +7
-0+endef + +define HOST_AXFSUTILS_INSTALL_CMDS + cp $(@D)/mkfs.axfs-legacy/mkfs.axfs $(HOST_DIR)/usr/bin/ +endef + +$(eval $(host-generic-package))
Signature · 6 lines
Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286500 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
PATCH v2 1/2 axfsutils: add new package
Arnout,
Thanks for your response,
El 05/10/15 a las 15:39, Arnout Vandecappelle escribi?:
Quoted 8 lines · Ariel D'Alessandro
Quoted 5 lines
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.
Commit messages are normally wrapped at 72 columns.
Right, will change that.
Quoted 2 lines
Quoted 2 lines
[snip]
Quoted 19 lines
Quoted 7 lines
package/axfsutils/axfsutils.mk new file +0
-0package/axfsutils/axfsutils.mk line 9
Quoted 9 lines
package/axfsutils/axfsutils.mk new file +9
-0@@ -0,0 +1,20 @@ +################################################################################ +# +# axfsutils +# +################################################################################ + +AXFSUTILS_VERSION = f26ae785e33df76f658b71ef2cfbc7f511ff875d +AXFSUTILS_SITE = $(call github,jaredeh,axfs,$(AXFSUTILS_VERSION)) +AXFSUTILS_LICENSE = GPLv2I verified that it's indeed v2 only.
Quoted 3 lines
package/axfsutils/axfsutils.mk line 10
Quoted 1 line
package/axfsutils/axfsutils.mk new file +1
-0+AXFSUTILS_LICENSE_FILES = COPYINGIt's actually mkfs.axfs-legacy/COPYING.
Woops, my bad! I'll fix that.
Quoted 3 lines
Looking at the source, it seems that you have to add host-zlib as a dependency.
I'll check this.
Quoted 10 lines
package/axfsutils/axfsutils.mk line 13
Quoted 4 lines
package/axfsutils/axfsutils.mk new file +3
-0+ +define HOST_AXFSUTILS_BUILD_CMDS + $(HOST_MAKE_ENV) $(MAKE) -C $(@D)/mkfs.axfs-legacyIt would be add to add an explanation why you use the legacy one: "The 'new'
mkfs.axfs requires GNUstep which is not a buildroot prerequisite, and the 'legacy' one works just as well."Note that comments should be put outside of the CMDS block.
OK. I'll add this and send a new patchset v3.
Thanks!
Signature · 2 lines
Ariel D'Alessandro, VanguardiaSur www.vanguardiasur.com.ar
PATCH v2 2/2 axfs: add new filesystem type
In reply to Ariel D'AlessandroThe 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.
--- fs/Config.in | 1 + fs/axfs/Config.in | 4 ++++ fs/axfs/axfs.mk | 13 +++++++++++++ 3 files changed, 18 insertions(+) create mode 100644 fs/axfs/Config.in create mode 100644 fs/axfs/axfs.mk
fs/Config.in +1 -0
@@ -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"
fs/axfs/Config.in new file +4 -0
@@ -0,0 +1,4 @@ +config BR2_TARGET_ROOTFS_AXFS + bool "axfs root filesystem" + help + Build an axfs root filesystem
fs/axfs/axfs.mk new file +13 -0
@@ -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))
Signature · 1 line
1.9.1
PATCH v2 2/2 axfs: add new filesystem type
Quoted 30 lines · Ariel D'Alessandro
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.
Signed-off-by Ariel D'Alessandro <[email protected]>--- fs/Config.in | 1 + fs/axfs/Config.in | 4 ++++ fs/axfs/axfs.mk | 13 +++++++++++++ 3 files changed, 18 insertions(+) create mode 100644 fs/axfs/Config.in create mode 100644 fs/axfs/axfs.mkfs/Config.in +1
-0@@ -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"fs/axfs/Config.in new file +0
-0
fs/axfs/Config.in line 4
Quoted 4 lines
fs/axfs/Config.in new file +4
-0@@ -0,0 +1,4 @@ +config BR2_TARGET_ROOTFS_AXFS + bool "axfs root filesystem" + help + Build an axfs root filesystem
This needs a lot more explanation. For starters, repeat the explanation you put
in the commit message (but wrap at 72 columns!). And perhaps you should add that all files will be XIPified (or whatever the verb is). Also, you should mention that the kernel has to be built with the axfs patches to be able to read it.
It would be nice to add the axfs kernel side as a kernel extension as well. But
that looks heavily non-trivial.
Quoted 6 lines
fs/axfs/axfs.mk new file +0
-0
fs/axfs/axfs.mk line 10
Quoted 10 lines
fs/axfs/axfs.mk new file +10
-0@@ -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) $@
I'm not sure if we really want to give the -s option. Is it very verbose?
Generally I like a bit of feedback about how the filesystem is built, and we do get it for e.g. squashfs.
But basically, the patch looks good to me. I'm a bit surprised it's so simple.
fs/axfs/axfs.mk line 13
Quoted 3 lines
fs/axfs/axfs.mk new file +3
-0+endef + +$(eval $(call ROOTFS_TARGET,axfs))
Eek, do we still have that horrible construct for rootfs building... :-)
Regards,
Arnout
Signature · 6 lines
Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286500 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
PATCH v2 2/2 axfs: add new filesystem type
Quoted 41 lines · Arnout Vandecappelle
Quoted 30 lines · Ariel D'Alessandro
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.
Signed-off-by Ariel D'Alessandro <[email protected]>--- fs/Config.in | 1 + fs/axfs/Config.in | 4 ++++ fs/axfs/axfs.mk | 13 +++++++++++++ 3 files changed, 18 insertions(+) create mode 100644 fs/axfs/Config.in create mode 100644 fs/axfs/axfs.mkfs/Config.in +1
-0@@ -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"fs/axfs/Config.in new file +0
-0fs/axfs/Config.in line 4
Quoted 4 lines
fs/axfs/Config.in new file +4
-0@@ -0,0 +1,4 @@ +config BR2_TARGET_ROOTFS_AXFS + bool "axfs root filesystem" + help + Build an axfs root filesystemThis needs a lot more explanation. For starters, repeat the explanation you put
in the commit message (but wrap at 72 columns!). And perhaps you should add that all files will be XIPified (or whatever the verb is). Also, you should mention that the kernel has to be built with the axfs patches to be able to read it.
Quoted 3 lines
It would be nice to add the axfs kernel side as a kernel extension as well. But
that looks heavily non-trivial.
Should we clarify that the FS is not supported in Linux mainline?
Signature · 2 lines
Ezequiel Garc?a, VanguardiaSur www.vanguardiasur.com.ar
PATCH v2 2/2 axfs: add new filesystem type
Quoted 7 lines · Ezequiel Garcia
Quoted 6 lines · Arnout Vandecappelle
Quoted 5 lines · Ariel D'Alessandro
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.
Signed-off-by Ariel D'Alessandro <[email protected]>
[snip]
Quoted 10 lines
Quoted 10 lines
fs/axfs/Config.in line 4
Quoted 4 lines
fs/axfs/Config.in new file +4
-0+config BR2_TARGET_ROOTFS_AXFS + bool "axfs root filesystem" + help + Build an axfs root filesystemThis needs a lot more explanation. For starters, repeat the explanation you put
in the commit message (but wrap at 72 columns!). And perhaps you should add that all files will be XIPified (or whatever the verb is). Also, you should mention that the kernel has to be built with the axfs patches to be able to read it.
Quoted 5 lines
Quoted 3 lines
It would be nice to add the axfs kernel side as a kernel extension as well. But
that looks heavily non-trivial.Should we clarify that the FS is not supported in Linux mainline?
That's what I mean with "the kernel has to be built with the axfs patches".
Regards,
Arnout
Signature · 6 lines
Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286500 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
PATCH v2 2/2 axfs: add new filesystem type
In reply to Arnout VandecappelleArnout,
El 05/10/15 a las 15:53, Arnout Vandecappelle escribi?:
Quoted 5 lines · Ariel D'Alessandro
Quoted 4 lines
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.
[snip]
Quoted 7 lines
Quoted 7 lines
fs/axfs/Config.in new file +1
-0@@ -0,0 +1,4 @@ +config BR2_TARGET_ROOTFS_AXFS
Quoted 8 lines
fs/axfs/Config.in line 4
Quoted 3 lines
fs/axfs/Config.in new file +3
-0+ bool "axfs root filesystem" + help + Build an axfs root filesystemThis needs a lot more explanation. For starters, repeat the explanation you put
in the commit message (but wrap at 72 columns!). And perhaps you should add that all files will be XIPified (or whatever the verb is). Also, you should mention that the kernel has to be built with the axfs patches to be able to read it.
OK, I'll add some notes here.
Quoted 17 lines
It would be nice to add the axfs kernel side as a kernel extension as well. But
that looks heavily non-trivial.Quoted 12 lines
fs/axfs/axfs.mk new file +6
-0@@ -0,0 +1,13 @@ +################################################################################ +# +# Build the axfs root filesystem image +# +################################################################################ +
Quoted 8 lines
fs/axfs/axfs.mk line 10
Quoted 4 lines
fs/axfs/axfs.mk new file +4
-0+ROOTFS_AXFS_DEPENDENCIES = host-axfsutils + +define ROOTFS_AXFS_CMD + $(HOST_DIR)/usr/bin/mkfs.axfs -s -a $(TARGET_DIR) $@I'm not sure if we really want to give the -s option. Is it very verbose?
Generally I like a bit of feedback about how the filesystem is built, and we do get it for e.g. squashfs.
Yeah, I think it's very verbose. But on the other hand, with the -s option it's too quiet.
I don't know what is the main criteria. Maybe you can tell me, here's the output of two mkfs.axfs executions with and without -s option:
--
$ ./mkfs.axfs -s -a target/ output/ number of files: 585 number of 4KB nodes: 1752
Total image size: 5111906
--
--
$ ./mkfs.axfs -a target/ output/ -54.49% (-728 bytes) THIS_IS_NOT_YOUR_ROOT_FILESYSTEM 0.00% (+0 bytes) lib32 0.00% (+0 bytes) linuxrc 0.00% (+0 bytes) ash 0.00% (+0 bytes) busybox 0.00% (+0 bytes) cat 0.00% (+0 bytes) catv 0.00% (+0 bytes) chattr 0.00% (+0 bytes) chgrp 0.00% (+0 bytes) chmod 0.00% (+0 bytes) chown 0.00% (+0 bytes) cp 0.00% (+0 bytes) cpio 0.00% (+0 bytes) date 0.00% (+0 bytes) dd 0.00% (+0 bytes) df 0.00% (+0 bytes) dmesg 0.00% (+0 bytes) dnsdomainname 0.00% (+0 bytes) dumpkmap 0.00% (+0 bytes) echo 0.00% (+0 bytes) egrep 0.00% (+0 bytes) false 0.00% (+0 bytes) fdflush 0.00% (+0 bytes) fgrep 0.00% (+0 bytes) getopt 0.00% (+0 bytes) grep 0.00% (+0 bytes) gunzip 0.00% (+0 bytes) gzip 0.00% (+0 bytes) hostname 0.00% (+0 bytes) kill 0.00% (+0 bytes) linux32 0.00% (+0 bytes) linux64 0.00% (+0 bytes) ln 0.00% (+0 bytes) login 0.00% (+0 bytes) ls 0.00% (+0 bytes) lsattr 0.00% (+0 bytes) mkdir 0.00% (+0 bytes) mknod 0.00% (+0 bytes) mktemp 0.00% (+0 bytes) more 0.00% (+0 bytes) mount 0.00% (+0 bytes) mountpoint 0.00% (+0 bytes) mt 0.00% (+0 bytes) mv 0.00% (+0 bytes) netstat 0.00% (+0 bytes) nice 0.00% (+0 bytes) pidof 0.00% (+0 bytes) ping 0.00% (+0 bytes) pipe_progress 0.00% (+0 bytes) printenv 0.00% (+0 bytes) ps 0.00% (+0 bytes) pwd 0.00% (+0 bytes) rm 0.00% (+0 bytes) rmdir 0.00% (+0 bytes) run-parts 0.00% (+0 bytes) sed 0.00% (+0 bytes) setarch 0.00% (+0 bytes) setserial 0.00% (+0 bytes) sh 0.00% (+0 bytes) sleep 0.00% (+0 bytes) stty 0.00% (+0 bytes) su 0.00% (+0 bytes) sync 0.00% (+0 bytes) tar 0.00% (+0 bytes) touch 0.00% (+0 bytes) true 0.00% (+0 bytes) umount 0.00% (+0 bytes) uname 0.00% (+0 bytes) usleep 0.00% (+0 bytes) vi 0.00% (+0 bytes) watch 0.00% (+0 bytes) zcat 0.00% (+0 bytes) log -43.44% (-139 bytes) fstab -34.78% (-104 bytes) group 10.00% (+1 bytes) hostname 2.50% (+1 bytes) hosts -49.43% (-519 bytes) inittab -54.41% (-642 bytes) inputrc 4.76% (+1 bytes) issue 0.00% (+0 bytes) mtab -24.14% (-28 bytes) os-release -52.29% (-194 bytes) passwd -53.17% (-738 bytes) profile -48.54% (-1332 bytes) protocols 0.20% (+1 bytes) random-seed 0.00% (+0 bytes) resolv.conf -60.62% (-234 bytes) securetty -59.55% (-6475 bytes) services -65.27% (-156 bytes) shadow -53.95% (-348 bytes) ts.conf 0.00% (+0 bytes) ld-uClibc-0.9.33.2.so 0.00% (+0 bytes) ld-uClibc.so.0 0.00% (+0 bytes) libatomic.so 0.00% (+0 bytes) libatomic.so.1 0.00% (+0 bytes) libatomic.so.1.0.0 0.00% (+0 bytes) libc.so.0 0.00% (+0 bytes) libcrypt-0.9.33.2.so 0.00% (+0 bytes) libcrypt.so.0 0.00% (+0 bytes) libdl-0.9.33.2.so 0.00% (+0 bytes) libdl.so.0 -12.12% (-16 bytes) libgcc_s.so -62.18% (-76236 bytes) libgcc_s.so.1 0.00% (+0 bytes) libm-0.9.33.2.so 0.00% (+0 bytes) libm.so.0 0.00% (+0 bytes) libnsl-0.9.33.2.so 0.00% (+0 bytes) libnsl.so.0 0.00% (+0 bytes) libpthread-0.9.33.2.so 0.00% (+0 bytes) libpthread.so.0 0.00% (+0 bytes) libresolv-0.9.33.2.so 0.00% (+0 bytes) libresolv.so.0 0.00% (+0 bytes) librt-0.9.33.2.so 0.00% (+0 bytes) librt.so.0 0.00% (+0 bytes) libuClibc-0.9.33.2.so 0.00% (+0 bytes) libutil-0.9.33.2.so 0.00% (+0 bytes) libutil.so.0 -18.86% (-33 bytes) .bash_logout -6.41% (-5 bytes) .bash_profile -34.99% (-162 bytes) .profile 0.00% (+0 bytes) arp 0.00% (+0 bytes) blkid 0.00% (+0 bytes) devmem 0.00% (+0 bytes) fdisk 0.00% (+0 bytes) freeramdisk 0.00% (+0 bytes) fsck 0.00% (+0 bytes) fstrim 0.00% (+0 bytes) getty 0.00% (+0 bytes) halt 0.00% (+0 bytes) hdparm 0.00% (+0 bytes) hwclock 0.00% (+0 bytes) ifconfig 0.00% (+0 bytes) ifdown 0.00% (+0 bytes) ifup 0.00% (+0 bytes) init 0.00% (+0 bytes) insmod 0.00% (+0 bytes) ip 0.00% (+0 bytes) ipaddr 0.00% (+0 bytes) iplink 0.00% (+0 bytes) iproute 0.00% (+0 bytes) iprule 0.00% (+0 bytes) iptunnel 0.00% (+0 bytes) klogd 0.00% (+0 bytes) ldconfig 0.00% (+0 bytes) loadkmap 0.00% (+0 bytes) losetup 0.00% (+0 bytes) lsmod 0.00% (+0 bytes) makedevs 0.00% (+0 bytes) mdev 0.00% (+0 bytes) mkswap 0.00% (+0 bytes) modprobe 0.00% (+0 bytes) nameif 0.00% (+0 bytes) pivot_root 0.00% (+0 bytes) poweroff 0.00% (+0 bytes) reboot 0.00% (+0 bytes) rmmod 0.00% (+0 bytes) route 0.00% (+0 bytes) runlevel 0.00% (+0 bytes) setconsole 0.00% (+0 bytes) start-stop-daemon 0.00% (+0 bytes) sulogin 0.00% (+0 bytes) swapoff 0.00% (+0 bytes) swapon 0.00% (+0 bytes) switch_root 0.00% (+0 bytes) sysctl 0.00% (+0 bytes) syslogd 0.00% (+0 bytes) udhcpc 0.00% (+0 bytes) vconfig 0.00% (+0 bytes) watchdog 0.00% (+0 bytes) lib32 0.00% (+0 bytes) cache 0.00% (+0 bytes) lock 0.00% (+0 bytes) log 0.00% (+0 bytes) run 0.00% (+0 bytes) spool 0.00% (+0 bytes) tmp 0.00% (+0 bytes) S01logging 0.00% (+0 bytes) S20urandom 0.00% (+0 bytes) S40network 0.00% (+0 bytes) S99_rea_setup 0.00% (+0 bytes) rcK 0.00% (+0 bytes) rcS -3.90% (-3 bytes) interfaces 0.00% (+0 bytes) linux-fincore 0.00% (+0 bytes) mem 0.01% (+15 bytes) eggs.jpg -17.02% (-4792 bytes) renesas_logo-800x480.jpg -0.20% (-333 bytes) tiger.jpg -13.69% (-126625 bytes) ring.wav 0.00% (+0 bytes) [ 0.00% (+0 bytes) [[ 0.00% (+0 bytes) alsamixer 0.00% (+0 bytes) amixer 0.00% (+0 bytes) aplay 0.00% (+0 bytes) ar 0.00% (+0 bytes) arecord 0.00% (+0 bytes) aserver 0.00% (+0 bytes) awk 0.00% (+0 bytes) basename 0.00% (+0 bytes) bunzip2 0.00% (+0 bytes) bzcat 0.00% (+0 bytes) chrt 0.00% (+0 bytes) chvt 0.00% (+0 bytes) cksum 0.00% (+0 bytes) clear 0.00% (+0 bytes) cmp 0.00% (+0 bytes) crontab 0.00% (+0 bytes) cut 0.00% (+0 bytes) dc 0.00% (+0 bytes) deallocvt 0.00% (+0 bytes) diff 0.00% (+0 bytes) dirname 0.00% (+0 bytes) dos2unix 0.00% (+0 bytes) du 0.00% (+0 bytes) eject 0.00% (+0 bytes) env 0.00% (+0 bytes) expr 0.00% (+0 bytes) fbv 0.00% (+0 bytes) find 0.00% (+0 bytes) flock 0.00% (+0 bytes) fold 0.00% (+0 bytes) free 0.00% (+0 bytes) fuser 0.00% (+0 bytes) getconf 0.00% (+0 bytes) head 0.00% (+0 bytes) hexdump 0.00% (+0 bytes) hostid 0.00% (+0 bytes) id 0.00% (+0 bytes) inputattach 0.00% (+0 bytes) install 0.00% (+0 bytes) ipcrm 0.00% (+0 bytes) ipcs 0.00% (+0 bytes) killall 0.00% (+0 bytes) last 0.00% (+0 bytes) ldd 0.00% (+0 bytes) less 0.00% (+0 bytes) logger 0.00% (+0 bytes) logname 0.00% (+0 bytes) lsof 0.00% (+0 bytes) lspci 0.00% (+0 bytes) lsusb 0.00% (+0 bytes) lzcat 0.00% (+0 bytes) lzma 0.00% (+0 bytes) md5sum 0.00% (+0 bytes) mesg 0.00% (+0 bytes) microcom 0.00% (+0 bytes) mkfifo 0.00% (+0 bytes) mpg123 0.00% (+0 bytes) mpg123-id3dump 0.00% (+0 bytes) mpg123-strip 0.00% (+0 bytes) nohup 0.00% (+0 bytes) nslookup 0.00% (+0 bytes) od 0.00% (+0 bytes) openvt 0.00% (+0 bytes) out123 0.00% (+0 bytes) passwd 0.00% (+0 bytes) patch 0.00% (+0 bytes) printf 0.00% (+0 bytes) readlink 0.00% (+0 bytes) realpath 0.00% (+0 bytes) renice 0.00% (+0 bytes) reset 0.00% (+0 bytes) resize 0.00% (+0 bytes) seq 0.00% (+0 bytes) setkeycodes 0.00% (+0 bytes) setsid 0.00% (+0 bytes) sha1sum 0.00% (+0 bytes) sha256sum 0.00% (+0 bytes) sha3sum 0.00% (+0 bytes) sha512sum 0.00% (+0 bytes) sort 0.00% (+0 bytes) strings 0.00% (+0 bytes) tail 0.00% (+0 bytes) tee 0.00% (+0 bytes) telnet 0.00% (+0 bytes) test 0.00% (+0 bytes) tftp 0.00% (+0 bytes) time 0.00% (+0 bytes) top 0.00% (+0 bytes) tr 0.00% (+0 bytes) traceroute 0.00% (+0 bytes) ts_calibrate 0.00% (+0 bytes) ts_finddev 0.00% (+0 bytes) ts_harvest 0.00% (+0 bytes) ts_print 0.00% (+0 bytes) ts_print_raw 0.00% (+0 bytes) ts_test 0.00% (+0 bytes) tty 0.00% (+0 bytes) uniq 0.00% (+0 bytes) unix2dos 0.00% (+0 bytes) unlink 0.00% (+0 bytes) unlzma 0.00% (+0 bytes) unxz 0.00% (+0 bytes) unzip 0.00% (+0 bytes) uptime 0.00% (+0 bytes) uudecode 0.00% (+0 bytes) uuencode 0.00% (+0 bytes) vlock 0.00% (+0 bytes) wc 0.00% (+0 bytes) wget 0.00% (+0 bytes) which 0.00% (+0 bytes) who 0.00% (+0 bytes) whoami 0.00% (+0 bytes) xargs 0.00% (+0 bytes) xz 0.00% (+0 bytes) xzcat 0.00% (+0 bytes) yes 0.00% (+0 bytes) libasound.so 0.00% (+0 bytes) libasound.so.2 0.00% (+0 bytes) libasound.so.2.0.0 0.00% (+0 bytes) libform.so 0.00% (+0 bytes) libform.so.5 0.00% (+0 bytes) libform.so.5.9 0.00% (+0 bytes) libjpeg.so 0.00% (+0 bytes) libjpeg.so.8 0.00% (+0 bytes) libjpeg.so.8.0.2 0.00% (+0 bytes) libmenu.so 0.00% (+0 bytes) libmenu.so.5 0.00% (+0 bytes) libmenu.so.5.9 0.00% (+0 bytes) libmpg123.so 0.00% (+0 bytes) libmpg123.so.0 0.00% (+0 bytes) libmpg123.so.0.41.0 0.00% (+0 bytes) libncurses.so 0.00% (+0 bytes) libncurses.so.5 0.00% (+0 bytes) libncurses.so.5.9 0.00% (+0 bytes) libpanel.so 0.00% (+0 bytes) libpanel.so.5 0.00% (+0 bytes) libpanel.so.5.9 0.00% (+0 bytes) libts-1.0.so.0 0.00% (+0 bytes) libts-1.0.so.0.0.0 0.00% (+0 bytes) libts.so 0.00% (+0 bytes) libturbojpeg.so 0.00% (+0 bytes) libturbojpeg.so.0 0.00% (+0 bytes) libturbojpeg.so.0.1.0 0.00% (+0 bytes) terminfo 0.00% (+0 bytes) addgroup 0.00% (+0 bytes) adduser 0.00% (+0 bytes) alsactl 0.00% (+0 bytes) arping 0.00% (+0 bytes) chroot 0.00% (+0 bytes) crond 0.00% (+0 bytes) delgroup 0.00% (+0 bytes) deluser 0.00% (+0 bytes) dnsd 0.00% (+0 bytes) ether-wake 0.00% (+0 bytes) fbset 0.00% (+0 bytes) fdformat 0.00% (+0 bytes) flash_erase 0.00% (+0 bytes) flash_lock 0.00% (+0 bytes) flash_unlock 0.00% (+0 bytes) flashcp 0.00% (+0 bytes) inetd 0.00% (+0 bytes) killall5 0.00% (+0 bytes) loadfont 0.00% (+0 bytes) mtd_debug 0.00% (+0 bytes) mtdinfo 0.00% (+0 bytes) nanddump 0.00% (+0 bytes) nandtest 0.00% (+0 bytes) nandwrite 0.00% (+0 bytes) rdate 0.00% (+0 bytes) readprofile 0.00% (+0 bytes) setlogcons 0.00% (+0 bytes) ubiattach 0.00% (+0 bytes) ubiblock 0.00% (+0 bytes) ubicrc32 0.00% (+0 bytes) ubidetach 0.00% (+0 bytes) ubiformat 0.00% (+0 bytes) ubimkvol 0.00% (+0 bytes) ubinfo 0.00% (+0 bytes) ubinize 0.00% (+0 bytes) ubirename 0.00% (+0 bytes) ubirmvol 0.00% (+0 bytes) ubirsvol 0.00% (+0 bytes) ubiupdatevol 0.00% (+0 bytes) misc 0.00% (+0 bytes) arctic2.so 0.00% (+0 bytes) collie.so 0.00% (+0 bytes) corgi.so 0.00% (+0 bytes) dejitter.so 0.00% (+0 bytes) dmc.so 0.00% (+0 bytes) galax.so 0.00% (+0 bytes) h3600.so 0.00% (+0 bytes) input.so 0.00% (+0 bytes) linear.so 0.00% (+0 bytes) linear_h2200.so 0.00% (+0 bytes) mk712.so 0.00% (+0 bytes) pthres.so 0.00% (+0 bytes) tatung.so 0.00% (+0 bytes) touchkit.so 0.00% (+0 bytes) ucb1x00.so 0.00% (+0 bytes) variance.so -75.94% (-7076 bytes) alsa.conf -38.06% (-59 bytes) smixer.conf 0.00% (+0 bytes) default.script -86.07% (-5155 bytes) asound.state 0.00% (+0 bytes) smixer-ac97.so 0.00% (+0 bytes) smixer-hda.so 0.00% (+0 bytes) smixer-sbase.so -10.68% (-11 bytes) README -56.95% (-381 bytes) AACI.conf -24.83% (-75 bytes) ATIIXP-MODEM.conf -74.16% (-1659 bytes) ATIIXP-SPDMA.conf -76.68% (-1904 bytes) ATIIXP.conf -55.15% (-241 bytes) AU8810.conf -16.98% (-27 bytes) AU8820.conf -57.31% (-298 bytes) AU8830.conf -81.62% (-4815 bytes) Audigy.conf -85.14% (-6647 bytes) Audigy2.conf -74.72% (-1770 bytes) Aureon51.conf -75.63% (-1890 bytes) Aureon71.conf -80.72% (-3106 bytes) CA0106.conf -66.48% (-1186 bytes) CMI8338-SWIEC.conf -66.67% (-1274 bytes) CMI8338.conf -71.37% (-1521 bytes) CMI8738-MC6.conf -78.57% (-2343 bytes) CMI8738-MC8.conf -68.98% (-1132 bytes) CMI8788.conf -77.05% (-2269 bytes) CS46xx.conf -76.73% (-4352 bytes) EMU10K1.conf -76.29% (-2101 bytes) EMU10K1X.conf -64.52% (-882 bytes) ENS1370.conf -68.94% (-1245 bytes) ENS1371.conf -11.84% (-18 bytes) ES1968.conf -85.34% (-3754 bytes) Echo_Echo3G.conf -63.98% (-785 bytes) FM801.conf -37.84% (-126 bytes) FWSpeakers.conf -59.83% (-420 bytes) FireWave.conf -24.88% (-54 bytes) GUS.conf -81.25% (-5503 bytes) HDA-Intel.conf -74.80% (-1802 bytes) ICE1712.conf -76.41% (-2209 bytes) ICE1724.conf -17.19% (-33 bytes) ICH-MODEM.conf -75.64% (-2310 bytes) ICH.conf -77.55% (-2238 bytes) ICH4.conf -64.47% (-820 bytes) Loopback.conf -49.28% (-275 bytes) Maestro3.conf -76.47% (-3673 bytes) NFORCE.conf -53.27% (-350 bytes) PC-Speaker.conf -50.41% (-245 bytes) PMac.conf -55.89% (-394 bytes) PMacToonie.conf -61.28% (-706 bytes) PS3.conf -51.79% (-404 bytes) RME9636.conf -51.79% (-404 bytes) RME9652.conf -69.84% (-1049 bytes) SB-XFi.conf -74.63% (-1700 bytes) SI7018.conf -68.14% (-1221 bytes) TRID4DWAVENX.conf -69.92% (-6275 bytes) USB-Audio.conf -61.05% (-732 bytes) VIA686A.conf -76.52% (-2109 bytes) VIA8233.conf -78.09% (-2196 bytes) VIA8233A.conf -72.97% (-1887 bytes) VIA8237.conf -58.67% (-487 bytes) VX222.conf -58.40% (-490 bytes) VXPocket.conf -66.49% (-984 bytes) VXPocket440.conf -66.10% (-897 bytes) YMF744.conf -61.14% (-859 bytes) aliases.conf -58.13% (-1051 bytes) 00main -72.40% (-960 bytes) ca0106 -86.14% (-9360 bytes) default -70.05% (-1064 bytes) hda -44.76% (-175 bytes) help -71.35% (-665 bytes) info -87.63% (-9375 bytes) test -55.40% (-446 bytes) center_lfe.conf -54.86% (-418 bytes) default.conf -71.65% (-1087 bytes) dmix.conf -65.58% (-423 bytes) dpl.conf -71.48% (-1095 bytes) dsnoop.conf -55.59% (-418 bytes) front.conf -56.65% (-673 bytes) hdmi.conf -56.64% (-687 bytes) iec958.conf -68.19% (-896 bytes) modem.conf -55.51% (-413 bytes) rear.conf -55.51% (-413 bytes) side.conf -53.06% (-477 bytes) surround21.conf -54.39% (-477 bytes) surround40.conf -54.03% (-536 bytes) surround41.conf -54.33% (-539 bytes) surround50.conf -54.19% (-504 bytes) surround51.conf -54.50% (-533 bytes) surround71.conf -38.14% (-45 bytes) sample_map.csv -58.88% (-872 bytes) ansi -53.46% (-957 bytes) linux -53.39% (-835 bytes) screen -51.26% (-612 bytes) vt100 -51.09% (-607 bytes) vt102 -48.16% (-616 bytes) vt200 -48.16% (-616 bytes) vt220 -52.39% (-1713 bytes) xterm -59.64% (-925 bytes) xterm-color -52.38% (-1177 bytes) xterm-xfree86 -3.19% (-3 bytes) DAISY-I2S.conf -78.79% (-1285 bytes) HiFi.conf -1.09% (-1 bytes) GoogleNyan.conf -77.74% (-1711 bytes) HiFi.conf -73.88% (-843 bytes) HiFi.conf -66.14% (-707 bytes) PAZ00.conf -78.47% (-1418 bytes) Record.conf -69.17% (-848 bytes) FMAnalog -67.08% (-591 bytes) PandaBoard.conf -74.48% (-1655 bytes) hifi -68.41% (-851 bytes) hifiLP -69.31% (-926 bytes) record -68.48% (-845 bytes) voice -76.31% (-1681 bytes) voiceCall -69.31% (-858 bytes) FMAnalog -67.26% (-604 bytes) PandaBoardES.conf -74.53% (-1665 bytes) hifi -68.55% (-861 bytes) hifiLP -69.44% (-936 bytes) record -68.70% (-856 bytes) voice -76.34% (-1691 bytes) voiceCall -68.87% (-832 bytes) FMAnalog -66.74% (-584 bytes) SDP4430.conf -73.84% (-1598 bytes) hifi -67.50% (-814 bytes) hifiLP -68.76% (-821 bytes) record -67.64% (-809 bytes) voice -75.98% (-1645 bytes) voiceCall -67.64% (-719 bytes) tegraalc5632.conf
number of files: 585 number of 4KB nodes: 1752
offset to node_type bytetable: 984 offset to node_index bytetable: 2739 offset to cnode_offset bytetable: 9759 offset to cnode_index bytetable: 11463 offset to banode_offset bytetable: 13167 offset to cblock_offset bytetable: 14991 offset to inode_file_size bytetable: 16695 offset to inode_name_offset bytetable: 19035 offset to inode_num_entries bytetable: 21375 offset to inode_mode_index bytetable: 23715 offset to inode_array_index bytetable: 26055 offset to modes bytetable: 28395 offset to uids bytetable: 28443 offset to gids bytetable: 28491 offset to zero padding: 28539 offset to xip data: 28672 offset to byte_aligned data: 3600384 offset to compressed data: 4150720 offset to strings data: 5106657 offset to zero padding: 5111902
Total image size: 5111906
--
Quoted 3 lines
But basically, the patch looks good to me. I'm a bit surprised it's so simple.
Cool, thanks again for your response.
Signature · 2 lines
Ariel D'Alessandro, VanguardiaSur www.vanguardiasur.com.ar
PATCH v2 2/2 axfs: add new filesystem type
Ariel, All,
On 2015-10-13 09:12 -0300, Ariel D'Alessandro spake thusly:
Quoted 1 line
El 05/10/15 a las 15:53, Arnout Vandecappelle escribi?:
[--SNIP--]
Quoted 17 lines
Quoted 6 lines
fs/axfs/axfs.mk line 10
Quoted 2 lines
fs/axfs/axfs.mk new file +2
-0+define ROOTFS_AXFS_CMD + $(HOST_DIR)/usr/bin/mkfs.axfs -s -a $(TARGET_DIR) $@I'm not sure if we really want to give the -s option. Is it very verbose?
Generally I like a bit of feedback about how the filesystem is built, and we do get it for e.g. squashfs.Yeah, I think it's very verbose. But on the other hand, with the -s option it's too quiet.
I don't know what is the main criteria. Maybe you can tell me, here's the output of two mkfs.axfs executions with and without -s option:--
$ ./mkfs.axfs -s -a target/ output/ number of files: 585 number of 4KB nodes: 1752
Quoted 5 lines
Total image size: 5111906
----
$ ./mkfs.axfs -a target/ output/
[--SNIP--]
Quoted 1 line
Total image size: 5111906
IMHO, the non-silent version is way too verbose. I'd prefer that the -s flag be used.
Arnout, OK for you?
Regards,
Yann E. MORIN.
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'
PATCH v2 2/2 axfs: add new filesystem type
Quoted 27 lines · Yann E. MORIN
Ariel, All,
On 2015-10-13 09:12 -0300, Ariel D'Alessandro spake thusly:
Quoted 1 line
El 05/10/15 a las 15:53, Arnout Vandecappelle escribi?:
[--SNIP--]
Quoted 17 lines
Quoted 6 lines
fs/axfs/axfs.mk line 10
Quoted 2 lines
fs/axfs/axfs.mk new file +2
-0+define ROOTFS_AXFS_CMD + $(HOST_DIR)/usr/bin/mkfs.axfs -s -a $(TARGET_DIR) $@I'm not sure if we really want to give the -s option. Is it very verbose?
Generally I like a bit of feedback about how the filesystem is built, and we do get it for e.g. squashfs.Yeah, I think it's very verbose. But on the other hand, with the -s option it's too quiet.
I don't know what is the main criteria. Maybe you can tell me, here's the output of two mkfs.axfs executions with and without -s option:--
$ ./mkfs.axfs -s -a target/ output/ number of files: 585 number of 4KB nodes: 1752Quoted 5 lines
Total image size: 5111906
----
$ ./mkfs.axfs -a target/ output/
Quoted 7 lines
[--SNIP--]
Quoted 1 line
Total image size: 5111906
IMHO, the non-silent version is way too verbose. I'd prefer that the -s flag be used.
Arnout, OK for you?
I believe mksquashfs is equally verbose. But it's OK for me either way.
Regards,
Arnout
Signature · 6 lines
Arnout Vandecappelle arnout dot vandecappelle at essensium dot com Senior Embedded Software Architect . . . . . . +32-478-010353 (mobile) Essensium, Mind division . . . . . . . . . . . . . . http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium . . . . . BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
PATCH v2 2/2 axfs: add new filesystem type
In reply to Arnout VandecappelleArnout, Ariel, All,
On 2015-10-05 19:53 +0100, Arnout Vandecappelle spake thusly:
Quoted 4 lines · Ariel D'Alessandro
Quoted 3 lines
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.
[--SNIP--]
Quoted 2 lines
It would be nice to add the axfs kernel side as a kernel extension as well. But
that looks heavily non-trivial.
I had a quick and cursory look at the axfs sources, and I think this could be quite easily achievable. Non-trivial, granted, but not too complex either.
Ariel, are you interested in adding this as a kernel extension? (Hint: it would be really great! ;-) )
Kernel extensions are a way to "modify" the kernel source tree with patches provided by another package:
http://buildroot.org/downloads/manual/manual.html#linux-kernel-ext
Basically, here's what you'd have to do in the axfs extension:
- get the 'raw' version of the kernel with (but see notes below):
AXFSUTILS_KVER = $(MAKE) -C $(LINUX_DIR) kernelversion
- check that there is a patch directory for that kernel version:
kernel/patches/v$(AXFSUTILS_KVER)/
=> if not, bail out
=> if yes, continue
- copy $(@D)/kernel/fs/axfs to $(LINUX_DIR)/fs/axfs
- copy $(@D)/include/linux/* to $(LINUX_DIR)/include/linux/
- modify $(LINUX_DIR)/fs/Kconfig with (before last line):
source "fs/axfs/Kconfig"
- modify $(LINUX_DIR)/fs/Makefile with (as last line):
obj-$(CONFIG_AXFS) += axfs
Obviously, entirely untested; adapt to Real Life (TM). ;-)
Notes: ideally, the kernel 'raw' version should be provided by linux/linux.mk but we currently do not have it yet; we only have 'kernelrelease', not 'kernelversion'. It would be interesting if you provided an initial patch that adds this.
Currently, 'kernelrelease' is in $(LINUX_VERSION_PROBED), so maybe you could introduce LINUX_VERSION_RAW filled with the output of 'kernelversion' (see how it's done for 'kernelrelease').
Regards,
Yann E. MORIN.
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'
PATCH v2 2/2 axfs: add new filesystem type
Yann,
El 13/10/15 a las 17:53, Yann E. MORIN escribi?:
Quoted 11 lines
Arnout, Ariel, All,
On 2015-10-05 19:53 +0100, Arnout Vandecappelle spake thusly:
Quoted 4 lines · Ariel D'Alessandro
Quoted 3 lines
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.
[--SNIP--]
Quoted 2 lines
It would be nice to add the axfs kernel side as a kernel extension as well. But
that looks heavily non-trivial.
Quoted 6 lines
I had a quick and cursory look at the axfs sources, and I think this could be quite easily achievable. Non-trivial, granted, but not too complex either.
Ariel, are you interested in adding this as a kernel extension? (Hint: it would be really great! ;-) )
Yes, I'll make some room and take a look at this!
Quoted 27 lines
Kernel extensions are a way to "modify" the kernel source tree with patches provided by another package:
http://buildroot.org/downloads/manual/manual.html#linux-kernel-extBasically, here's what you'd have to do in the axfs extension:
- get the 'raw' version of the kernel with (but see notes below):
AXFSUTILS_KVER = $(MAKE) -C $(LINUX_DIR) kernelversion- check that there is a patch directory for that kernel version:
kernel/patches/v$(AXFSUTILS_KVER)/
=> if not, bail out
=> if yes, continue- copy $(@D)/kernel/fs/axfs to $(LINUX_DIR)/fs/axfs
- copy $(@D)/include/linux/* to $(LINUX_DIR)/include/linux/
- modify $(LINUX_DIR)/fs/Kconfig with (before last line):
source "fs/axfs/Kconfig"- modify $(LINUX_DIR)/fs/Makefile with (as last line):
obj-$(CONFIG_AXFS) += axfsObviously, entirely untested; adapt to Real Life (TM). ;-)
Quoted 8 lines
Notes: ideally, the kernel 'raw' version should be provided by
linux/linux.mkbut we currently do not have it yet; we only have 'kernelrelease', not 'kernelversion'. It would be interesting if you provided an initial patch that adds this.Currently, 'kernelrelease' is in $(LINUX_VERSION_PROBED), so maybe you could introduce
LINUX_VERSION_RAWfilled with the output of 'kernelversion' (see how it's done for 'kernelrelease').
That's pretty clarifying! Thank you very much for this Yann, it will help me a lot. I'll try to submit patches for this ASAP.
Thanks,
Signature · 2 lines
Ariel D'Alessandro, VanguardiaSur www.vanguardiasur.com.ar
v2 cover Add support for AXFS filesystem type
In reply to Ariel D'AlessandroDear Ariel D'Alessandro,
Quoted 8 lines · Ariel D'Alessandro
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.
More info can be found here: http://elinux.org/AXFS
Quoted 8 lines
Changes from v1:
* Removed unnecessary call to $(generic-package) in axfsutils.mk.Ariel
Ariel D'Alessandro (2):
axfsutils: add new package
axfs: add new filesystem type
You received some feedback on both patches. Could you address this feedback, and submit a new version of the patches?
Note that adding the axfs patches as a kernel extension, as suggested by Yann E. Morin, is optional and can perfectly be done as a set of follow-up patches: it is not mandatory to have this part of the current series.
However, one thing that I remember about AXFS is that you could decide when creating the root filesystem, which parts of which files would be stored uncompressed (so that they can be XIP-ed) and which parts of which files would be stored compressed (to save space). This allowed to combine the nice aspects of a XIP-capable filesystem, with the nice aspects of a compressed filesystem. I remember there was even a tool to run on the target to "measure" the filesystem accesses, and give some hints on which pages of data should be stored uncompressed vs. which pages should be stored compressed. Is this actually implemented in AXFS ? If so, do you plan to add support for such functionality ?
In any case, I'll mark your patches as "Changes Requested" in patchwork, so please resubmit a new version when you have time, otherwise we'll forget about your contribution.
Best regards,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
v2 cover Add support for AXFS filesystem type
Thomas,
El 13/10/15 a las 18:14, Thomas Petazzoni escribi?:
Quoted 14 lines
Dear Ariel D'Alessandro,
Quoted 11 lines · Ariel D'Alessandro
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.
More info can be found here: http://elinux.org/AXFS
Changes from v1:
* Removed unnecessary call to $(generic-package) in axfsutils.mk.
Quoted 8 lines
Quoted 5 lines
Ariel
Ariel D'Alessandro (2):
axfsutils: add new package
axfs: add new filesystem typeYou received some feedback on both patches. Could you address this feedback, and submit a new version of the patches?
Yes, right away.
Quoted 5 lines
Note that adding the axfs patches as a kernel extension, as suggested by Yann E. Morin, is optional and can perfectly be done as a set of follow-up patches: it is not mandatory to have this part of the current series.
Understood.
Quoted 7 lines
However, one thing that I remember about AXFS is that you could decide when creating the root filesystem, which parts of which files would be stored uncompressed (so that they can be XIP-ed) and which parts of which files would be stored compressed (to save space). This allowed to combine the nice aspects of a XIP-capable filesystem, with the nice aspects of a compressed filesystem.
Yes, indeed. One of the keys of AXFS is that it "has the ability to store individual *pages* in a file uncompressed/XIP or compressed/Demand Paged." [0]
Moreover, "mkfs.axfs tool can receive an additional argument using the -i flag which points to a user-created file in the XML format; it indicates which pages the user desires to have marked for XIP within the file system image." [1]
Quoted 5 lines
I remember there was even a tool to
run on the target to "measure" the filesystem accesses, and give some hints on which pages of data should be stored uncompressed vs. which pages should be stored compressed. Is this actually implemented in AXFS ?
Yes. The CONFIG_AXFS_PROFILING option is added in order to enable the profiling tool. Then simply running on the target platform, the AXFS profiler will collect data and write the information it could gather to /proc/axfs/volume0. See [1] for more information.
Quoted 1 line
If so, do you plan to add support for such functionality ?
Yes, it would be nice to add support for this functionality in order to explode the entire AXFS capability. I'll do this as a set of follow-up patches if that's OK, and let the -a flag (XIP all) for now.
Thanks,
Links:
[0]
http://www.academypublisher.com/ojs/index.php/jcp/article/viewFile/03017989/370
[1]
http://docslide.us/documents/application-execute-in-place-xip-with-linux-and-axfs.html
Signature · 2 lines
Ariel D'Alessandro, VanguardiaSur www.vanguardiasur.com.ar
v2 cover Add support for AXFS filesystem type
Hello,
Quoted 4 lines · Ariel D'Alessandro
Quoted 2 lines
You received some feedback on both patches. Could you address this feedback, and submit a new version of the patches?
Yes, right away.
Excellent, thanks!
Quoted 4 lines
Moreover, "mkfs.axfs tool can receive an additional argument using the -i flag which points to a user-created file in the XML format; it indicates which pages the user desires to have marked for XIP within the file system image." [1]
So probably a Config.in option to specify the path to this file should be added.
Quoted 10 lines
Quoted 5 lines
I remember there was even a tool to
run on the target to "measure" the filesystem accesses, and give some hints on which pages of data should be stored uncompressed vs. which pages should be stored compressed. Is this actually implemented in AXFS ?Yes. The
CONFIG_AXFS_PROFILINGoption is added in order to enable the profiling tool. Then simply running on the target platform, the AXFS profiler will collect data and write the information it could gather to/proc/axfs/volume0. See [1] for more information.
Good. This sort of into can be added in the help text of the Config.in option.
Quoted 5 lines
Quoted 1 line
If so, do you plan to add support for such functionality ?
Yes, it would be nice to add support for this functionality in order to explode the entire AXFS capability. I'll do this as a set of follow-up patches if that's OK, and let the -a flag (XIP all) for now.
Sounds like a very good plan.
Thanks!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com