[U-Boot-Users] outline of bootm script

Kumar Gala
2008-08-06T19:15:52Z

On Aug 5, 2008, at 9:33 PM, Jerry Van Baren wrote:

> Kumar Gala wrote:
>> here's a rough start at an outline for the bootm script based on
>> the code (I've only outlined the Linux/PPC boot case its seems the
>> most complicated). One of the first things we clearly need is a
>> imload command. Thoughts on the various disable_{interrupts, usb,
>> caches} ?
>> - k
>
> Another rough start on an outline (only cmd_bootm.c, need to add
> image.c information):
> <http://www.denx.de/wiki/view/U-Boot/UBootFdtInfo#Refactoring_bootm>
>
> Goal is to identify the major pieces of the sequence, identify what
> commands we have and what we need to make a scripted equivalent
> sequence for (ultimately) each path through the sequence.

I added a few bullets about functionality I'd like to see the new
sequence to be capable of it.

one idea is having "stages" of bootm handled as sub commands:

bootm start <args>
bootm prep (disable interrupts, stop usb, disable caches)
bootm load_os (decompress OS image)
bootm load_fdt(relocates fdt to proper place, setup bootargs, initrd
prep, board setup?? [or do via fdt boardsetup command])
bootm load_initrd
bootm jump

bootm restore (undo anything prep did, reset state tracking)

And we keep state around so the next stage can run w/o a lot of
arguments and you have to execute these in order, and only once. But
you can intermix other commands between the stages.

We could also have some "bootm query <foo>" to expose the internal
state if that's useful. We could completely get rid of the various
"env" vars that impact bootm and just make them state variables
("verify", "autostart", "bootm_size", "bootm_low", ...)

Also, bootm would be the sequence of:
bootm start <args>
bootm prep
bootm load_os
bootm load_fdt
bootm load_initrd
bootm jump

comments?

- k