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

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


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


[Linux ARM]     [Linux ARM MSM]     [Linux ARM Kernel]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

Add to Google Follow linuxarm on Twitter