World Library  
Flag as Inappropriate
Email this Article


Article Id: WHEBN0001548236
Reproduction Date:

Title: Menuconfig  
Author: World Heritage Encyclopedia
Language: English
Subject: Linux kernel, Ncurses, Configuration Menu Language, Evdev, Kernel same-page merging
Publisher: World Heritage Encyclopedia


menuconfig for a 3.10.0-rc2 Linux kernel
Written in C
Operating system Linux
Type build automation tool
License GNU General Public License
Website .org.kernelwww

make menuconfig is one of five similar tools that can configure the Linux kernel source, a necessary early step needed to compile the source code. make menuconfig, with a 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 command make menuconfig, menuconfig is a target in the Linux kernel Makefile.


make menuconfig was not in the first version of the Linux kernel. The predecessor tool is a question-and-answer-based utility (make config, make oldconfig). A third tool for Linux configuration is make xconfig, which requires Qt. There is also make gconfig, which uses GTK+, and make nconfig, which is similar to make menuconfig.

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 using make 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, using make 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 unlike make xconfig (uses Qt as of version, formerly Tk) or make gconfig, which utilizes GTK+. It's possible to ignore most of the features with make config, 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 shows the descriptions of each feature (?), and adds some (primitive in version 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 and make 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.


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
This article was sourced from Creative Commons Attribution-ShareAlike License; additional terms may apply. World Heritage Encyclopedia content is assembled from numerous content providers, Open Access Publishing, and in compliance with The Fair Access to Science and Technology Research Act (FASTR), Wikimedia Foundation, Inc., Public Library of Science, The Encyclopedia of Life, Open Book Publishers (OBP), PubMed, U.S. National Library of Medicine, National Center for Biotechnology Information, U.S. National Library of Medicine, National Institutes of Health (NIH), U.S. Department of Health & Human Services, and, which sources content from all federal, state, local, tribal, and territorial government publication portals (.gov, .mil, .edu). Funding for and content contributors is made possible from the U.S. Congress, E-Government Act of 2002.
Crowd sourced content that is contributed to World Heritage Encyclopedia is peer reviewed and edited by our editorial staff to ensure quality scholarly research articles.
By using this site, you agree to the Terms of Use and Privacy Policy. World Heritage Encyclopedia™ is a registered trademark of the World Public Library Association, a non-profit organization.

Copyright © World Library Foundation. All rights reserved. eBooks from Project Gutenberg are sponsored by the World Library Foundation,
a 501c(4) Member's Support Non-Profit Organization, and is NOT affiliated with any governmental agency or department.