Difference between revisions of "Kernel Building"

From Openembedded.org
Jump to: navigation, search
(Kernel image type)
(Select kernel version)
Line 14: Line 14:
 
== Select kernel version ==
 
== Select kernel version ==
  
To select which kernel version to build, edit config file ??? and set variable ??? to , for example, 2.6.35.
+
FIXME.
  
 
== Default configuration ==
 
== Default configuration ==

Revision as of 14:20, 21 October 2010

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

 KERNEL_IMAGETYPE = "uImage"

Select kernel version

FIXME.

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:

 recipes/linux/linux/vmware/defconfig

Apply custom patches

FIXME

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.

Compile

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, 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.