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.
- In the Buildroot configuration, select
BR2_LINUX_KERNEL_USE_DEFCONFIG
orBR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG
. - Run
make linux-menuconfig
and adapt the linux configuration to your needs. - Build and test, iterate over 2 until you have the configuration you want.
- In the Buildroot configuration, switch to
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG
and setBR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE
to the place where you want to save it (typicallyboard/passkeeper/linux.config
or$(BR2_EXTERNAL_PASSKEEPER)/board/passkeeper/linux.config
if you are using an external). - 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
Why Should I Recompile an Entire Program Just for a Library Update
How to Catch Duplicate Entries in Text File in Linux
Using Find with -Exec {}, How to Count the Total
Null Modem Emulator (Com0Com) for Linux
Iterating Over Lists in Makefiles
How to Debug the Linux Kernel with Qemu and Kgdb
What Does the Gcc Error Message, "Error: Unsupported for 'Mov'", Mean
How to Get Eclipse Swt Browser Component Running on Ubuntu 11.04 (Natty Narwhal) with Webkit
Extract List of File Names in a Zip Archive When 'Unzip -L'
Systemd: "Environment" Directive to Set Path
Interrupting Epoll_Wait with a Non-Io Event, No Signals
Insert Linux Kernel Module Statically
Error Running Make: Missing Separator (Did You Mean Tab Instead of 8 Spaces)
Can't Install Freetds via Yum Package Manager
How to Use Watir to Scrape Data from a Website on a Linux Server Without Monitor