Factory Menuconfig

menuconfig interface

Running make menuconfig from within the top-level Factory directory provides you with the above ncurses menu-driven configuration system.


Navigation within the menu-driven interface is done through the use of arrow keys, along with the Enter key and the Esc key, while selections can be made with the Space Bar. Instructions for navigating the menuconfig interface via your keyboard's arrow keys are listed near the top of the menuconfig window. Up/Down arrow keys move among menus and sub-menus, while Enter key selects the sub-menu and pressing the Esc button twice in quick succession will exit one menu/sub-menu.

The up/down arrow keys move your cursor (and highlighted entry) up and down, indicating which entry will be acted upon in combination with the <Select> <Exit> <Help> and <Save> options across the bottom of the menuconfig window. The left/right arrow keys determine which action to take when hitting the Enter key.

When a particular entry has additional sub-menu options, you will see a the ---> indicator. Pressing the Enter key while the cursor is on a line like this (as seen above with Target Configuration) will drop you into the sub-menu for the selected option/package. Much of the time, inidivual entires in menuconfig will simply have the ---- empty sub-menu indicator shown until the entry is selected as seen here with the busybox package.

menuconfig_009 vs. menuconfig_010


The series of option across the bottom of them menuconfig window dictates what the Enter key will accomplish at any given time.



Enters the sub-menu or allows for the editing of the option


Exits the current sub-menu, or in the case of the initial menuconfig screen, exits the menuconfig interface, prompting the option to save your configuration


Displays the Help text associated with the highlighted entry


entry independant Saves the current configuration with the supplied filename

Additionally, you can cycle through the selected/unselected states by pressing the Space Bar on your keyboard while the desired menuconfig menu or option is highlighted - typically you will see the following:
  • [*] - selected - will be included in your BSP/SDK
  • [ ] - not selected - will NOT be included your BSP/SDK
  • [d] - selected as a dependency of another selection - will be included in your BSP/SDK

Note In the case that a dependency-selected entry in menuconfig is also a user-selected entry, the [*] will be displayed, and if the user unselects this entry, the [*] will change to [d] to show this entry is still included in the workorder, but due to a dependency of another selection.

user-selected usbutils and util-linux selected as a dependency (in this case, due to mtd-utils)

Menuconfig also provides string search capabilities (via the / key) as well as Help text for the current item (via ? key).

Menuconfig Search

menuconfig search

menuconfig search results

Above shows the results of a search for 'busybox'. This search is case-insensitive and returns all instances of the search string. You can follow the progression of menus and sub-menus to reach the desired option listed under the "Location:" portion of the search results. In this case, more information that can fit on the screen at once is available, as is evident by percentage value in the bottom right corner ( 6%). You can use the up/down arrow keys to view the additional search results.

Menuconfig Help Text

menuconfig help text example (busybox)

Further information for a package or option in the menuconfig interface is provided via Help text. With an entry highlighted, pressing the h key will bring up the Help text for that entry. In this case, the Help text for the busybox package is displayed. A brief description of the package or option is listed, along with the workorder token associated with the entry, as well as the location in the menuconfig hierarchy the entry can be found.

Exiting the menuconfig Help text for an entry is the same as any other menu - pressing the Esc key twice in quick succession, or highlight the action at the bottom of the menuconfig window and pressing the Enter key - and be taken back to the previous menu.