Difference between revisions of "Kernel Building"
Michaelfung (talk | contribs) (→Kernel configuration) |
Michaelfung (talk | contribs) (→Kernel configuration) |
||
Line 20: | Line 20: | ||
Where to place the patch files and how to configure OE to apply them? | Where to place the patch files and how to configure OE to apply them? | ||
− | + | == Default configuration == | |
− | |||
− | |||
The default .config file used is normally placed somewhere under recipes/linux named '''defconfig'''. | The default .config file used is normally placed somewhere under recipes/linux named '''defconfig'''. | ||
Line 33: | Line 31: | ||
− | + | == Apply custom patches == | |
FIXME | FIXME | ||
− | + | == Customize configuration == | |
If you need to customize the kernel configuration, you may run the menuconfig task by: | If you need to customize the kernel configuration, you may run the menuconfig task by: | ||
bitbake -c menuconfig virtual/kernel | bitbake -c menuconfig virtual/kernel | ||
Line 43: | Line 41: | ||
'''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_use_bitbake_without_X_Windows|how to]]. | '''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_use_bitbake_without_X_Windows|how to]]. | ||
− | + | == Compile == | |
After that, you can compile the kernel by: | After that, you can compile the kernel by: | ||
bitbake -f -c compile virtual/kernel | 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: | If you need more control over the configuration and compile process, you can go to the shell by: | ||
bitbake -c devshell virtual/kernel | bitbake -c devshell virtual/kernel | ||
The build environment will be well setup for you; you can run regular make commands like <tt>make bzImage</tt> ...etc | The build environment will be well setup for you; you can run regular make commands like <tt>make bzImage</tt> ...etc | ||
− | + | == Preserving the custom configuration == | |
Changes are lost if you remove the tmpdir or do a "<tt>bitbake -c clean virtual/kernel</tt>", so you | Changes are lost if you remove the tmpdir or do a "<tt>bitbake -c clean virtual/kernel</tt>", so you | ||
may consider replacing the defconfig with it. | may consider replacing the defconfig with it. |
Revision as of 08:13, 21 October 2010
Contents
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. For example, build image for u-boot
KERNEL_IMAGETYPE = "uImage"
Select kernel version
To select which kernel version to build, edit config file ??? and set variable ??? to , for example, 2.6.35.
Kernel patches
Where to place the patch files and how to configure OE to apply them?
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.