[U-Boot] Uboot question from Newbee

Andreas Bießmann andreas.devel at googlemail.com
Fri May 10 09:22:39 CEST 2013


Dear Casper Floppy,

On 10.05.13 00:53, Casper Floppy wrote:
> 
> 
> Hi All, 
> 
> I come from PC
> side and familiar with UEFI BIOS. I am very new to uboot so please help (& be
> kind :). Is this the right forum to ask Uboot specific question?

yes, it is. I will just pick up some of your concrete questions.

> 3) Do every
> uboot bootloader based system support FastBoot or only some platforms; is this vendor
> choice?

Do you mean the 'Falcon Boot Mode' [1]? It is vendor choice, the basics
are there but currently only two mainline boards utilizes that feature.

> 4) Where can I
> get a good documentation on how the uboot build process work? For ex. I saw a
> call to drv_video_init but not sure how this is linked to the code or invoked.
> Is the entre uboot files compiled and conditional macro drop unused code? How
> are various files pulled into the build?

Each sub directory builds archives (sometimes empty archives if nothing
in the directory is compiled) and the linker picks required parts into
the final ELF. We utilize functions-sections/data-sections in compile
stage and gc-sections in link stage. We try to minimize the compile time
decisions via if-differy.
Some parts utilize the weak functions to put arch/board specific
functions into generic code.
Each arch has its initialization code in some assembler code, mostly
start.S and later on some c-code in $ARCH/lib/board.c. We try to migrate
that to a generic board initialization in common/board_f.c (code that
runs before relocation) and common/board_r.c, this is ongoing and just a
few arches where migrated. I think Simon is on it to migrate x86.
I can't answer your question regarding drv_video_init exactly, I guess
this is the interface for cfb_console to initialize the video hardware.
It will be called by the stdio code when the stdio-device is set to the
cfb_console.

> 5) I am not
> sure how GPL licensing work. If I use uboot code in some form do I need to send
> all code just the customization changes back? For example if I am interested in
> just fastboot aspect of uboot and execute it over other proprietary firmware
> what changes I need to provide back. 

If you provide a product containing GPL'ed code you _must_ point this
out in some way. Additionally you _must_ provide the GPL'ed code plus
your changes to it to your customers, at least if they ask for them.
This are just two rules of thumb, but in general this should meet the
needs, at least for GPLv2. Please let some legal expert check this in depth.
Nevertheless, you _should_ provide your changes to the community to find
the best solution for your needs and to spare you future efforts of
porting your proprietary changes to the GPL'ed code when that code changes.

Best regards

Andreas Bießmann

[1] http://schedule2012.rmll.info/IMG/pdf/LSM2012_UbootFalconMode_Babic.pdf


More information about the U-Boot mailing list