- menuconfig
-
make menuconfig
is one of three tools (actually four starting with kernel 2.6.35; there is a new option: make nconfig that is similar to menuconfig) that can configure the Linux kernel source, a necessary early step needed to compile the source code.make menuconfig
, with a convenient menu-driven user-interface, allows the user to choose the features of the Linux kernel (and other options) that will be compiled. It is normally invoked using the commandmake menuconfig
, menuconfig is a target in the Linux kernel Makefile.Contents
History
make menuconfig
was not in the first version of Linux. The predecessor tool is a question-and-answer-based utility (make config
,make oldconfig
). A third tool for Linux configuration ismake xconfig
, which requires X.Advantages over earlier versions
Despite being a simple design,
make menuconfig
offers considerable advantages to the question-and-answer-based configuration tool, the most notable being a basic search system and the ability to load and save files with filenames different from “.config
”.make menuconfig
gives the user an ability to navigate forwards or backwards directly between features, rather than usingmake config
by pressing the enter (⏎) key up to 80 times to find a specific feature.If the user is satisfied with a previous
.config
file, usingmake oldconfig
uses this previous file to answer all questions that it can, only interactively presenting the new features. This is intended for a version upgrade, but may be appropriate at other times.make menuconfig
is a light load on system resources unlikemake xconfig
(uses Qt as of version 2.6.31.1, formerly Tk) ormake gconfig
, which utilizes GTK+. It's possible to ignore most of the features withmake menuconfig
, and doing so makes it more likely that one will configure an incomplete or oversized kernel. It's recommended to start with the.config
file included with the Linux distribution, which makes it easier to configure a custom kernel.Better than editing the
.config
by hand,make menuconfig
easily shows the descriptions of each feature (?), and adds some (primitive in version 2.6.31.1) dependency checking. With make oldconfig, dependency checking can be done in one step, but requires the user to locate the features that were changed, by hand, to be sure that the needed ones are still enabled.Practically, using both
make menuconfig
andmake oldconfig
, diff, (also cvs and a decent text editor) provides the most flexibility and most dependability. Configuring Linux is a significant labor, so users are strongly advised to make backups of it (i.e.cp /usr/src/linux*/.config ~/savemywork.config
).The help information is distributed throughout the kernel source tree in the various files called Kconfig.
Requsites/Dependencies
To use
make menuconfig
, the Linux kernel source is a requirement, a make tool, a C compiler, and the ncurses library.Key Strokes
Main Key strokes Key stroke Meaning ? Option description and tips/Help Left/Right (⬌) Up/Down (⬍) PgUp/PgDn Navigate through the kernel features and menuconfig commands. Esc Esc Exit menuconfig or cancel the command. Enter (⏎) Activate a command, or expand a branch. y Compile and include this feature inside of the kernel. m Compile this feature as a module, separate from the kernel. n Do not compile the feature. / Search configuration parameter. Symbols
To the left of the features is the setting (y, M, or empty) enclosed in two punctuation marks.
Dependency information Symbol Meaning < > No dependencies. [ ] A dependency requires this to be compiled-in (y), or not compiled (n). { } A dependency requires this to be a module (m) or compiled-in (y). - - A dependency requires this to be compiled-in (y). Note that the supplied dependency information is primitive, it does not tell you the names of the depentant features.
Other symbols Symbol Meaning ---> Use enter (⏎) to expand this branch as a new window. (Experimental) Less/Unstable code, beware. (New) An option not in your old version of Linux. What next?
The user is encouraged to read the Linux README, since there are also many other targets. Each will configure the kernel, but with different features activated.
make menuconfig
- Next build the compressed kernel and its modules, a long process.
make
. - Install using your favorite method such as
make install
,make modules_install
.
See also
References
External links
Linux operating system Linux Adoption (Adopters) · Criticism (of desktop Linux) · History · Kernel (kernel names · supported architectures) · Linus' Law · Linux Foundation · Linux-libre · Tux · vmlinuxDistribution GNU Free Software Foundation · GNU · GNU GPL · GNU/Linux naming controversy · GNU packages · GNU ProjectWindow manager User interface Applications People Media Lists System arrangement
and featuresMobile Access Linux Platform · Android · Ångström · bada · LiMo Foundation · LiMo Platform · Linux Phone Standards Forum · MeeGo (Maemo · Moblin) · Mobilinux · Open Handset Alliance · Openmoko · OPhone · webOS · SHR · Ubuntu MobileOther topics Linux conference · Linux Documentation Project · Malware · Linux Standard Base · Linux User Group (LUG) · Revolution OS · SCO and Linux · Tanenbaum–Torvalds debate · The CodeCategories:- Linux configuration utilities
- Linux kernel
- Curses (programming library)
Wikimedia Foundation. 2010.