bootpImage error with 2.6.19.2

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From English to

Threaded View
Hi,
I am trying to create a bootpImage for 2.6 kernel. I was able to
create it very easily with the command
make ARCH=arm CROSS_COMPILE=$KERNEL_CROSS_COMPILE INITRD=./
ramdisk.ext2.gz bootpImage

To boot the board I had first used the nand read command from redboot
and read the data as i had flashed it (or as my nand flash partitions
are).
nand read -f 0x100000 -b 0x100000 -l 0x2000000
then used
exec -b 0x100000 -l 0x2000000 -c "console=ttymxc0,115200 root=/dev/ram
rw"

But while booting the board I get the error "invalid compressed format
(err=2)".
I am reading 35Mb of  data from nand flash, but my bootpImage size is
only 12Mb. So partial reading is out of the question.

I found that this error is coming while decompressing the root fs.
When i tried to reduce the rootfs size then i was able to boot
successfully.

Is there is size limit for bootpImage? on the net i found that the max
decompressed size of 4Mb. But i was able to boot with much larger
size.
See this
http://www.simtec.co.uk/products/SWLINUX/files/booting_article.html

Thanks,
Subhasish

Re: bootpImage error with 2.6.19.2
Quoted text here. Click to load it

Hi all,

Was able to solve it myself. It looks like when the root file system
was decompressed the default location in ram where it was decompressed
was getting overwritten
by some means. Not sure how or why. To fix it I specified the location
in ram where to decompress the initrd root file system by using the
command
 make ARCH=arm CROSS_COMPILE=$KERNEL_CROSS_COMPILE INITRD=./
 ramdisk.ext2.gz INITRD_PHYS=0xa1000000 bootpImage
The parameter INITRD_PHYS specified the location where to decompress
the root file system while the kernel boots.
Also I used the following command to read from the NAND flash

nand read -f 0x100000 -b 0x100000 -l 0x2000000
then used
 exec -b 0x100000 -l 0x2000000 -r 0xa1000000 -s 0x1000000 -c
"console=ttymxc0,115200 root=/dev/ram rw"

The command above specifies -b -> This is the location where I flashed
the kernel
                                            -l  ->  Length of my
kernel partition where I had flashed the bootp Image
                                             -r ->  Physical location
in ram where the ramdisk would get decompressed.
                                             -s -> length of my
ramdisk image.
Thanks,
Subhasish Ghosh.

Site Timeline