Sylvain Huard
Sylvain Huard

Reputation: 1398

How to get to menuconfig for u-boot in Yocto environment

I'm using Yocto for the first time for an ARM embedded system with a Xilinx Zynq. I want to make some configuration changes that requires going in the menuconfig utility. Yocto documentation shows how to do it for the Linux Kernel

bitbake yocto-xlnx -c menuconfig

Which, for Xilinx, I turned into

bitbake linux-xlnx -c menuconfig

It works very well.

Now, I want to do the same with u-boot and change the .config file using the menuconfig utility. I can't find any way to do it in Yocto or Xilinx documentation. I tried the obvious like

bitbake u-boot-xlnx -c menuconfig

just to get an error message:

ERROR: Task do_menuconfig does not exist for target u-boot-xlnx

Any Idea how to get to u-boot menuconfig with Yocto?

Edit: here are the layers I use

BBLAYERS ?= " \
/home/sylvain/poky/meta \
/home/sylvain/poky/meta-poky \
/home/sylvain/poky/meta-yocto-bsp \
/home/sylvain/poky/openembedded-core/meta \
/home/sylvain/poky/meta-xilinx \
"

Upvotes: 6

Views: 19065

Answers (3)

Yeho S.
Yeho S.

Reputation: 31

I ran into the same problem. I build u-boot-at91 for at91sam9x35, but it should be the same for other architectures as well.

Yocto still doesn't support

bitbake u-boot -c menuconfig

I managed to do it with the following steps:

  1. In build directory run:

devtool modify u-boot-at91

This will automatically create the u-boot source files' external directory under: build/workspace/u-boot-at91.

  1. cd build/workspace/u-boot-at91
  2. run menuconfig using:

make menuconfig

If menuconfig doesn't show up you might have to run the do_configure task for u-boot and then retry:

bitbake u-boot-at91 -c configure

  1. Perform required menuconfig changes in the UI and save the configuration in New.config file.

  2. Copy the New.config file to override your target's defconfig file (in my case at91sam9x5ek_spiflash_config) using:

cp New.config configs/at91sam9x5ek_spiflash_defconfig

Notice the defconfig suffix instead of config!

  1. Push the change to your local git repository:

pushd build/workspace/sources/u-boot-at91
git add at91sam9x5ek_spiflash_defconfig
git commit -m "summary of changes made here"
git status
popd

  1. Create the patch to override the default defconfig file:

devtool update-recipe u-boot-at91

This actually appends the following lines to your u-boot-at91.bb files:

SRC_URI = "git://github.com/linux4sam/u-boot-at91.git;protocol=https;branch=${UBRANCH} \

           file://0001-summary-of-changes-made-here.patch \

and creates the patch file with relevant modifications to the recipe's directory. 8. Run BitBake:

bitbake u-boot-at91

or

bitbake core-image-minimal

The new u-boot binary will be built with the new configuration.

Upvotes: 3

Anders
Anders

Reputation: 8981

It's currently, as of 2.3 Pyro, not possible to run bitbake u-boot -c menuconfig as no-one has implemented that functionality for the U-Boot recipe. Please, file a bug if you'd have uses for this.

Normally, I'd recommend either of the following approaches:

  1. bitbake u-boot -c devshell
  2. Use of devtool.
  3. Use the SDK.

All of these would not only allow you to run make menuconfig, but also to cross-compile U-Boot to verify your configuration.

Upvotes: 7

Sylvain Huard
Sylvain Huard

Reputation: 1398

I found the solution. It works for xilinx distribution. I did not test it for others but it's likely to be similar and it's likely to work for any other menuconfig of any package. It turns out that the full source package is located in my case at:

~/poky/build/tmp/work/zedboard_zynq7-poky-linux-gnueabi/u-boot-xlnx/v2016.07-xilinx-v2016.3+gitAUTOINC+95e11f6eb4-r0/build

I'll let you decode the "board, machine, version etc" coding in the folder string since it depends on each case, but just want to give the idea.

Using the terminal, just go to that folder then run just like in the old days:

make menuconfig

and voilà! I guess when I get to configure busybox and things like that, it will just be the same.

Upvotes: 2

Related Questions