Menuconfig
Tool for compiling Linux source code
From Wikipedia, the free encyclopedia
make menuconfig is one of five similar tools that can assist a user in configuring the Linux kernel before building, a necessary step needed to compile the source code. make menuconfig, with a menu-driven user interface, allows the user to choose which features and modules to compile. It is normally invoked using the command make menuconfig; menuconfig is a target in the Linux Makefile.
| menuconfig | |
|---|---|
menuconfig for Linux version 4.4.2 | |
| Written in | C |
| Operating system | Linux |
| Type | Build automation tool |
| License | GNU General Public License |
| Website | www |
Overview
make menuconfig was not in the first version of Linux. Prior to 2.5.45, the predecessor tool used Configuration Menu Language (CML) and was a question-and-answer-based utility (make config, make oldconfig).
Variations of the tool for Linux configuration include:
make xconfig, which requires Qtmake gconfig, which uses GTK+make nconfig, which is similar tomake menuconfig.
All these tools use the Kconfig language internally. Kconfig is also used in other projects, such as Das U-Boot, a bootloader for embedded devices, Buildroot, a tool for generating embedded Linux systems, and BusyBox, a single-executable shell utility toolbox for embedded systems.
make menuconfig is generally more user-friendly compared to the question-and-answer-based configuration tool make config, and has a basic search system.
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.
Dependencies
See also
References
- The
make menuconfigtool itself. - Linux From Scratch
- How to Build a Minimal Linux System Archived 2009-10-23 at the Wayback Machine
- Creating custom kernels with Debian's kernel-package system
- Cross compiling Linux on IBM System z
- How to roll your own Linux
- Building A Kernel The Traditional Way
- The Linux Kernel HOWTO
- Kconfig language