[U-Boot-Users] Re: 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

In message 4221395@web.de 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?
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.
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?
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?
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
participants (2)
-
Mirco Fuchs
-
Wolfgang Denk