2009-09-12 15 views
10

मैं x86 लक्ष्य के लिए रूटफ्स बनाने की कोशिश कर रहा हूं, जो कि काफी आसान है। हालांकि मैं यह नहीं समझ सकता कि मैं उस निर्माण कर्नेल को कैसे कॉन्फ़िगर करता हूं जो buildroot उत्पन्न करता है। पहला रन मेन्यूकॉन्फ के साथ आया, लेकिन तब से यह .config को कैश किया गया है और मैं नहीं देख सकता कि इसे कहां बदलना है।मैं बिल्ड्रूट के भीतर लिनक्स कर्नेल को कैसे कॉन्फ़िगर कर सकता हूं?

~ कर्नेल मॉड्यूल के 650MB एक एम्बेडेड लक्षित करने के लिए अच्छी बातें नहीं करते: पी

वहाँ एक आसान तरीका buildroot भीतर गिरी कॉन्फ़िगर करने के लिए है? uclibc-menuconfig लक्ष्य की तरह कुछ सही होगा।

+0

यह बेहतर हो सकता है http://ServerFault.com/ या http://SuperUser.com/ पर जवाब हो सकता है। – mctylr

उत्तर

29

मैं हमेशा निम्न कार्य करें:

  1. कॉन्फ़िगर लिनक्स कर्नेल: make linux-menuconfig
  2. फ़ाइल में संग्रहीत किया जाएगा menuconfig आपके विन्यास छोड़ने के बाद: output/build/linux-XYZ/.config जहां XYZ आपका कर्नेल संस्करण है।
  3. उसके बाद आप बाद में Buildroot में board/your_kernel_config/.config
  4. करने के लिए फ़ाइल output/build/linux-*XYZ*/.config कॉपी कर सकते हैं गिरी सेटिंग के तहत menuconfig कस्टम कर्नेल कॉन्फ़िग फ़ाइल का उपयोग करें और पथ दर्ज करने के लिए कॉन्फ़िगर कर सकते हैं: board/your_kernel_config/.config
+2

'लिनक्स-xconfig' भी काम करता है। इसमें अतिरिक्त लाभ है कि यदि आप कुछ खोजते हैं, तो आप इसे खोज विंडो में चुन सकते हैं, और यह उस आइटम के स्थान पर मुख्य विंडो को अपडेट करता है। –

2

मत भूलना भी करने के लिए defconfig स्थापित करने के लिए menuconfig में i386:

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

BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES एक और अच्छा विकल्प है।

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

जैसे:

जैसे, यदि आप एक submodule के रूप में buildroot उपयोग कर रहे हैं, निर्देशिका वृक्ष की तरह दिखता है 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 और अपने अतिरिक्त कॉन्फ़िगरेशन के बीच सिर्फ एक diff git कर सकते हैं।

मेरा मानना ​​है कि इस का उपयोग करता है scripts/kconfig/merge_config.sh गिरी फार्म के रूप में उल्लेख किया है: How do you non-interactively turn on features in a Linux kernel .config file?

के बाद आप config टुकड़ा बदलने के लिए, बस करने के लिए याद रखें:

rm -rf buildroot/output/build/linux-*.*.*/ 
अगले निर्माण से पहले

मिनिमल runnable उदाहरण: https://github.com/cirosantilli/linux-kernel-module-cheat/blob/bb8f4eb79565c9771356c80e0964c8fefc163e11/kernel-config-frag