While the traditional Yocto Project development model would be to include kernel modules as part of the normal build process, you might find it useful to build modules on the target. This could be the case if your target system is capable and powerful enough to handle the necessary compilation. Before deciding to build on your target, however, you should consider the benefits of using a proper cross-development environment from your build host.
If you want to be able to build out-of-tree modules on
the target, there are some steps you need to take
on the target that is running your SDK image.
Briefly, the kernel-dev
package
is installed by default on all
*.sdk
images and the
kernel-devsrc
package is installed
on many of the *.sdk
images.
However, you need to create some scripts prior to
attempting to build the out-of-tree modules on the target
that is running that image.
Prior to attempting to build the out-of-tree modules,
you need to be on the target as root and you need to
change to the /usr/src/kernel
directory.
Next, make
the scripts:
# cd /usr/src/kernel # make scripts
Because all SDK image recipes include
dev-pkgs
, the
kernel-dev
packages will be installed
as part of the SDK image and the
kernel-devsrc
packages will be installed
as part of applicable SDK images.
The SDK uses the scripts when building out-of-tree
modules.
Once you have switched to that directory and created the
scripts, you should be able to build your out-of-tree modules
on the target.