First steps with Yocto on BlueSteel-Basic (part 2)

   |    Posted by:    |    Comments: 0

As probably you know the "BlueSteel-Basic" is very similar to Beaglebone Black. for that reason, probably, the root filesystem that we built in our first article should boot. Now that we have a minimal root filesystem we'll add a new Yocto BSP layer to introduce the modifications necessaries to add full support for our BlueSteel-Basic board. The Yocto Project provides a script that creates a new BSP layer for any architecture.

Maybe you already did this, but if not, the first step will be source the environment just as you would when invoking a build:

source oe-init-build-env

After that you should be able to use the yocto-bsp script

cd .. ; yocto-bsp create bluesteel arm

After that you just should answer the script questions. Following is the complete example:

Would you like to use the default (3.14) kernel? (y/n) [default: y] n
Please choose the kernel to use in this BSP: [default: linux-yocto_3.14]
    1) linux-yocto-tiny_3.10
    2) linux-yocto-tiny_3.14
    3) linux-yocto_3.10
    4) linux-yocto-rt_3.10
    5) linux-yocto-dev
    6) linux-yocto_3.14
    7) custom
Is the custom kernel you'd like to use in a remote git repo? (y/n) [default: y]
Please enter the full URI to the remote git repo (the default corresponds to linux-stable v3.13.9) [default: git://]
Do you need to use a specific (non-master) branch? (y/n) [default: n] y
Please enter the branch you want to use (the default branch corresponds to the linux-stable 'linux-3.13.y' branch): [default: linux-3.13.y] linux-3.15.y
Please enter the SRCREV (commit id) you'd like to use (use '${AUTOREV}' to track the current HEAD): [default: ${AUTOREV}]
Please enter the Linux version of the kernel you've specified: [default: 3.13.9] 3.15.7
Please enter a Linux version extension if you want (it will show up at the end of the kernel name shown by uname): [default: -custom]
It's recommended (but not required) that custom kernels be built using a defconfig.  Please enter the full path to the defconfig for your kernel (NOTE: if you don't specify a defconfig the kernel probably won't build or boot): [default: ]
Which machine tuning would you like to use? [default: tune_cortexa8]
Please specify a value for UBOOT_MACHINE: [default: omap3_beagle_config] am335x_evm_config
Please specify a value for UBOOT_ENTRYPOINT: [default: 0x80008000]
Please specify a value for UBOOT_LOADADDRESS: [default: 0x80008000]
Do you need support for X? (y/n) [default: y] n
Does your BSP have a touchscreen? (y/n) [default: n]
Does your BSP have a keyboard? (y/n) [default: y]

New arm BSP created in meta-bluesteel

Once the script completes, the new meta-bluesteel BSP layer is created in the current working directory. Now you mus add it to your bblayers.conf. Here is an example:

    BBLAYERS = ? " \
        /usr/local/src/yocto/meta \
        /usr/local/src/yocto/meta-yocto \
        /usr/local/src/yocto/meta-yocto-bsp \
        /usr/local/src/yocto/meta-bluesteel \
        /usr/local/src/yocto/meta \
        /usr/local/src/yocto/meta-yocto \

The helper script yocto-bsp is really useful to quickly create a new BSP layer, although it facilitates the developer live, sometimes it's necessary do some extra job. If you followed the yocto-bsp example, you can see that we had the possibility to select a custom kernel based in latest current stable kernel. That's good, as we always want to use latest stable versions. But we didn't have the option for u-boot bootloader. Well, that's not a problem, it just requires small effort. In next part we'll learn how to add the u-boot recipe based in latest stable version.

This will be the base to introduce our new packages to support the new “BlueSteel-Basic, board.

Leave a comment

Make sure you enter the (*) required information where indicated. HTML code is not allowed.