Skip to contentSkip to conversation

How do I configure the kernel?

Buildroot Grant Edwards 3 participants 11 messages Nov 20, 2009 – Nov 23, 2009 1 message not in the archive

lore
Share & tools
lore
#0 lore raw

How do you configure the kernel when using buildroot?

I've read through the docs and hunted through the "make menuconfig" system, but I can't figure out how to configure the kernel.

I'm trying to build an ARM Integrator image by following the directions at

http://www.linuxfordevices.com/c/a/Linux-For-Devices-Articles/Getting-started-with-an-embedded-Linux-system-emulator/

But my kernel just locks up solid with absolutely no output.

Signature · 3 lines
Grant Edwards                   grante             Yow! I always have fun
                                  at               because I'm out of my
                               visi.com            mind!!!

A message that is not in the archive (sent off-list or not yet received): [email protected]

#2 lore raw
Quoted 1 line · Grant Edwards

How do you configure the kernel when using buildroot?

make linux26-menuconfig

Other targets, such as Busybox, follow the same convention.

Nicholas

Quoted 15 lines

I've read through the docs and hunted through the "make menuconfig" system, but I can't figure out how to configure the kernel.

I'm trying to build an ARM Integrator image by following the directions at

http://www.linuxfordevices.com/c/a/Linux-For-Devices-Articles/Getting-started-with-an-embedded-Linux-system-emulator/

But my kernel just locks up solid with absolutely no output.

--
Grant Edwards ? ? ? ? ? ? ? ? ? grante ? ? ? ? ? ? Yow! I always have fun ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?at ? ? ? ? ? ? ? because I'm out of my ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? visi.com ? ? ? ? ? ?mind!!!

#3 lore raw
Quoted 5 lines · Nicholas Walton
Quoted 1 line · Grant Edwards

How do you configure the kernel when using buildroot?

make linux26-menuconfig

Doh! I trield make kernel-menuconfig and several other variations. For future reference, is there somewhere that's documented?

The next question was going to be where do I put a kernel .config file if I already have one I want to use. I can probably do a "find" to search for files named .config and figure out which is the right one. Then I assume I do "make linux26-oldconfig"?

Quoted 1 line

Other targets, such as Busybox, follow the same convention.

Yes, the docs do explain how to configure busybox and uclibc. I just hadn't guessed the correct "label" for doing the same thing for the kernel.

Signature · 1 line
Grant
#4 lore raw
Quoted 10 lines · Grant Edwards
Quoted 5 lines · Nicholas Walton
Quoted 1 line · Grant Edwards

How do you configure the kernel when using buildroot?

make linux26-menuconfig

Doh! ?I trield make kernel-menuconfig and several other variations. ?For future reference, is there somewhere that's documented?

I don't recall. I think I found it by bash autocomplete on make.

Quoted 5 lines

The next question was going to be where do I put a kernel .config file if I already have one I want to use. ?I can probably do a "find" to search for files named .config and figure out which is the right one. Then I assume I do "make linux26-oldconfig"?

In target/devices/{manufacturer}/{board} as linux-{version}.config, if I recall correctly. You can automatically create or update the appropriate file with "make linux26-update". And either menuconfig or oldconfig will fetch the linux-{version}.config file if output/build/linux-$version/.config does not exist.

Nicholas

Quoted 9 lines
Quoted 2 lines

Other targets, such as Busybox, follow the same convention.

Yes, the docs do explain how to configure busybox and uclibc. I just hadn't guessed the correct "label" for doing the same thing for the kernel.

--
Grant

#5 lore raw
In reply to Grant Edwards
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Grant" == Grant Edwards <[email protected]> writes:

Hi,

Quoted 5 lines · Nicholas Walton
Quoted 5 lines
Quoted 1 line · Grant Edwards

How do you configure the kernel when using buildroot?

make linux26-menuconfig

Grant> Doh! I trield make kernel-menuconfig and several other Grant> variations. For future reference, is there somewhere that's Grant> documented?

Yes, in docs/README:

Depending on your configuration, there are some targets you can use to use menuconfig of certain packages. This includes:

$ make HOSTCC=gcc-4.3 linux26-menuconfig
$ make HOSTCC=gcc-4.3 uclibc-menuconfig
$ make HOSTCC=gcc-4.3 busybox-menuconfig

We should probably also document it in docs/buildroot.html, I'll fix that now.

Grant> The next question was going to be where do I put a kernel Grant> .config file if I already have one I want to use. I can Grant> probably do a "find" to search for files named .config and Grant> figure out which is the right one. Then I assume I do "make Grant> linux26-oldconfig"?

Use the LINUX26_KCONFIG environment variable, similar to BUSYBOX_CONFIG_FILE / UCLIBC_CONFIG_FILE. I'll also update the doc about that one.

Signature · 1 line
Bye, Peter Korsgaard
#6 lore raw
Quoted 9 lines · Peter Korsgaard

Grant> The next question was going to be where do I put a kernel Grant> .config file if I already have one I want to use. I can Grant> probably do a "find" to search for files named .config and Grant> figure out which is the right one. Then I assume I do "make Grant> linux26-oldconfig"?

Use the LINUX26_KCONFIG environment variable, similar to BUSYBOX_CONFIG_FILE / UCLIBC_CONFIG_FILE. I'll also update the doc about that one.

Sorry to be so dense, but I still don't get it. I've got a .config file I want to use as the starting point for a "make oldconfig". I can point LINUX26_KCONFIG at that .config file, but how do I do the "make oldconfig" step?

Signature · 3 lines
Grant Edwards                   grante             Yow! Here we are in America
                                  at               ... when do we collect
                               visi.com            unemployment?
#7 lore raw
Quoted 8 lines · Grant Edwards
Quoted 6 lines · Peter Korsgaard

Grant> The next question was going to be where do I put a kernel Grant> .config file if I already have one I want to use. I can Grant> probably do a "find" to search for files named .config and Grant> figure out which is the right one. Then I assume I do "make Grant> linux26-oldconfig"?

Quoted 8 lines
Quoted 3 lines

Use the LINUX26_KCONFIG environment variable, similar to BUSYBOX_CONFIG_FILE / UCLIBC_CONFIG_FILE. I'll also update the doc about that one.

Sorry to be so dense, but I still don't get it. I've got a .config file I want to use as the starting point for a "make oldconfig". I can point LINUX26_KCONFIG at that .config file, but how do I do the "make oldconfig" step?

I got a working kernel by

0) pick the arch, board, target filesystem options, etc.

1) do a "make" and build everything (including a non-working kernel)

2) overwrite output/build/linux-2.6.30.2/.config with my old but "working" config file.

3) "make ARCH=arm oldconfig" in the output/build/linux-2.6.30.2 directory

That doesn't feel like the proper way to do it, but it seems to have worked.

Signature · 3 lines
Grant Edwards                   grante             Yow! Zippy's brain cells
                                  at               are straining to bridge
                               visi.com            synapses ...
#8 lore raw
Quoted 27 lines · Grant Edwards
Quoted 8 lines · Grant Edwards
Quoted 6 lines · Peter Korsgaard

Grant> The next question was going to be where do I put a kernel Grant> .config file if I already have one I want to use. ?I can Grant> probably do a "find" to search for files named .config and Grant> figure out which is the right one. Then I assume I do "make Grant> linux26-oldconfig"?

Quoted 8 lines
Quoted 3 lines

Use the LINUX26_KCONFIG environment variable, similar to BUSYBOX_CONFIG_FILE / UCLIBC_CONFIG_FILE. I'll also update the doc about that one.

Sorry to be so dense, but I still don't get it. ?I've got a .config file I want to use as the starting point for a "make oldconfig". ?I can point LINUX26_KCONFIG at that .config file, but how do I do the "make oldconfig" step?

I got a working kernel by

?0) pick the arch, board, target filesystem options, etc. ?1) do a "make" and build everything (including a non-working kernel) ?2) overwrite output/build/linux-2.6.30.2/.config with my old ? ?but "working" config file.
?3) "make ARCH=arm oldconfig" in the ?output/build/linux-2.6.30.2 ? ?directory

Quoted 2 lines

That doesn't feel like the proper way to do it, but it seems to have worked

That does work, but a more direct way would be to do the linux configuration through buildroot.

~/buildroot % make menuconfig
~/buildroot % make linux26-menuconfig
~/buildroot % cp old-linux.config output/build/linux-$version/.config ~/buildroot % make linux26-$either_config
~/buildroot % make

and finally

~/buildroot % make linux26-update

to copy output/build/linux-$version/.config to target/device/$whatever/linux-$version.config, which unlike output/ is not .gitignore'd.

Nicholas

#9 lore raw
Quoted 12 lines · Nicholas Walton
Quoted 11 lines

I got a working kernel by

?0) pick the arch, board, target filesystem options, etc. ?1) do a "make" and build everything (including a non-working kernel) ?2) overwrite output/build/linux-2.6.30.2/.config with my old ? ?but "working" config file.
?3) "make ARCH=arm oldconfig" in the ?output/build/linux-2.6.30.2 ? ?directory

That doesn't feel like the proper way to do it, but it seems to have worked

Quoted 8 lines

That does work, but a more direct way would be to do the linux configuration through buildroot.

~/buildroot % make menuconfig
~/buildroot % make linux26-menuconfig
~/buildroot % cp old-linux.config output/build/linux-$version/.config ~/buildroot % make linux26-$either_config
~/buildroot % make

What is $either_config?

Quoted 7 lines

and finally

~/buildroot % make linux26-update

to copy output/build/linux-$version/.config to target/device/$whatever/linux-$version.config, which unlike output/ is not .gitignore'd.

OK, thanks.

Signature · 3 lines
Grant Edwards                   grante             Yow! for ARTIFICIAL
                                  at               FLAVORING!!
                               visi.com            
#10 lore raw
Quoted 17 lines · Grant Edwards
Quoted 15 lines · Nicholas Walton
Quoted 11 lines

I got a working kernel by

?0) pick the arch, board, target filesystem options, etc. ?1) do a "make" and build everything (including a non-working kernel) ?2) overwrite output/build/linux-2.6.30.2/.config with my old ? ?but "working" config file.
?3) "make ARCH=arm oldconfig" in the ?output/build/linux-2.6.30.2 ? ?directory

That doesn't feel like the proper way to do it, but it seems to have worked

That does work, but a more direct way would be to do the linux configuration through buildroot.

Quoted 7 lines
Quoted 5 lines

~/buildroot % make menuconfig
~/buildroot % make linux26-menuconfig
~/buildroot % cp old-linux.config ?output/build/linux-$version/.config ~/buildroot % make linux26-$either_config
~/buildroot % make

What is $either_config?

menuconfig or oldconfig. Oldconfig will prompt you with new options, menuconfig assumes you know what you need to change from defaults.

Nicholas

Quoted 9 lines
Quoted 7 lines

and finally

~/buildroot % make linux26-update

to copy output/build/linux-$version/.config to target/device/$whatever/linux-$version.config, which unlike output/ is not .gitignore'd.

OK, thanks.

#11 lore raw
Quoted 9 lines · Nicholas Walton
Quoted 9 lines
Quoted 8 lines

That does work, but a more direct way would be to do the linux configuration through buildroot.

~/buildroot % make menuconfig
~/buildroot % make linux26-menuconfig
~/buildroot % cp old-linux.config ?output/build/linux-$version/.config ~/buildroot % make linux26-$either_config
~/buildroot % make

Quoted 5 lines
Quoted 1 line

What is $either_config?

menuconfig or oldconfig. Oldconfig will prompt you with new options, menuconfig assumes you know what you need to change from defaults.

While make linux26-menuconfig works, I could never get "make linux26-oldconfig" to work. That's why I resorted to the method I described.

  $ make linux26-oldconfig
  make: *** No rule to make target linux26-oldconfig'.  Stop.
Signature · 3 lines
Grant Edwards                   grante             Yow! Are you selling NYLON
                                  at               OIL WELLS??  If so, we can
                               visi.com            use TWO DOZEN!!