Difference between revisions of "EBC Exercise 23 Configuring the Kernel"
m (→bitbake) |
(→Finding the kernel sources: Updated for non=bitbake version) |
||
| (27 intermediate revisions by 4 users not shown) | |||
| Line 1: | Line 1: | ||
| − | [[Category: | + | [[Category:ECE497]] |
[[Category:BeagleBoard]] | [[Category:BeagleBoard]] | ||
| + | {{YoderHead}} | ||
| − | + | In a previous exercise ([[EBC Exercise 22 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 | |
| − | + | host$ '''source ~/.oe/crossCompileEnv.sh''' | |
| − | + | host$ '''cd ~/BeagleBoard/kernel''' | |
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | '' | + | |
| − | + | ||
| − | + | == 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 | |
| − | If | + | 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. | ||
| + | |||
| + | 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''' | ||
| + | |||
| + | {{YoderFoot}} | ||
Latest revision as of 19:44, 29 October 2012
Embedded Linux Class by Mark A. Yoder
In a previous exercise (EBC Exercise 22 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/kernel
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