Comment configurer le noyau Linux dans Buildroot?
Question
J'essaie de créer un rootfs pour une cible x86, ce qui est assez simple. Cependant, je n'arrive pas à comprendre comment configurer le noyau produit par buildroot. Menuconfig est apparu lors de la première exécution, mais le fichier .config a été mis en cache depuis et je ne vois pas où le modifier.
~ 650 Mo de modules du noyau ne font pas de bonnes choses pour une cible intégrée: P
Existe-t-il un moyen simple de configurer le noyau dans buildroot? Quelque chose comme la cible uclibc-menuconfig
serait parfait.
La solution 2
Et la réponse est:
make linux26-menuconfig
Autres conseils
Je fais toujours ce qui suit:
- configurer le noyau Linux:
make linux-menuconfig
- Après avoir quitté menuconfig, votre configuration sera stockée dans le fichier:
sortie / build / linux-XYZ / .config
où XYZ est la version de votre noyau. - Ensuite, vous pouvez copier le fichier
sortie / build / linux- * XYZ * /. config
danscarte / your_kernel_config / .config
- plus tard dans Buildroot menuconfig, vous pouvez configurer les paramètres du noyau pour utiliser un fichier de configuration de noyau personnalisé et entrer le chemin:
carte / votre_configuration_kernel / .config
N'oubliez pas de définir également defconfig sur i386 dans menuconfig:
Kernel —>
[*] Linux Kernel
(i386) Defconfig name
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES
Ajoute des configurations supplémentaires à votre configuration existante.
Exemple: si vous utilisez buildroot
en tant que sous-module, l’arborescence de répertoires ressemble à ceci:
.git/
buildroot/
.gitmodules
kernel-config-frag
E.g. pour activer CONFIG_DEBUG_FS
, faites:
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 ne pouvez suivre que la différence entre qemu_x86_64_defconfig
et vos configurations supplémentaires.
Je crois que cela utilise scripts / kconfig / merge_config.sh
pour former le noyau, comme indiqué à: Comment activer de manière non interactive les fonctionnalités dans un fichier .config du noyau Linux?
Après avoir modifié le fragment de configuration, n'oubliez pas de faire:
rm -rf buildroot/output/build/linux-*.*.*/
avant la prochaine construction.
Exemple minimal exécutable à l'adresse: Pourquoi quand Je change BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE et lance make linux-reconfigure le noyau .config ne change pas?
Les étapes sont les suivantes:
-
cd buildroot /
-
make menuconfig
-
Noyau - > Noyau Linux - > Version du noyau