Bug 4928

Summary: No documentation for UBOOT_MACHINE
Product: [Documentation] BSP Guide Reporter: Laszlo Papp <lpapp>
Component: bsp-docsAssignee: Scott Rifenbark <srifenbark>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: Medium CC: bluelightning, dvhart, meta.mr.watcher, meta.watcher, srifenbark
Version: unspecified   
Target Milestone: 1.5   
Hardware: x86   
OS: Multiple   
URL: http://git.yoctoproject.org/cgit/cgit.cgi/yocto-docs/commit/?id=228887f330f05037524e8982394a07cfd03d660b
Whiteboard: 07 October 2013 - RESOLVED
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: Done (doc changes complete)

Description Laszlo Papp 2013-07-26 15:14:45 UTC
I have checked the reference and bsp guides, but nothing in there.

I was just getting this error message before I started to look for further information other than grepping other layers, like meta-yocto-bsp:

ERROR: Nothing PROVIDES 'u-boot'
ERROR: u-boot was skipped: because UBOOT_MACHINE is not set
ERROR: u-boot was skipped: because UBOOT_MACHINE is not set
ERROR: u-boot was skipped: because UBOOT_MACHINE is not set
ERROR: u-boot was skipped: because UBOOT_MACHINE is not set
ERROR: Required build target 'core-image-minimal' has no buildable providers.
Missing or unbuildable dependency chain was: ['core-image-minimal', 'u-boot']
Comment 1 Laszlo Papp 2013-07-26 15:35:46 UTC
The documentation should mention that this variable holds the value that one would otherwise pass to make when building u-boot separately.

Here is the proof for that: ../meta/recipes-bsp/u-boot/u-boot.inc:43:       oe_runmake ${UBOOT_MACHINE}
Comment 2 Laszlo Papp 2013-07-26 15:39:52 UTC
UBOOT_ENTRYPOINT and UBOOT_LOADADDRESS could be added to the BSP guide as well if we are at improving the uboot documentation. Those are simpler to understand, and hence document though.
Comment 3 Scott Rifenbark 2013-10-01 14:44:26 UTC
Hi, 

Here is a first shot at describing UBOOT_MACHINE variable based on information I got from Paul.

UBOOT_MACHINE: Specifies the value passed on the make command line when building u-boot to indicate the target platform configuration. This variable is typically set from the machine configuration file (i.e. conf/machine/<machinename>.conf).

I don't have the information needed to add UBOOT_ENTRYPOINT and UBOOT_LOADADDRESS to the glossary as I do not know how to guide the user regarding setting these variables.  So if there is any information for these two variables I can then try and address them.

Scott
Comment 4 Laszlo Papp 2013-10-01 14:53:43 UTC
Thanks; the last two variables are used for image creation with uboot. There is a util called "uboot-mkimage", and those two variables are passed without any changes to that executable with the right command line parameters.
Comment 5 Scott Rifenbark 2013-10-01 17:15:24 UTC
Hi, 

Here are some links for the new variables.  I tried to google some information on the entry point and load address information to get a little more substance but in the end just assumed people would understand these.

Please look this information over. 

Thanks, 
Scott

http://www.yoctoproject.org/docs/1.5/ref-manual/ref-manual.html#var-UBOOT_MACHINE

http://www.yoctoproject.org/docs/1.5/ref-manual/ref-manual.html#var-UBOOT_ENTRYPOINT

http://www.yoctoproject.org/docs/1.5/ref-manual/ref-manual.html#var-UBOOT_LOADADDRESS
Comment 6 Laszlo Papp 2013-10-01 17:24:33 UTC
That is a good decision IMHO. They need to understand u-boot if they wanna use these variables. IMO, it is enough if Yocto only documents the Yocto related operation, i.e. variable is passed to the u-boot util.
Comment 7 Scott Rifenbark 2013-10-07 16:53:57 UTC
Hi, 

I am marking this one RESOLVED and changing the doc requirement to "Done".  Have not heard anything additional for changes.

Thanks, 
Scott
Comment 8 Laszlo Papp 2013-10-07 16:56:08 UTC
Planned to mention (apparently forgot about it) that the UBOOT_TARGET documentation is missing.
Comment 9 Scott Rifenbark 2013-10-07 18:19:17 UTC
Laszlo, 

I will add that variable to the document.

Scott
Comment 10 Laszlo Papp 2013-10-07 18:22:59 UTC
OK, it is basically the target that one can pass to u-boot for building, like SPL (second stage boot-loader), AIS (Texas Instruments wrapper script) related etc...

If the user does not pass anything, Yocto will pass "all" to the u-boot building process by default.
Comment 11 Scott Rifenbark 2013-10-07 18:33:31 UTC
Hi Laszlo, 

How does this sound?  

UBOOT_TARGET:

   Specifies the target you can pass to U-Boot for building (e.g. SPL and AIS).  The UBOOT_TARGET variable is passed as a command-line parameter to the uboot-mkimage utility.  If you do not pass this variable to the utility, the OpenEmbedded build process uses "all" for the U-Boot building process.
Comment 12 Laszlo Papp 2013-10-07 18:38:30 UTC
There is just one minor, otherwise good: the target is not passed to the mkimage utility (it is a bit different to the other variables), but directly to the "make" command when building u-boot itself.

I know you may not prefer seeing code, but just to clarify myself what I mean:

http://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/meta/recipes-bsp/u-boot/u-boot.inc#n31

there is the line "oe_runmake ${UBOOT_MAKE_TARGET}" in there. That line means when you build u-boot, it will build the target passed, or if nothing specified Yocto sets that to "all", so u-boot will be built with the target "all" (whatever u-boot defines in its building for that).

Let me know if it is still unclear.
Comment 13 Scott Rifenbark 2013-10-07 19:18:29 UTC
Laszlo, 

Thanks for the quick read and comments.  Here is "round two" - let me know if I am closer.

Thanks...

UBOOT_TARGET:

   Specifies the target used for building U-Boot.  The target is passed directly as part of the "make" command (e.g. SPL and AIS).  If you do not specifically set this variable, the OpenEmbedded build process passes and uses "all" for the target during the U-Boot building process.
Comment 14 Laszlo Papp 2013-10-07 19:30:58 UTC
Looks good to me. Thank you for your work; much appreciated!
Comment 15 Scott Rifenbark 2013-10-07 20:37:36 UTC
You are welcome Laszlo.  Thanks for helping me.

See http://www.yoctoproject.org/docs/1.5/ref-manual/ref-manual.html#var-UBOOT_TARGET for the final.

Scott