How to Configure the Linux Kernel Within Buildroot

How do I configure the Linux kernel within Buildroot?

And the answer is:

make linux26-menuconfig

Buildroot - how to customise an existing kernel defconfig

Buildroot does provide a make linux-update-defconfig as explained in the manual - But notice that you need to configure BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE first so it knows where to store the configuration file.

Alternatively you can work with a fragment file, E.G. a snippet of kconfig that gets appended to the bcmrpi_defconfig. See configs/orangepi_zero_defconfig for an example of this.

Configuring Kernel on Buildroot to integrate RAUC

First of all, you may want to try make linux-xconfig which gives you a GUI.

When you run make linux-menuconfig, you get a textual menu. It's quite difficult to find specific options by browsing through these menus, so there's a search function: type / (slash) and you get a search box. Type CONFIG_MD to find that symbol. Then you get a list of possible matches. Find the one you need. It should have a number before the menu entry:

Symbol: MD [=n]                                           
Type : bool
Defined at drivers/md/Kconfig:6
Prompt: Multiple devices driver support (RAID and LVM)
Depends on: BLOCK [=y]
Location:
(1) -> Device Drivers
Selects: SRCU [=n]

Type that number (i.e. 1) and you will be brought directly to that option. There you can enable it.

If no number appears before it, it means that it's an option that can't be selected directly (i.e. not a user-visible option). I don't think that that's the case for any of the options mentioned.

Sometimes you don't get brought to the option you need, but to its containing menu instead. This happens when one of the dependencies of the option is not met - cfr. the Depends on line in the search results. You can search again for these dependencies to enable them as well.

After finishing, remember to save the result with make linux-update-defconfig.

Buildroot - extract a custom board/buildroot config/kernel config out of tree

[You are asking two questions. I will answer only the question about saving the linux .config file; the other question is too generic.]

You need to set the appropriate options in menuconfig, not just override on the command line, otherwise they are inconsistent.

The process complete for creating a linux defconfig based on a pre-existing in-tree defconfig is the following. You have already done steps 1, 2 and 3.

  1. In the Buildroot configuration, select BR2_LINUX_KERNEL_USE_DEFCONFIG or BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG.
  2. Run make linux-menuconfig and adapt the linux configuration to your needs.
  3. Build and test, iterate over 2 until you have the configuration you want.
  4. In the Buildroot configuration, switch to BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG and set BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE to the place where you want to save it (typically board/passkeeper/linux.config or $(BR2_EXTERNAL_PASSKEEPER)/board/passkeeper/linux.config if you are using an external).
  5. Run make linux-update-defconfig. It is essential you do this before doing anything else, otherwise Buildroot will complain that the file doesn't exist.

buildroot for arm kernel defconfig

You can issue the default configuration process by running make xxx_defconfig and that make target is a file in the folder arch/arm/configs/. These default configurations are not designed to exactly fit your target, but are rather meant to be a superset so you only have to modify them a bit.

The make xxx_defconfig creates your initial .config, which you can now edit through make menuconfig and make your changes. After that, you can run make which will then compile the kernel using your settings.



Related Topics



Leave a reply



Submit