AnsweredAssumed Answered

u-boot kernel command line

Question asked by Gauthier Östervall on Aug 26, 2014
Latest reply on Aug 27, 2014 by Leonardo Sandoval Gonzalez

I am trying to modify the kernel command line of a yocto image I built.

I baked a core-image-x11 image and put it on my SD card with dd. The imx6q_sabresd booted fine so I went on and made it take its rootfs from NFS. To achieve that I manually changed the u-boot variables with setenv and saveenv.

 

Now that this is working, I would like to change my yocto build itself so that the kernel command line gets its correct parameters without me doing it manually.

 

I cannot find how to do this.

 

The Kernel Development Manual

http://www.yoctoproject.org/docs/1.6.1/kernel-dev/kernel-dev.html

says at the bottom:

" How do I change the Linux kernel command line?

 

The Linux kernel command line is typically specified in the machine config using the APPEND variable. For example, you can add some helpful debug information doing the following:

 

     APPEND += "printk.time=y initcall_debug debug""

 

but this is not very helpful. Where do I add this exactly?

 

Where are my current u-boot parameters defined? What is the best way to make changes to them?

 

Here is what I tried:

 

- I went to the machine config (as per the doc above) there: sources/meta-fls-arm/conf/machine/include, but I did not find where in there I should put the APPEND.

I also tested to modify sources/meta-fls-arm/conf/machine/include/imx6sabresd-common.inc (changing ttymxc0 only to see if that would get through to the final image) but it had no positive effect. The kernel command line did not change, and it did break the startup. Nothing happens after:

"Starting Linux NFC daemon

Stopping Bootlog daemon

INIT: Id "mxc6" respawning too fast: disabled for 5 minutes

"

 

- I noticed several patch files there: sources/meta-fls-arm/recipes-bsp/u-boot/u-boot-imx/, but first I am not sure how bitbake sorts out which one to apply, second the u-boot parameters I end up with are not the ones in the relevant patch (mx6q_sabresd-*.patch).

Furthermore, the patch is on the file include/configs/mx6q_sabresd.h. I have no such file, not that I could find at least. Is the patch even being applied, how can I check this? And where is it applied, in that case?

 

It feels like I am making wrong assumptions, if anyone could shed a light...

Outcomes