كيف يمكنني تكوين نواة لينكس داخل Buildroot?
سؤال
أنا أحاول بناء rootfs على x86 المستهدفة التي هي بسيطة بما فيه الكفاية.ولكن أنا لا يمكن معرفة كيف يمكنني تكوين النواة التي buildroot تنتج.من خلال تشغيل أول جاء مع menuconfig, لكنه مؤقتا .التكوين منذ ذلك الحين وأنا لا يمكن أن نرى إلى أين تغييره.
~650MB من وحدات النواة لا تفعل الأشياء الجيدة جزءا لا يتجزأ من الهدف :P
هل هناك طريقة سهلة لتكوين نواة داخل buildroot?شيء من هذا القبيل uclibc-menuconfig
الهدف من شأنه أن يكون مثاليا.
المحلول 2
والجواب هو:
make linux26-menuconfig
نصائح أخرى
أنا دائما تفعل ما يلي:
- تكوين نواة لينكس:
make linux-menuconfig
- بعد أن ترك menuconfig التكوين الخاص بك سيتم تخزينها في الملف:
output/build/linux-XYZ/.config
حيث XYZ هو نسخة النواة. - بعد ذلك يمكنك نسخ الملف
output/build/linux-*XYZ*/.config
إلىboard/your_kernel_config/.config
- في وقت لاحق في Buildroot menuconfig يمكنك تحت إعدادات النواة تكوين لاستخدام نواة مخصصة config ثم أدخل المسار:
board/your_kernel_config/.config
لا تنس أن تحدد أيضا defconfig إلى i386 الموجود في menuconfig:
Kernel —>
[*] Linux Kernel
(i386) Defconfig name
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES
يضيف المزيد من التكوينات الخاصة بك الحالية.
E. g. ، إذا كنت تستخدم buildroot
كما submodule, شجرة الدليل تبدو مثل:
.git/
buildroot/
.gitmodules
kernel-config-frag
E. g.لتشغيل CONFIG_DEBUG_FS
, هل:
echo 'CONFIG_DEBUG_FS=y' > kernel-config-frag
ثم تكوين buildroot مع:
cd buildroot
make qemu_x86_64_defconfig
echo 'BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES=../kernel-config-frag' >> buildroot/.config
make
بهذه الطريقة يمكنك بوابة المسار مجرد فرق بين qemu_x86_64_defconfig
و الإضافية الخاصة بك التكوينات.
وأعتقد أن هذا يستخدم scripts/kconfig/merge_config.sh
شكل النواة كما ذكرنا في: كيف غير تفاعلي تشغيل الميزات في نواة لينكس .config الملف ؟
بعد تغيير التكوين جزء فقط تذكر أن تفعل:
rm -rf buildroot/output/build/linux-*.*.*/
قبل بناء.
الحد الأدنى runnable سبيل المثال في: https://github.com/cirosantilli/linux-kernel-module-cheat/blob/bb8f4eb79565c9771356c80e0964c8fefc163e11/kernel-config-frag
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE
يختار كامل .config
لاستخدامها.
لسبب ما يجب أن بقصف نواة .config
من أجل هذا التأثير ؟ لماذا عندما أقوم بتغيير BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE و جعل تشغيل لينكس-تكوين نواة .التكوين لا تتغير ؟
الخطوات هي كما يلي:
cd buildroot/
make menuconfig
Kernel -> نواة لينكس -> نسخة النواة