Kernel Building

Revision as of 13:36, 9 March 2011 by Ynezz (talk | contribs) (fix devshell howto)

Jump to: navigation, search

Default Build

For a default build, just run:

 bitbake virtual/kernel

After done, you can collect the built image from under the deploy folder, for example: build/tmp/deploy/glibc/images/vmware/bzImage-vmware.bin.

Kernel image type

What kind of kernel image to build is controlled by the variable KERNEL_IMAGETYPE, which is normally defined in the machine config file. For example, build image for u-boot


Select kernel version


Default configuration

The default .config file used is normally placed somewhere under recipes/linux named defconfig. You may want to search for it, say for vmware:

 find recipes/linux -name "vmware*"

And you find it in:


Apply custom patches


Customize configuration

If you need to customize the kernel configuration, you may run the menuconfig task by:

 bitbake -c menuconfig virtual/kernel

Note: by default these command requires you to run in X Windows. If you want to work in text terminal only, here's a how to.


After that, you can compile the kernel by:

 bitbake -f -c compile virtual/kernel

Fine control

If you need more control over the configuration and compile process, add this somewhere into your local.conf:

 INHERIT += "devshell"

and then you can go to the shell by:

 bitbake -c devshell virtual/kernel

The build environment will be well setup for you; you can run regular make commands like make bzImage ...etc

Preserving the custom configuration

Changes are lost if you remove the tmpdir or do a "bitbake -c clean virtual/kernel", so you may consider replacing the defconfig with it.