On Mon, 14 Aug 2017, Chris Brandt wrote: > On Monday, August 14, 2017, Nicolas Pitre wrote: > > > I just applied the patches tried this simple test: > > > - tested with a Renesas RZ/A1 (Cortex-A9...so it has an MMU). > > > - I set the sticky bit for busybox before using mkcramfs > > > > You need the newer mkcramfs I linked to in the documentation. With it > > you don't need to play tricks with the sticky bit anymore. However you > > need to specify -X twice (or just once for no-MMU targets) and it will > > make every ELF files XIPable automatically. > > OK. Now I am getting bigger images that makes me think all the ELF files > are uncompressed. Yeah. No way around that of course. I listed a few TODO items to mitigate the alignment losses if you have many executables. > > > However, at this point I'm not sure how I can confirm that the XIP > > > busybox actually executed as XIP or not. > > > > Just use busybox's built-in cat command and dump the content of > > /proc/self/maps. You should see an offset that refers to a physical > > address within your cramfs image for those segments marked read-only and > > executable. > > It works! Pretty cool. > > $ /mnt/bin/busybox cat /proc/self/maps > 00008000-000a1000 r-xp 1b005000 00:10 18192 /mnt/bin/busybox > > (my cramfs flash image is at physical address 0x1B000000) Good! Independent validation is always nice. > However, now with your mkcramfs tool, I can no longer mount my cramfs > image as the rootfs on boot. I was able to do that before (ie, 30 minutes > ago) when using the community mkcramfs (ie, 30 minutes ago). > > I get this: > > [ 1.712425] cramfs: checking physical address 0x1b000000 for linear cramfs image > [ 1.720531] cramfs: linear cramfs image appears to be 15744 KB in size > [ 1.728656] VFS: Mounted root (cramfs_physmem filesystem) readonly on device 0:12. > [ 1.737062] devtmpfs: mounted > [ 1.741139] Freeing unused kernel memory: 48K > [ 1.745545] This architecture does not have kernel memory protection. > [ 1.760381] Starting init: /sbin/init exists but couldn't execute it (error -22) > [ 1.769685] Starting init: /bin/sh exists but couldn't execute it (error -14) Is /sbin/init a link to busybox? I suppose it just boots if you do mkcramfs without -X? If so could you share your non-working cramfs image with me? Nicolas