1
แผนผังแหล่งที่มาของเคอร์เนลประกอบด้วยอะไร? สิ่งนี้เกี่ยวข้องกับส่วนหัวเคอร์เนลของ Linux หรือไม่
ในหนังสือที่ผมมักจะอ่านอ้างอิงถึงแหล่งที่มาของลินุกซ์ที่ต้นไม้/usr/src/linuxกับชุดปกติของไดเรกทอรีย่อย ( arch, block, crypto, ... ) ฉันคาดหวังว่าต้นไม้ต้นนี้จะมีไฟล์ไบนารีที่สร้างเคอร์เนล ในระบบของฉัน (Ubuntu 10.04) ... สำหรับเมล็ดที่แตกต่างกันที่ฉันมี (โดยใช้การดาวน์โหลดซอฟต์แวร์อัตโนมัติไม่ได้ติดตั้งด้วยตนเอง) ฉันค้นหาในตำแหน่งนี้แทนสองไดเรกทอรีย่อยสำหรับแต่ละเคอร์เนลดังนี้ /usr/src/linux-headers-2.6.32-22 /usr/src/linux-headers-2.6.32-22-generic ในไดเรกทอรีย่อยฉันคาดว่าไฟล์ไบนารีหมู่คนอื่น ๆ อย่างไรก็ตามฉันตรวจสอบจำนวนต้นไม้ที่เหมาะสมและไดเรกทอรีย่อยสุดท้ายจากที่นี่ดูเหมือนจะมีเสมอMakefile(เมื่ออ่านมันมักจะฟังดูเหมือนไฟล์กำหนดค่าแล้วเป็นไฟล์ติดตั้ง) รวมถึงไฟล์อื่น ๆ ที่แยกบางครั้ง (ส่วนใหญ่Kconfig) คำถามของฉันอาจไร้เดียงสา แต่ฉันสับสนเล็กน้อย คือ (2) สิ่งที่ฉันควรคาดหวังให้เห็นในแผนผังแหล่งที่มาของเคอร์เนล และทำไมฉันจึงมีการอ้างอิงที่ชัดเจนถึง 'ส่วนหัว' ฉันจำเป็นต้องติดตั้งlinux-generic-headersในขณะที่กลับไปหาซอฟต์แวร์อื่นและไม่แน่ใจว่าสิ่งนี้อาจเกี่ยวข้อง ฉันรู้ว่ามีเหตุผลที่ดีสำหรับ makefiles (เช่นการติดตั้งโมดูลในไดเร็กตอรี่ย่อย / ไดร์เวอร์), แต่ (มาก) makefiles เท่านั้น?