Difference between revisions of "EBC Exercise 23 Configuring the Kernel - bitbake"
m (→Finding the kernel sources) |
|||
| Line 5: | Line 5: | ||
This is the '''bitbake''' version. | This is the '''bitbake''' version. | ||
| − | In a previous exercise ([[EBC Exercise 22 Cross-Compiling and Finding the Right Kernel - | + | In a previous exercise ([[EBC Exercise 22 Cross-Compiling and Finding the Right Kernel - bitbake]]) you learned how to get and compile the kernel. Here we'll look at configuring it. |
== Finding the kernel sources == | == Finding the kernel sources == | ||
Revision as of 05:29, 8 November 2012
Embedded Linux Class by Mark A. Yoder
This is the bitbake version.
In a previous exercise (EBC Exercise 22 Cross-Compiling and Finding the Right Kernel - bitbake) you learned how to get and compile the kernel. Here we'll look at configuring it.
Contents |
Finding the kernel sources
First set up the environment and go to the kernel directory
host$ source ~/.oe/crossCompileEnvBitbake.sh host$ cd ~/BeagleBoard/oe/build/tmp-angstrom_v2012_05-eglibc/work/beagleboard-angstrom-linux-gnueabi/linux-omap-psp-2.6.32-r121c+gitr5fc29e7b2a76a64a739f857858ef0b98294aa155/git/
We'll be visiting this directory so often you should set up an alias:
host$ alias kernel="cd ~/BeagleBoard/oe/build/tmp-angstrom_v2012_05-eglibc/work/beagleboard-angstrom-linux-gnueabi/linux-omap-psp-2.6.32-r121c+gitr5fc29e7b2a76a64a739f857858ef0b98294aa155/git/"
Then just entering
host$ kernel
will take you to the kernel directory. Put the alias in your ~/.bashrc file so it will be there every time you log in.
Getting kernel make help
Once there try some of the make commands. Help is a good place to start.
host$ make help | less
Cleaning targets:
clean - Remove most generated files but keep the config and
enough build support to build external modules
mrproper - Remove all generated files + config + various backup files
distclean - mrproper + remove editor backup and patch files
Configuration targets:
config - Update current config utilising a line-oriented program
menuconfig - Update current config utilising a menu based program
xconfig - Update current config utilising a QT based front-end
gconfig - Update current config utilising a GTK based front-end
...
This produces a list of common make targets.
Finding and installing support software
There are several ways to configure the kernel. make config will prompt you line-by-line for each of the settings, very tedious, not recommended. Try
host$ make menuconfig *** Unable to find the ncurses libraries or the *** required header files. *** 'make menuconfig' requires the ncurses libraries. *** *** Install ncurses (ncurses-devel) and try again. *** make[1]: *** [scripts/kconfig/dochecklxdialog] Error 1 make: *** [menuconfig] Error 2
If you get the error above, you need to install the ncurses library. Here are notes on how to discover what to install and installing it.
NOTE FOR UBUNTU USERS: 'sudo apt-get install libncurses5-dev' without quotes will install ncurses
Configuring the kernel
Try the various interfaces for configuring the kernel.
host$ make menuconfig host$ make xconfig host$ make gconfig
I had to run the following to get these to work.
host$ sudo apt-get install libncurses5-dev host$ sudo apt-get install qt3-dev-tools host$ sudo apt-get install libglade2-dev
Embedded Linux Class by Mark A. Yoder