[yocto] BSP for taskit stamp9g20

Markus Hubig mhubig at imko.de
Fri Jun 29 06:34:26 PDT 2012


Hello @all,

now I have a working BSP-Layer, but for now its only a plain copy
(created with yocto-bsp)
of arm-versatile-926ejs. And the only thing it does so far, is
creating a .config-Kernel
configuration file (which is fine by now). To adapt this to my needs
it seems I have to edit the
stamp9g20.cfg and the stamp9g20-non_hardware.cfg files. Am I right?

Since I can create a valid kernel configuration by simply:

$ make ARCH=arm stamp9g20_defconfig

I'm using this file as a reverence, but now I'm having a hard time
figuring out what part of
this config file I have to put inside my BSP cfg files and what to use
from the kernel
meta/cfg/kernel-cache/features stuff via a include statement ...

I try to make an example:

In my reference config file I have this

CONFIG_HIGH_RES_TIMERS=y

This can be found here "meta/cfg/kernel-cache/features/hrt/hrt.cfg" as
a kernel feature.
So I have to add the statement "include features/hrt/hrt.scc" into
"stamp9g20.scc", right?

But wait a minute ...
$ grep -r hrt.scc linux-yocto-3.2-work/meta/cfg/kernel-cache/
   linux-yocto-3.2-work/meta/cfg/kernel-cache/ktypes/standard/standard-nocfg.scc:include
features/hrt/hrt.scc

So its already included from "ktypes/standard" ... ;-(

To get a better overview (and because I'm a famous magician) I made up
a little spell:

# Look for all kernel config parameters if they are defined somewhere inside
# linux-yocto-3.2/meta/cfg/kernel-cache/(arch|cfg|features|ktypes/base|ktypes/standard)
# if found print the matching file, if not print NOT FOUND.
for i in $(grep -v '^#' ~/Development/linux-yocto-3.2-work/.config
|grep -v '^$' | awk -F"=" '{print $1}'); do
    grep -H $i $(find arch/ cfg/ features/ ktypes/base
ktypes/standard/ -name *.cfg) || echo NOT FOUND: $i;
done | sort | uniq > ~/Development/features_all.txt

# Split the features_all.txt file into found and not found
grep -v '^NOT FOUND' features_all.txt > features_found.txt
grep '^NOT FOUND' features_all.txt > features_not_found.txt

# finally get a list of all scc files I need to include.
cat features_found.txt |awk -F':' '{print $1}' |sed \
    "s/.*\/\(.*\)\.cfg$/\1.scc/" |uniq > modules_to_include.txt

(I put all the mentioned files here: https://gist.github.com/3017292)

I guess the config variables inside features_not_found.txt are the one
I need to include into
the stamp9g20.cfg, stamp9g20-non_hardware.cfg files? (Ok except the
ones that get enabled
by some kernel dependency stuff ... but how to figure out this?)

Is there a better way to go? Maybe one where you don't have to have
magical powers? ;-)



More information about the yocto mailing list