The OpenEmbedded build system needs to be able to build a kernel
for the machine.
You need to either create a new kernel recipe for this machine,
or extend an existing kernel recipe.
You can find several kernel recipe examples in the
Source Directory at
meta/recipes-kernel/linux
that you can use as references.
If you are creating a new kernel recipe, normal recipe-writing
rules apply for setting up a
SRC_URI
.
Thus, you need to specify any necessary patches and set
S
to point at the source code.
You need to create a do_configure
task that
configures the unpacked kernel with a
defconfig
file.
You can do this by using a make defconfig
command or, more commonly, by copying in a suitable
defconfig
file and then running
make oldconfig
.
By making use of inherit kernel
and
potentially some of the linux-*.inc
files,
most other functionality is centralized and the defaults of the
class normally work well.
If you are extending an existing kernel recipe, it is usually
a matter of adding a suitable defconfig
file.
The file needs to be added into a location similar to
defconfig
files used for other machines
in a given kernel recipe.
A possible way to do this is by listing the file in the
SRC_URI
and adding the machine to the
expression in
COMPATIBLE_MACHINE
:
COMPATIBLE_MACHINE = '(qemux86|qemumips)'