จะกำหนดค่าเคอร์เนล Linux ตามโมดูลที่ใช้งานอยู่ในปัจจุบันได้อย่างไร?


15

ฉันยินดีที่จะสร้างเคอร์เนลขั้นต่ำโดยมีเฉพาะสิ่งที่จำเป็นสำหรับเครื่องของฉัน ดังนั้นฉันจึงเริ่มต้นโดยการรวบรวมเคอร์เนลจากพื้นดินขึ้นโดยใช้การกำหนดค่าเริ่มต้นและเพิ่มสิ่งที่ฉันรู้ว่าฉันมี (เช่น: การ์ดอีเทอร์เน็ตการ์ด WiFi, ... )

แต่มีหลายสิ่งที่ไม่ง่ายที่จะรู้เกี่ยวกับ (เช่น: ตัวจับเวลาจ้องจับผิด) ดังนั้นฉันจึงเจอAutoKernConfซึ่งตรวจพบฮาร์ดแวร์ของเครื่องและสร้างไฟล์กำหนดค่าเคอร์เนลพร้อมการตั้งค่าสำหรับอุปกรณ์ที่พบ

ปัญหาคือมีการตั้งค่าหลายอย่างซ้ำ ๆ และแม้กระทั่งบางอย่างที่ฉันไม่มี (ฉันใช้แล็ปท็อป Dell และหนึ่งในสิ่งที่ "พบ" คือสิ่งที่เป็นของโตชิบา)

ดังนั้นฉันจึงสิ้นสุดการสร้างเคอร์เนลด้วยการกำหนดค่าที่ออกมาจากmake allmodconfigคำสั่งซึ่งเป็นเคอร์เนลที่ส่วนใหญ่รวบรวมเป็นโมดูล

การบูตเข้าสู่เคอร์เนลนั้นและการรันlsmodฉันสามารถดูโมดูลเคอร์เนลที่ใช้งานอยู่ (อันที่จำเป็นจริงๆ) และฉันต้องการทราบว่ามีเครื่องมือหรือวิธีใดบ้างที่ฉันจะแยกวิเคราะห์รายการนั้นและแปลงเป็นการตั้งค่าเคอร์เนลที่สอดคล้องกัน ไฟล์.

หรือวิธีการแมปแต่ละตัวด้วยตัวเลือกที่เหมาะสมในเคอร์เนลเพื่อให้ฉันสามารถตั้งค่าด้วยตนเอง

ขอบคุณมากสำหรับเวลาของคุณ.

คำตอบ:


19

หากคุณใช้ Linux 2.6.32 ขึ้นไปคุณอาจต้องการตรวจสอบ "localmodconfig" สร้างเป้าหมาย มันจะทำสิ่งที่คุณถาม - กำหนดโมดูลที่คุณใช้อยู่และสร้าง. config ให้แน่ใจว่าโมดูลเหล่านั้นถูกสร้างขึ้น เป้าหมาย "localyesconfig" จะรวบรวมโมดูลเหล่านั้นลงในเคอร์เนลแบบคงที่แทนที่จะสร้างโมดูล

ข้อมูลเพิ่มเติมได้ที่นี่: การตั้งค่า kernel ท้องถิ่นง่าย


ขอบคุณมากฉันใช้ตัวแปร 2.6.33 ดังนั้นฉันจึงสามารถใช้เป้าหมายนั้นได้
คาร์ล่า
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.