Skip to contentSkip to conversation

Problem with bootm command

U-Boot-Users Mirco Fuchs 2 participants 2 messages Jul 26, 2005

lore
Share & tools
lore
#0 lore raw

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

#1 lore raw
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