Sunday, June 26, 2011

Linux kenel make options

There are various make options for configuring the Linux kernel compilation

1. "make config" - Simple plain text interface. It is hard to use and requires you to go through each and every option manually. Not recommended.


2. "make menuconfig" - ncurse based text based interface with color menus, radiolists & dialogs. It needs the ncurse package to be installed in the system. Highly recommended. There are different variation of it that run on X based interface :
a. "make xconfig" - Qt (X windows) based configuration tool.
b. "make gconfig" - GTK (X windows) based configuration tool.


3. "make nconfig" - similar to "make menuconfig" above but a better text based color menus.


4. "make oldconfig" - Default all questions based on the contents of your existing ./.config file and asking about new config symbols. You need to copy your old kernel .config file to the current location.

5. "make silentoldconfig"- Like above, but avoids cluttering the screen with questions already answered. Additionally updates the dependencies.

6. "make defconfig" - Create a ./.config file by using the default symbol values from either arch/$ARCH/defconfig or arch/$ARCH/configs/${PLATFORM}_defconfig, depending on the architecture.

7. "make ${PLATFORM}_defconfig" - Create a ./.config file by using the default symbol values from arch/$ARCH/configs/${PLATFORM}_defconfig. Use "make help" to get a list of all available
platforms of your architecture.

8. "make localmodconfig" - Runs "lsmod" to find all the modules loaded on the current running system. Reads all the Makefiles to locate which CONFIG enables a module. Reads the Kconfig files to find the dependencies and selects that is needed to support a CONFIG. Finally, reads the .config file and removes any module "=m" that is not needed to enable the currently loaded modules.

9. "make allyesconfig" - Create a ./.config file by setting symbol values to 'y' as much as possible.

10. "make allmodconfig" - Create a ./.config file by setting symbol values to 'm' as much as possible.

11. "make allnoconfig" - Create a ./.config file by setting symbol values to 'n' as much as possible.

12. "make randconfig" - Create a ./.config file by setting symbol values to random values.

More information is available in the ./README file of the kernel source tree.

No comments:

Post a Comment