หากคุณถามว่าคุณสามารถติดตั้งหรืออัพเกรดเคอร์เนล "บน" ระบบที่มีอยู่โดยไม่ต้องติดตั้งโปรแกรมอื่น ๆ
เคอร์เนล Linux เป็นไฟล์ไบนารี่ปกติชื่อvmlinuz-x.x.x-x-name
ในboot
ไดเรกทอรี (ซึ่งมักจะเป็นพาร์ติชันเล็ก ๆ แยกกันที่จุดเริ่มต้นของฮาร์ดไดรฟ์) โดยที่ x เป็นหมายเลขเวอร์ชัน "name" เป็นชื่อที่เลือกสำหรับเคอร์เนลที่สามารถตั้งค่าได้ในเวลาคอมไพล์คุณสามารถใช้เพื่อระบุชนิดของเครื่องหรือสถาปัตยกรรมที่เคอร์เนลใช้สำหรับเหตุผลอื่น ๆ
มันถูกโหลดในเวลาบูตโดย bootloader GRUB
ซึ่งโดยทั่วไปจะเรียกใช้โดยรหัสการบูตใน MBR ซึ่งถูกเรียกใช้โดย BIOS ROM เมื่อโหลดแล้วมันจะไม่ "เปิดค้าง" หรือได้รับการป้องกันเป็นพิเศษ ดังนั้นคุณสามารถแทนที่ไฟล์นั้นด้วยเคอร์เนลที่ใช้งานได้อื่น แต่GRUB
มีคุณสมบัติเจ๋ง ๆ ที่ให้คุณเลือกหลายเมล็ดเพื่อบูตจาก ดังนั้นมันค่อนข้างฉลาดที่จะเพิ่มเคอร์เนลเพิ่มเติมของคุณลงในรายการนั้น แต่เก็บเคอร์เนลที่ใช้งานได้ตามปกติในกรณีที่สิ่งต่าง ๆ ผิดพลาด
ดิฉันเชื่อว่าเกือบทุกดิสทริบิวชันสร้างเคอร์เนล "แบบแยกส่วน" ที่มีไดรเวอร์อุปกรณ์อยู่ในไฟล์แยกกัน ดังนั้นเมล็ดส่วนใหญ่ต้องการระบบไฟล์ที่มีไดรเวอร์พร้อมใช้งานในเวลาบูตและนั่นคือสิ่งที่ "initrd" (ดิสก์ RAM เริ่มต้น) หรือ "initramfs" GRUB
จะโหลดเคอร์เนลที่ตำแหน่งในหน่วยความจำและ initrd ที่ตำแหน่งอื่นและข้ามไปยังเคอร์เนลเพื่อบอกตำแหน่งที่เริ่มต้นคือเริ่มต้น Linux
ไดรเวอร์ยังสามารถ "สร้างไว้ใน" เคอร์เนลได้ดังนั้นจึงถูกโหลดโดยอัตโนมัติและพร้อมใช้งานเมื่อ bootloader โหลดvmlinuz
อิมเมจ เคอร์เนลที่ทำงานบนระบบที่หลากหลาย (เช่นส่วนใหญ่ของการกระจาย) มักจะลดสิ่งที่สร้างไว้ในเคอร์เนลเนื่องจากฮาร์ดแวร์ที่มีอยู่จะถูกสแกนในภายหลังในกระบวนการบูตและโมดูลที่เป็นตัวแทนของฮาร์ดแวร์ปัจจุบันเท่านั้นที่จะถูกโหลด
มีเครื่องมือในการแก้ไขและสร้าง initrds Debian มีเครื่องมือที่ดีและฉันคิดว่าดิสทริบิวชันอื่น ๆ ก็ทำได้เช่นกัน
ดังนั้นหากคุณดาวน์โหลดเคอร์เนลล่าสุดจาก kernel.org และรวบรวมเพื่อสร้างอิมเมจไบนารีเคอร์เนลใหม่คุณต้องสร้างหรืออัปเดต initrd ด้วยไดรเวอร์ที่ทำงานกับเคอร์เนลนั้น initrd เก่าจะไม่ทำงานเนื่องจากไดรเวอร์ต้องจับคู่กับเวอร์ชันของเคอร์เนลที่ใช้งานอยู่
ไฟล์ initrd มีชื่อinitrd.img-x.x.x.x-name
คล้ายกับเคอร์เนลและสามารถแทนที่ได้หลังจากบูตเช่นเดียวกับเคอร์เนลและวิธีปฏิบัติที่ดีที่สุดจะระบุว่าคุณไม่ได้ลบ initrd ที่ใช้งานได้จนกว่าคุณจะรู้ว่าคุณสามารถบูตเข้าสู่เคอร์เนล + initrd ใหม่ได้สำเร็จ
ฉันหวังว่าจะให้บริบท
หากคุณกำลังมองหาการติดตั้งลีนุกซ์ "แบร์โบนส์" ที่ไม่มีโปรแกรมเพิ่มเติมติดตั้งไว้เลยตัวเลือกที่ฉันชอบมักจะติดตั้งnetinst
อิมเมจDebian เสมอ ค่อนข้างมากคุณมีเพียงเครื่องมือพื้นฐานที่สุดที่จำเป็นในการเรียกใช้คอนโซลข้อความบรรทัดคำสั่งและnano
เป็นตัวแก้ไขข้อความ