RE: [PATCH 0/5] cramfs refresh for embedded usage

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux