[U-Boot] u-boot boot sequence

Marcel korgull at home.nl
Wed Sep 29 22:33:03 CEST 2010


On Monday, September 27, 2010 09:25:36 am Wolfgang Denk wrote:
> Dear Marcel,
> 
> In message <201009270011.32850.korgull at home.nl> you wrote:
> > I do however have some questions about the u-boot startup behaviour.
> 
> Please read the manual; it should cover most of your questions.

Thanks for your kind reply. 
I do honestly have to say that I read a lot of u-boot code but actually only a 
parts of the manual. 

> > What I want to create is the following :
> > 
> > 1) u-boot starts and checks if it can start my application (either CRC
> > check or whatever). This is the first thing u-boot should do.
> > 2) if it can't boot it will listen on USB or ethernet for someone to
> > upload a valid image or boot via NFS or whatever has been configured.
> 
> This is standard behaviour. See 7.4. Boot Arguments Unleashed etc.,
> http://www.denx.de/wiki/view/DULG/LinuxBootArgs

I noticed that but had a different behavior in mind but was probably focused 
too much on USB instead of really looking at u-boot's behavior. Now that I 
read it again it does make a bit more sense and I think this will work out 
fine.

> > 3) If it can boot, it will boot immediately (there may be a GPIO pin to
> > override this behaviour)
> 
> setenv bootdelay 0
> 
> > 4) once within the application (linux or whatever) I must be able to set
> > a flag that lets u-boot wait for uploading a new image file when I
> > soft-reset my device. This is needed for firmware upgrading of course. I
> > still need to check if this flag is supported by the CPU or needs other
> > support (eeprom perhaps).
> 
> see tools/env for tools to read and write the U-Boot environment
> settings from Linux. This can be used to change the boot command, boot
> delay etc.

I used an AVR processor before and did this in the environment settings but 
currently that doesn't work for me yet.
My env is in nor flash and I don't have a driver in linux yet to communicate 
with it. I'll look into this.
Currently I write settings to eeprom but have no idea if it can be read from 
u-boot. I currently only use it for items that I need in Linux. I did see some 
drivers in u-boot for it, so I guess it should work as well and I'll have to 
try it or write a driver for my NOR flash.
 
> > 5) After uploading an image the soft-reset is cleared and the whole
> > sequence start over again, so it should boot the new image.
> 
> You can script all these things in U-Boot.

Great, that should solve it.

> > I know it's possible to do this but I wonder if it has been done before
> > and if there any examples of it ?
> 
> There is all kinds of more or less complext stuff around. Read the
> manual. Read the default configurations set in other board config
> files. Read the code available in board/*/auto_update.c etc.

This does solve a lot of my questions.
Thanks a lot for pointing me to that code and the other answers. 

best regards,
Marcel

> Best regards,
> 
> Wolfgang Denk


More information about the U-Boot mailing list