[U-Boot-Users] ramdisk booting problem

Hi,
I am trying to boot linux with a ramdisk on a board based on TI dm6446.
I am facing a weird problem: it correctly boots images smaller than 2.5MB, while bugger ones stop boot after image decompression, before the kernel boots.
I'm not able to find out the reason why it hangs.
Do you have any suggestion?
Thanks
---------------------------------------------------------------- This message was sent using IMP, the Internet Messaging Program.

bott@dei.unipd.it writes:
I am trying to boot linux with a ramdisk on a board based on TI dm6446.
I am facing a weird problem: it correctly boots images smaller than 2.5MB, while bugger ones stop boot after image decompression, before the kernel boots.
I'm not able to find out the reason why it hangs.
Do you have any suggestion?
One common pitfall is that during decompression some vital code is overwritten by the decompressed data. Double check that the memory area to which you are decompressing your image is large enough to hold the uncompressed data and doesn't overlap with any code.
Best regards
Markus Klotzbuecher
-- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: office@denx.de

Quoting Markus Klotzbücher mk@denx.de:
bott@dei.unipd.it writes:
I am trying to boot linux with a ramdisk on a board based on TI dm6446.
I am facing a weird problem: it correctly boots images smaller than 2.5MB, while bugger ones stop boot after image decompression, before the kernel boots.
I'm not able to find out the reason why it hangs.
Do you have any suggestion?
One common pitfall is that during decompression some vital code is overwritten by the decompressed data. Double check that the memory area to which you are decompressing your image is large enough to hold the uncompressed data and doesn't overlap with any code.
Thanks for you answer Markus,
this is what I suspect, but I don't have any idea how I can check it. I mean, how can I see where the decompressed image is put? I tried giving a look at lib/inflate.c to check how gunzip() works, but I'm not able to figure out where inflated data goes....
Bye,
Ottavio.
---------------------------------------------------------------- This message was sent using IMP, the Internet Messaging Program.

Dear Ottavio,
bott@dei.unipd.it writes:
this is what I suspect, but I don't have any idea how I can check it. I mean, how can I see where the decompressed image is put? I tried giving a look at lib/inflate.c to check how gunzip() works, but I'm not able to figure out where inflated data goes....
Look at the code in common/cmd_bootm.c . IIRC the ramdisk is copied to the end of RAM. The boot output should also give some hints. You'll need to provide more information such as your bootlog, the commands you're using to boot and your memory/flash setup for us to help.
Best regards
Markus Klotzbücher
-- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: office@denx.de

Quoting Markus Klotzbücher mk@denx.de:
Dear Ottavio,
bott@dei.unipd.it writes:
this is what I suspect, but I don't have any idea how I can check it. I mean, how can I see where the decompressed image is put? I tried giving a look at lib/inflate.c to check how gunzip() works, but I'm not able to figure out where inflated data goes....
Look at the code in common/cmd_bootm.c . IIRC the ramdisk is copied to the end of RAM. The boot output should also give some hints. You'll need to provide more information such as your bootlog, the commands you're using to boot and your memory/flash setup for us to help.
eventually yesterday I've been able to boot with initrd and not initramfs by leaving the kernel in the flash memory and coping the initrd in ram. With the exception of switching to initrd, the kernel is the same, so I really think it was a problem of overwritten memory.
I'll have to find out why booting the kernel from flash works and from ram not.
---------------------------------------------------------------- This message was sent using IMP, the Internet Messaging Program.
participants (2)
-
bott@dei.unipd.it
-
Markus Klotzbücher