Pergunta

Eu estou tentando construir um rootfs para um alvo x86, que é tudo bastante simples. No entanto, eu não consigo descobrir como eu configurar o kernel que BuildRoot produz. A primeira corrida através veio com menuconfig, mas está em cache o .config desde então e eu não posso ver onde a mudá-lo.

~ 650MB de módulos do kernel não fazer coisas boas para um alvo incorporado: P

Existe uma maneira fácil de configurar o kernel dentro BuildRoot? Algo como o alvo uclibc-menuconfig seria perfeito.

Foi útil?

Solução 2

E a resposta é:

make linux26-menuconfig

Outras dicas

Eu sempre fazer o seguinte:

  1. configure kernel Linux: make linux-menuconfig
  2. Depois de deixar menuconfig sua configuração serão armazenados no arquivo:. output/build/linux-XYZ/.config onde XYZ é a versão do kernel
  3. Depois que você pode copiar o arquivo output/build/linux-*XYZ*/.config para board/your_kernel_config/.config
  4. no final Buildroot menuconfig você pode sob kernel do configurações configure para usar arquivo personalizado de configuração do kernel e digite caminho: board/your_kernel_config/.config

Não se esqueça de definir também defconfig para i386 no menuconfig:

  Kernel  —>
  [*] Linux Kernel
  (i386) Defconfig name 

BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES

Adiciona configurações extras para o seu já existente.

por exemplo, se você estiver usando buildroot como um sub-módulo, os olhares árvore de diretórios como:.

.git/
buildroot/
.gitmodules
kernel-config-frag

por exemplo. Para ligar CONFIG_DEBUG_FS, fazer:

echo 'CONFIG_DEBUG_FS=y' > kernel-config-frag

e BuildRoot então configure com:

cd buildroot
make qemu_x86_64_defconfig
echo 'BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES=../kernel-config-frag' >> buildroot/.config
make

Desta forma, você pode git rastrear apenas um diff entre qemu_x86_64_defconfig e suas configurações extras.

Eu acredito que este usos scripts/kconfig/merge_config.sh formar o kernel como mencionado em: Como você não interativa ativar os recursos no arquivo de um kernel Linux config?

Depois de alterar o fragmento de configuração, lembre-se de fazer:

rm -rf buildroot/output/build/linux-*.*.*/

antes da próxima compilação.

exemplo executável Minimal em: https: //github.com/cirosantilli/linux-kernel-module-cheat/blob/bb8f4eb79565c9771356c80e0964c8fefc163e11/kernel-config-frag

BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE

Seleciona a .config completo para ser utilizado.

Por alguma razão eu tenho para nuke .config do kernel para que isso tenha efeito? Porque quando Eu mudar BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE e executar make linux-reconfigure o .config kernel não mudar?

As etapas são as seguintes:

  1. cd buildroot/

  2. make menuconfig

  3. Kernel -> Linux Kernel -> Versão Kernel

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top