bootpImage error with 2.6.19.2 - Embedded
This is a discussion on bootpImage error with 2.6.19.2 - Embedded ; 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 ...
-
bootpImage error with 2.6.19.2
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/SWL...g_article.html
Thanks,
Subhasish
-
Re: bootpImage error with 2.6.19.2
On May 21, 9:31 am, subhasish wrote:
> 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 thishttp://www.simtec.co.uk/products/SWLINUX/files/booting_article.html
>
> Thanks,
> Subhasish
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.