<ก่อนหน้านี้ | Contents | ถัดไป>
อย่ากลัวที่จะลองรวบรวมเคอร์เนล มันสนุกและได้กำไร
ในการรวบรวมเคอร์เนลด้วยวิธี Debian/Ubuntu คุณต้องมีแพ็คเกจบางตัว: รากปลอม, เคอร์เนลแพ็คเกจ, ลินุกซ์ซอร์ส และอีกสองสามตัวที่อาจติดตั้งไว้แล้ว (ดู
/usr/share/doc/kernel-package/README.gz สำหรับรายการทั้งหมด)
เมธอดนี้จะสร้าง .deb ของแหล่งเคอร์เนลของคุณ และถ้าคุณมีโมดูลที่ไม่ได้มาตรฐาน ให้สร้าง .deb ที่ขึ้นต่อกันที่ซิงโครไนซ์ด้วย เป็นวิธีที่ดีกว่าในการจัดการภาพเคอร์เนล / boot จะเก็บเคอร์เนล System.map และบันทึกของไฟล์กำหนดค่าที่ใช้งานอยู่สำหรับบิลด์
โปรดทราบว่าคุณทำไม่ได้ มี เพื่อรวบรวมเคอร์เนลของคุณด้วยวิธี "Debian/Ubuntu"; แต่เราพบว่าการใช้ระบบบรรจุภัณฑ์เพื่อจัดการเคอร์เนลของคุณนั้นปลอดภัยและง่ายกว่าจริง ๆ ที่จริงแล้ว คุณสามารถรับแหล่งที่มาของเคอร์เนลได้จาก Linus แทน ลินุกซ์ซอร์สยังคงใช้ เคอร์เนลแพ็คเกจ วิธีการรวบรวม
โปรดทราบว่าคุณจะพบเอกสารทั้งหมดเกี่ยวกับการใช้ เคอร์เนลแพ็คเกจ ภายใต้
/usr/share/doc/kernel-package. ส่วนนี้ประกอบด้วยบทช่วยสอนสั้น ๆ
ต่อจากนี้ เราจะถือว่าคุณมีบังเหียนบนเครื่องของคุณฟรี และจะแยกแหล่งเคอร์เนลของคุณไปที่ใดที่หนึ่งในโฮมไดเร็กตอรี่ของคุณ5. เราจะถือว่าเวอร์ชันเคอร์เนลของคุณคือ 4.15 ตรวจสอบให้แน่ใจว่าคุณอยู่ในไดเร็กทอรีที่คุณต้องการแตกไฟล์แหล่งเคอร์เนล แตกไฟล์โดยใช้ น้ำมันดินxf
/usr/src/linux-source-4.15.tar.xz และเปลี่ยนเป็นไดเร็กทอรี ลินุกซ์-แหล่งที่มา-4.15 ที่จะได้ถูกสร้างขึ้น
ตอนนี้คุณสามารถกำหนดค่าเคอร์เนลของคุณได้ วิ่ง ทำ xconfig หากมีการติดตั้ง กำหนดค่า และรัน X11 วิ่ง make menuconfig มิฉะนั้น (คุณจะต้อง libncurses5-dev ติดตั้ง) ใช้เวลาในการอ่านความช่วยเหลือออนไลน์และเลือกอย่างระมัดระวัง หากไม่แน่ใจ โดยทั่วไปแล้วจะดีกว่าที่จะรวมไดรเวอร์อุปกรณ์ (ซอฟต์แวร์ที่จัดการอุปกรณ์ต่อพ่วงฮาร์ดแวร์ เช่น การ์ดอีเทอร์เน็ต ตัวควบคุม SCSI และอื่นๆ) ที่คุณไม่แน่ใจ ระวัง: ตัวเลือกอื่นๆ ที่ไม่เกี่ยวข้องกับฮาร์ดแวร์เฉพาะ ควรปล่อยให้เป็นค่าเริ่มต้นหากคุณไม่เข้าใจ อย่าลืมเลือก "ตัวโหลดโมดูลเคอร์เนล" ใน "การสนับสนุนโมดูลที่โหลดได้" (ไม่ได้เลือกไว้โดยค่าเริ่มต้น) หากไม่รวมอยู่ในนั้น การติดตั้ง Ubuntu ของคุณจะประสบปัญหา
ทำความสะอาดแผนผังต้นทางและรีเซ็ต เคอร์เนลแพ็คเกจ พารามิเตอร์ ในการทำเช่นนั้น ทำ make-kpkg สะอาด.
ตอนนี้รวบรวมเคอร์เนล: fakeroot make-kpkg --initrd --revision=1.0.custom kernel_image. หมายเลขเวอร์ชันของ "1.0" สามารถเปลี่ยนแปลงได้ตามต้องการ นี่เป็นเพียงหมายเลขเวอร์ชันที่คุณจะใช้เพื่อติดตามการสร้างเคอร์เนลของคุณ ในทำนองเดียวกัน คุณสามารถใส่คำใดๆ ที่คุณต้องการแทนที่ "กำหนดเอง" (เช่น ชื่อโฮสต์) การคอมไพล์เคอร์เนลอาจใช้เวลานาน ขึ้นอยู่กับพลังของเครื่องของคุณ
เมื่อคอมไพล์เสร็จแล้ว คุณสามารถติดตั้งเคอร์เนลแบบกำหนดเองได้เหมือนกับแพ็คเกจอื่นๆ ในฐานะที่เป็นราก do dpkg -i ../linux-image-4.15-สถาปัตยกรรมย่อย_1.0.custom_arm64.debส่วน สถาปัตยกรรมย่อย part เป็นสถาปัตยกรรมย่อยที่เป็นทางเลือก ขึ้นอยู่กับตัวเลือกเคอร์เนลที่คุณตั้งค่าไว้ dpkg -i จะติดตั้งเคอร์เนลพร้อมกับไฟล์สนับสนุนที่ดีอื่น ๆ ตัวอย่างเช่น System.แผนที่ จะได้รับการติดตั้งอย่างถูกต้อง (มีประโยชน์สำหรับการดีบักปัญหาเคอร์เนล) และ
/boot/config-4.15 จะถูกติดตั้ง ซึ่งประกอบด้วยชุดการกำหนดค่าปัจจุบันของคุณ แพ็คเกจเคอร์เนลใหม่ของคุณยังฉลาดพอที่จะอัปเดตตัวโหลดการบูตของคุณโดยอัตโนมัติเพื่อใช้เคอร์เนลใหม่ หากคุณสร้างแพ็คเกจโมดูล คุณจะต้องติดตั้งแพ็คเกจนั้นด้วย
ถึงเวลาที่จะรีบูตระบบ: อ่านคำเตือนที่ขั้นตอนข้างต้นอย่างละเอียดถี่ถ้วนจากนั้น ปิดเครื่อง -r เดี๋ยวนี้.
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับเคอร์เนล Debian/Ubuntu และการรวบรวมเคอร์เนล โปรดดูที่ Debian Linux Kernel Handbook (http://kernel-handbook.alioth.debian.org/) สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ เคอร์เนลแพ็คเกจ, อ่านเอกสารอย่างละเอียดใน /usr/share/doc/kernel-package.
5. มีตำแหน่งอื่นๆ ที่คุณสามารถแยกแหล่งที่มาของเคอร์เนลและสร้างเคอร์เนลที่กำหนดเองได้ แต่วิธีนี้ง่ายที่สุดเนื่องจากไม่ต้องการการอนุญาตพิเศษ