Problem with bootm command
I have one more question about using the bootm command.
I searched the do_bootm_linux() function to find out what u-boot is doing when booting linux using the bootm command, because the kernel patch i found in the mailing list (which makes the kernel able to copy an initrd directly from flash to ram) has to be used with kernel version 2.4.18, but i have 2.6.12.
It seems as if u-boot checks for an enviroment string called "initrd_high" and if it exists, u-boot does not copy the initrd to ram -> the kernel will fail to load the ramdisk. But there is no such string in my enviroment, so shouldn't the bootm command copy initrd to it's designated sdram location? It seems as it does not because the start address of the initrd, which u-boot delivers to the linux kernel is located in flash (one can read it in the kernel booting sequence; the error is that the initrd extends physical memory, but it's quite clear why this error occures).
Is it possible to force u-boot to copy the image to ram? Of course i could use the cp.b command before using bootm (i tested this and it works fine), but thats not what i want to do.
Regards
Mirco
_________________________________________________________________________
Mit der Gruppen-SMS von WEB.DE FreeMail k?nnen Sie eine SMS an alle Freunde gleichzeitig schicken: http://freemail.web.de/features/?mc=021179
Quoted 6 lines · In message <[email protected]> you wrote:
I searched the
do_bootm_linux()function to find out what u-boot is doing when booting linux using the bootm command, because the kernel patch i fou nd in the mailing list (which makes the kernel able to copy an initrd dire ctly from flash to ram) has to be used with kernel version 2.4.18, but i h ave 2.6.12.
It would be definitely helpful if you expolained which architecture you're working on. I speculate that this is ona ARM system?
Quoted 2 lines
It seems as if u-boot checks for an enviroment string called "
initrd_high"
and if it exists, u-boot does not copy the initrd to ram -> the kernel wi
No, this is not what it does. Please read the documentation. The behavious is documented both in the manual and in the README.
Quoted 6 lines
ll fail to load the ramdisk. But there is no such string in my enviroment,
so shouldn't the bootm command copy initrd to it's designated sdram locat
ion? It seems as it does not because the start address of the initrd, whic h u-boot delivers to the linux kernel is located in flash (one can read it
in the kernel booting sequence; the error is that the initrd extends phys
ical memory, but it's quite clear why this error occures).
I cannot parse this. Isn't your flash mapped in a physical address range? Or what exacty do you mean?
All this has been discussed many times before. May I suggest to search the archives?
Quoted 1 line
Is it possible to force u-boot to copy the image to ram? Of course i could
Why should it do that? It's just a waste of boot time. THe kernel can poick it up from flash, so why bother with copying it to ram first?
Quoted 2 lines
use the cp.b command before using bootm (i tested this and it works fine)
, but thats not what i want to do.
And it's not needed.
Best regards,
Wolfgang Denk
Signature · 3 lines
Software Engineering: Embedded and Realtime Systems, Embedded Linux Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de "Ada is PL/I trying to be Smalltalk. - Codoso diBlini