2009-09-12 8 views
10

J'essaye de construire un rootfs pour une cible x86, ce qui est assez simple. Cependant je ne peux pas comprendre comment je configure le noyau que le buildroot produit. Le premier passage a été créé avec menuconfig, mais depuis, il est mis en cache .config et je ne vois pas où le changer.Comment configurer le noyau Linux dans Buildroot?

~ 650Mo de modules du noyau ne font pas de bonnes choses à une cible embarquée: P

Y at-il un moyen facile de configurer le noyau au sein buildroot? Quelque chose comme la cible uclibc-menuconfig serait parfait.

+0

Cela pourrait être mieux répondre à http://ServerFault.com/ ou http://SuperUser.com/ peut-être. – mctylr

Répondre

2

Et la réponse est:

make linux26-menuconfig 
29

que je fais toujours ce qui suit:

  1. configure le noyau Linux: make linux-menuconfig
  2. Après avoir quitté menuconfig votre configuration seront stockés dans le fichier: output/build/linux-XYZ/.configXYZ est la version de votre noyau.
  3. Après que vous pouvez copier le fichier output/build/linux-*XYZ*/.config-board/your_kernel_config/.config
  4. plus tard dans Buildroot menuconfig vous pouvez dans les paramètres du noyau configurer pour utiliser le fichier de configuration noyau personnalisé et le chemin entrez: board/your_kernel_config/.config
+2

'make linux-xconfig' fonctionne également. Il a l'avantage supplémentaire que si vous recherchez quelque chose, vous pouvez le sélectionner dans la fenêtre de recherche, et il met à jour la fenêtre principale à l'endroit de cet article. –

2

Ne pas oublier de mettre également defconfig à i386 dans menuconfig:

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

BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES est une autre option.

par exemple, si vous utilisez buildroot comme un sous-module, l'arborescence ressemble:

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

Par ex pour allumer CONFIG_DEBUG_FS, faire:

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

puis configurez buildroot avec:

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

De cette façon, vous pouvez suivre git juste un diff entre qemu_x86_64_defconfig et vos configs supplémentaires.

Je crois que ce utilise scripts/kconfig/merge_config.sh forment le noyau comme mentionné à: How do you non-interactively turn on features in a Linux kernel .config file?

Après avoir modifié le fragment de config, rappelez-vous juste faire:

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

avant la prochaine construction.

exemple minimal runnable à: https://github.com/cirosantilli/linux-kernel-module-cheat/blob/bb8f4eb79565c9771356c80e0964c8fefc163e11/kernel-config-frag

Questions connexes