Re: initramfs padding for constant redboot exec -r/-s args

Loïc Minier <[email protected]>
Newsgroups gmane.linux.ports.arm.general
Message-ID <[email protected]>
On Fri, Mar 27, 2009, Russell King - ARM Linux wrote:
> I think you're confused.  From your 'initrd' argument you show above,
> you're saying that you have a 6MB compressed initrd image.
> 
> However, you're trying to load it into a ram disk which is only 8MB in
> size.  Generally, gzip manages to shrink such things by a factor of two,
> so a 6MB compressed initrd image probably decompresses to 12MB.

 Oh so it *is* compressed; I thought exactly this, and bumped
 CONFIG_BLK_DEV_RAM_SIZE from 4 MB to 8, but it wasn't enough, I was
 really unlucky:
    gunzip -c </boot/initrd.img-2.6.28-11-imx51 | wc -c
    8460800
 (lesson learnt: I should really check what I need and not what I think
 I need.)

 Thanks a lot for clarifying that this is the uncompressed size!

> Redboot isn't responsible for working this out - it can only be worked
> out by doing the decompression, and why would you want Redboot to
> decompress the image just to find that out?

 No it's ok, I don't need RedBoot to compute the exact size as long as I
 can find a reasonable constant uncompressed size to hardcode in the
 kernel config which is enough for the compressed size which the
 hardware allows.

> You know how large the image was when you created it, so either set
> CONFIG_BLK_DEV_RAM_SIZE appropriately, or pass an appropriate
> ramdisk_size= argument to the kernel.

 I didn't manage to use the ramdisk_size arg properly this far, in my
 quick tests, I got a kernel panic that root couldn't be mounted when
 using ramdisk_size=65535 (below), but I'm fine with the kernel config
 alone.

exec -s 0x00600000 -r 0x1000000 -c "console=ttymxc0,115200 root=/dev/mmcblk0p2 rootdelay=2 initrd=0x91000000,6M mem=200M@0x90000000 ramdisk_size=65535"
...
[42949379.620000] RAMDISK: Compressed image found at block 0
[42949380.380000] List of all partitions:
[42949380.380000] b300         7977472 mmcblk0 driver: mmcblk
[42949380.390000]   b301           15593 mmcblk0p1
[42949380.390000]   b302         7429212 mmcblk0p2
[42949380.400000]   b303          531216 mmcblk0p3
[42949380.400000] No filesystem could mount root, tried:  ext3 ext2 cramfs vfat msdos
[42949380.410000] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(1,0)


   Thanks a lot for your help!
-- 
Loïc Minier

-------------------------------------------------------------------
List admin: http://lists.arm.linux.org.uk/mailman/listinfo/linux-arm
FAQ:        http://www.arm.linux.org.uk/mailinglists/faq.php
Etiquette:  http://www.arm.linux.org.uk/mailinglists/etiquette.php
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.