Difference between revisions of "EBC Exercise 23 Configuring the Kernel"
m |
m (Updated for 3.8 kernel) |
||
(10 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
[[Category:ECE497]] | [[Category:ECE497]] | ||
[[Category:BeagleBoard]] | [[Category:BeagleBoard]] | ||
+ | {{YoderHead}} | ||
+ | {{EBC3.8}}These instructions are for the 3.8 kernel. See [[EBC Exercise 23 Configuring the Kernel - bitbake]] for the 3.2 kernel. | ||
− | + | In a previous exercises ([[EBC Exercise 08a Cross-Compiling]] and [[EBC Exercise 08 Installing Development Tools]]) 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 | ||
− | host$ '''source ~ | + | host$ '''source ~/crossCompileEnv.sh''' (set up in [[EBC Exercise 08a Cross-Compiling]]) |
− | host$ '''cd BeagleBoard | + | host$ '''cd ~/BeagleBoard/linux-dev/KERNEL''' |
− | + | == 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 29: | ||
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 44: | ||
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. |
+ | 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}} | |
− | |||
− | |||
− | |||
− | |||
− | |||
− |
Revision as of 09:51, 3 June 2013
Embedded Linux Class by Mark A. Yoder
These instructions are for the 3.8 kernel. See EBC Exercise 23 Configuring the Kernel - bitbake for the 3.2 kernel.
In a previous exercises (EBC Exercise 08a Cross-Compiling and EBC Exercise 08 Installing Development Tools) 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 ~/crossCompileEnv.sh (set up in EBC Exercise 08a Cross-Compiling) host$ cd ~/BeagleBoard/linux-dev/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