จากด้านบน...
make
รวบรวมและเชื่อมโยงภาพเคอร์เนล vmlinuz
นี้เป็นไฟล์เดียวชื่อ
make modules
รวบรวมแต่ละไฟล์สำหรับคำถามที่คุณตอบM
ในระหว่างการตั้งค่าเคอร์เนล รหัสวัตถุเชื่อมโยงกับเคอร์เนลที่สร้างขึ้นใหม่ของคุณ (สำหรับคำถามที่ตอบY
แล้วสิ่งเหล่านี้เป็นส่วนหนึ่งของvmlinuz
และสำหรับคำถามที่ตอบN
แล้วจะถูกข้ามไป)
make install
/vmlinuz
ติดตั้งเคอร์เนลของคุณเพื่อสร้าง
make modules_install
การติดตั้งโมดูลเคอร์เนลของคุณไปหรือ/lib/modules
/lib/modules/<version>
สำหรับการเพิ่มลงในรายการของเมล็ดที่มีอยู่นั้นจะถูกดูแลโดยตัวโหลดการบูต มันแตกต่างกันสำหรับบูตโหลดเดอร์แต่ละตัว แต่grub
พบมากที่สุดใน x86 และ amd64 ดังนั้นฉันจะอธิบายอย่างนั้น จริงๆแล้วมันค่อนข้างง่าย ด้วงรูปลักษณ์ใน/
, /boot
และ/lib/modules
สำหรับสิ่งใด ๆ ที่ดูเหมือนว่ามันอาจจะเป็นเคอร์เนลทำงานและเพิ่ม และใช่นี่เป็นคำอธิบายที่ธรรมดามาก
"สิ่งที่น่ากลัว" นั้นในเอกสาร Ubuntu เป็นสิ่งพิเศษในการสร้างdeb
แพ็คเกจ เมื่อคุณทำมันให้มากกว่าตัวคุณมันจะดีกว่าที่จะบรรจุ คุณจะเปลี่ยนเวลา
การสร้างเคอร์เนลและโมดูลนั้นแยกจากกันเพราะสำหรับคนที่ต้องการ (เช่นนักพัฒนาเคอร์เนล) พวกเขามักจะทำการเปลี่ยนแปลงเฉพาะโมดูล พวกเขาสามารถใช้การเปลี่ยนแปลงสร้างใหม่และติดตั้งเพียงโมดูล สิ่งนี้ช่วยประหยัดเวลาได้มากเมื่อต้องทำ 20 ครั้งต่อวัน มันจะไม่ถูกปรับปรุงให้มีmake everything
คำสั่งเดียว คุณแทนทำงานเช่นเดียวกับเอกสารกล่าวว่าจะทำอย่างไรmake && make modules && make install && make modules_install
กระบวนการสร้างสนับสนุนนักพัฒนาเคอร์เนลไม่ใช่คุณ และนั่นคือวิธีที่ควรจะเป็น
ในความเป็นจริงแทบจะไม่มีเหตุผลใด ๆ เลยยกเว้นผู้พัฒนาเคอร์เนลหรือผู้กลั่นกรองแพ็คเกอร์เพื่อรวบรวมเคอร์เนล ไม่ว่าในกรณีใด ๆ คุณลักษณะเคอร์เนลที่คุณต้องการได้ถูกสร้างขึ้นแล้วสำหรับคุณและพร้อมใช้งานในหนึ่งในเมล็ดที่บรรจุล่วงหน้า มีข้อยกเว้น แต่พวกเขาหายากเหลือเกินวันนี้
ไม่ใช่ว่าฉันไม่แนะนำให้คุณสร้างเคอร์เนลของคุณเองฉันสนับสนุนให้คุณทำมัน ฉันคิดว่าการสร้างเคอร์เนลของคุณเป็นสิ่งที่มีค่ามากสำหรับการเรียนรู้เกี่ยวกับการทำงานของเคอร์เซอร์ ส่วนหนึ่งอาจเป็นเพราะวันหนึ่งคุณจะได้รับการยกเว้น แต่มันยังสอนคุณมากมายเกี่ยวกับกระบวนการเคอร์เนลและการบูตโดยทั่วไป คุณจะเป็นคนที่ดีกว่าสำหรับการทำมัน