kernel-header
แพ็คเกจการแจกจ่ายประกอบด้วยชื่อของไฟล์เหล่านั้นเท่านั้นส่วนหัวเคอร์เนล (รวมถึงการประปาที่จำเป็น) ที่จำเป็นในการสร้างซอฟต์แวร์เช่นโมดูลเคอร์เนล
คุณไม่ควรคาดหวังว่าจะหาไฟล์ไบนารี่ได้เลยในไดเรกทอรีซอร์สเคอร์เนลยกเว้นเอาต์พุตบิลด์ (หากคุณกำหนดค่าและสร้างเคอร์เนลเองไดเรกทอรีแหล่งเคอร์เนลจะประกอบด้วยวัตถุที่รวบรวมโมดูลเคอร์เนลที่สร้างขึ้นเองและไบนารีบิตและชิ้นส่วนอื่น ๆ ที่ทำให้มันทำงาน)
KConfig
ไฟล์เป็นคำอธิบายของตัวเลือกการกำหนดค่าเคอร์เนล (และการอ้างอิงของพวกเขา) ที่มีอยู่สำหรับไดเรกทอรี / โมดูลที่กำหนด
นอกเหนือจากนั้นมันคือทั้งหมด (ส่วนใหญ่) ซอร์สโค้ด C, ไฟล์ส่วนหัวและMakefile
s มีสคริปต์ผู้ช่วยไม่กี่ที่นี่และที่นั่นและแหล่งที่มาประกอบเช่นกัน
แพคเกจส่วนหัว (สิ่งที่คุณติดตั้ง) มีเฉพาะส่วนหัวของด้านบน (และไม่ทั้งหมด - เฉพาะส่วนหัว "ส่งออก") และโครงสร้างพื้นฐานการสร้างบางส่วน ดังนั้นสิ่งที่คุณเห็นคือสิ่งที่คาดหวัง แพ็คเกจส่วนหัวไม่มีซอร์สโค้ด C (ยกเว้นบางส่วนที่ไม่สมบูรณ์และสร้างรหัสโครงสร้างพื้นฐาน) จุดรวมของแพคเกจประเภทนี้คือการประหยัดพื้นที่ (และแบนด์วิดธ์) - ต้นกำเนิดเคอร์เนล Linux ทั้งหมดค่อนข้างใหญ่และไม่จำเป็นอย่างสมบูรณ์หากคุณไม่ต้องการรวบรวมเคอร์เนลด้วยตัวเอง แพ็คเกจส่วนหัวถูกสร้างและจัดส่งโดยการกระจายเพื่อให้สิ่งที่ถูกต้องที่จำเป็นในการสร้างโมดูล แต่ไม่มาก (แน่นอนพวกเขาไม่มีเคอร์เนลที่คอมไพล์แล้ว)
การพูดถึงความคิดเห็นของคุณ: แพ็คเกจส่วนหัวจะไม่ย้ายที่ใดก็ได้ พวกมันถูกสร้างขึ้นสำหรับเคอร์เนลรุ่นที่เจาะจงบรรจุในไดเรกทอรีเฉพาะและนั่นคือสิ่งที่ มันเป็นแค่ชุดไฟล์ (โปรดทราบว่าแพ็กเกจส่วนหัวไม่จำเป็นต้องมีเวอร์ชันเดียวกับแพ็คเกจไบนารีเคอร์เนลปัจจุบันที่มีความเสถียร - แพคเกจส่วนหัวเป็นแบบทั่วไปและสามารถล้าหลังเคอร์เนลจริงที่คุณใช้งานอยู่อย่างไรก็ตามไม่ควรมาจากเคอร์เนล เวอร์ชันที่ใหม่กว่าเคอร์เนล (หรือเป้าหมาย) ปัจจุบันที่ติดตั้งไว้)
เคอร์เนลไบนารีที่ติดตั้งมักจะติดตั้งใน/boot
ไดเรกทอรีพร้อมกับ bootloader ไบนารีและไฟล์การกำหนดค่า (บางครั้งนี่เป็นระบบไฟล์อิสระไม่ได้ถูกเมาท์ตามค่าเริ่มต้น) ชื่อที่แน่นอนของไฟล์จะขึ้นอยู่กับเคอร์เนลและการกระจาย (เช่น bootloader)
โมดูลเคอร์เนลที่ติดตั้งอยู่ในไดเรกทอรีย่อยของ:
/lib/modules/`uname -r`/
ดังนั้นตัวอย่างเช่นในระบบของฉันพวกเขากำลังเข้า
/lib/modules/3.1.4-gentoo/
รหัสที่มาเต็มเคอร์เนล : ในอูบุนตูถ้าคุณต้องการแหล่งเคอร์เนลเต็มรูปแบบที่จะสร้างเคอร์เนลตัวคุณเองคุณควรติดตั้งตามคำแนะนำที่นี่
นอกจากนี้คุณยังสามารถดาวน์โหลด tarball แหล่งที่มาจากkernel.org
และแกะมันอยู่ที่ไหนสักแห่ง (ทำไม่ได้เขียนทับไฟล์อูบุนตูที่ติดตั้งถ้าคุณใช้ tarball นี้ให้สิ่งที่ส่วนบุคคลของคุณและสิ่งที่มีการจัดการโดยรอบต่อนาทีที่แยกต่างหาก)
/usr/src/linux
เป็นสถานที่ดั้งเดิมที่จะวางเคอร์เนล แต่ไม่มีสิ่งใดป้องกันคุณจากการวางเคอร์เนลที่อื่น เส้นทางนี้มักจะเป็นเพียงลิงค์สัญลักษณ์ไปยังไดเรกทอรี เช่นฉันมีสิ่งนี้ในเครื่องของฉัน:
$ ls -l /usr/src/linux
lrwxrwxrwx 1 root root 18 Dec 7 17:03 /usr/src/linux -> linux-3.1.4-gentoo
symlink อยู่ที่นั่นเพื่อทำให้การสร้างแอปพลิเคชันง่ายขึ้นซึ่งขึ้นอยู่กับเคอร์เนลต้นทาง คุณเชื่อมโยงพา ธ นั้นไปยังเคอร์เนลที่กำลังรันอยู่ (หรือเป้าหมาย) เพื่อที่คุณจะได้ไม่ต้องระบุข้อมูลเวอร์ชั่นหรือพา ธ ที่แน่นอนเมื่อคุณสร้างโมดูลที่ล้าสมัย ช่วยให้มีการกระจายตามแหล่งที่มาอย่างน้อย