Difference between revisions of "EBC Exercise 23 Configuring the Kernel"
m |
(All new and improved) |
||
| Line 1: | Line 1: | ||
[[Category:ECE497]] | [[Category:ECE497]] | ||
[[Category:BeagleBoard]] | [[Category:BeagleBoard]] | ||
| − | |||
| − | |||
In a previous exercise ([[EBC Exercise 12 Cross-Compiling and Finding the Right Kernel]]) you learned how to get and compile the kernel. Here we'll look at configuring it. | In a previous exercise ([[EBC Exercise 12 Cross-Compiling and Finding the Right Kernel]]) you learned how to get and compile the kernel. Here we'll look at configuring it. | ||
| + | |||
| + | == Finding the kernel sources == | ||
| + | |||
First set up the environment and go to the kernel directory | First set up the environment and go to the kernel directory | ||
| Line 17: | Line 18: | ||
will take you to the kernel directory. Put the alias in your '''~/.bashrc''' file so it will be there every time you log in. | 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''' | host$ '''make help | less''' | ||
| Line 32: | Line 34: | ||
gconfig - Update current config utilising a GTK based front-end | gconfig - Update current config utilising a GTK based front-end | ||
... | ... | ||
| − | This produces a list of common make targets. 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 | + | 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''' | host$ '''make menuconfig''' | ||
| Line 43: | Line 49: | ||
make[1]: *** [scripts/kconfig/dochecklxdialog] Error 1 | make[1]: *** [scripts/kconfig/dochecklxdialog] Error 1 | ||
make: *** [menuconfig] Error 2 | make: *** [menuconfig] Error 2 | ||
| − | If you get the error above, you need to install the ncurses library. | + | If you get the error above, you need to install the ncurses library. [[ECE497_Tips_and_Tricks#On_the_host Here]] are notes on how to discover what to install and installing it. |
| + | == Configuring the kernel == | ||
| + | Try the various interfaces for configuring the kernel. | ||
| + | |||
| + | host$ '''make menuconfig''' | ||
host$ '''make xconfig''' | 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''' | |
| − | + | ||
| − | + | ||
| − | + | ||
| − | $ | + | |
| − | + | ||
| − | + | ||
| − | $ | + | |
| − | $ | + | |
| − | + | ||
Revision as of 15:52, 30 December 2011
In a previous exercise (EBC Exercise 12 Cross-Compiling and Finding the Right Kernel) 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/crossCompileEnv.sh host$ cd BeagleBoard/oe/build/tmp-angstrom_2010_x-eglibc/work/beagleboard-angstrom-linux-gnueabi/linux-omap-psp-2.6.32-r110b+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_2010_x-eglibc/work/beagleboard-angstrom-linux-gnueabi/linux-omap-psp-2.6.32-r110b+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. ECE497_Tips_and_Tricks#On_the_host Here are notes on how to discover what to install and installing it.
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