ความแตกต่างระหว่าง initrd และ initramfs คืออะไร?


คำตอบ:


12

Initrd เลิกใช้แล้วแทนที่ด้วย Initramfs ซึ่งไม่มีจุดอ่อนของ initrd:

  • เริ่มต้นต้องการอย่างน้อยหนึ่งโปรแกรมควบคุมระบบไฟล์ที่จะรวบรวมในเคอร์เนล
  • ดิสก์ที่สร้างขึ้นโดย initrd ได้จะมีขนาดคงที่
  • การอ่าน / เขียนทั้งหมดใน Initrd ถูกบัฟเฟอร์ซ้ำซ้อน (โดยไม่จำเป็น) ลงในหน่วยความจำหลัก

ฉันคิดว่านั่นคือทั้งหมดที่


คำสั่ง update-initramfs นี้จะสร้าง /boot/initrd.img อย่างไร

มันทำให้ไฟล์ที่จำเป็นในการcpio จัดเก็บซึ่งเป็นรูปแบบไบนารีที่เก็บถาวร (คล้ายกับที่tarไม่ได้ใช้อย่างกว้างขวางใน Linux) แล้วใช้ gzip เพื่อบีบอัดที่เก็บถาวร Gzip ไม่ใช่ไฟล์เก็บถาวร แต่เป็นเพียงการบีบอัด (ซึ่งเป็นสาเหตุที่คุณได้รับไฟล์. tar.gz)

ในเวลาบูตที่เก็บคือการบีบอัดและแตกลงใน   หน่วยความจำดิสก์ 

ดูเพิ่มเติมที่: คอมพิวเตอร์บูตอย่างไร


"เริ่มต้นต้องการอย่างน้อยหนึ่งโปรแกรมควบคุมระบบไฟล์ที่จะรวบรวมในเคอร์เนล" .. ฉันไม่ได้รับความคิดมากเกี่ยวกับเรื่องนี้ คุณช่วยกรุณาอธิบายเรื่องนี้??
Sen

โดยปกติแล้วไดรเวอร์ระบบไฟล์สามารถติดตั้งเข้ากับระบบปฏิบัติการได้ตามต้องการสำหรับบางสิ่งที่จำเป็นต้องรวบรวมไว้ในเคอร์เนล ซึ่งเป็นความเจ็บปวดเนื่องจากเคอร์เนลทุกรุ่นต้องได้รับการปรับแต่งให้ใหญ่ขึ้นแนะนำการพึ่งพาเพิ่มเติมและอื่น ๆ (อย่างน้อยนั่นคือสิ่งที่ฉันเชื่อว่าเป็นในกรณีอาจผิดฉันไม่ได้มีความรู้ที่ดีเกี่ยวกับระบบไฟล์โดยเฉพาะ)
Stefano Palazzo

มันเหมือน initramfs ไม่จำเป็นต้องติดตั้งในตอนแรกหรือไม่?
Sen

ต้องติดตั้งระบบไฟล์ทั้งหมดก่อนจึงจะสามารถใช้งานได้ หากคุณต้องการเรียนรู้เกี่ยวกับการเริ่มต้นลึก ๆ ให้ดูที่en.wikipedia.org/wiki/Initrd - มีคำอธิบายที่ละเอียดยิ่งขึ้น
Stefano Palazzo

คำสั่ง update-initramfs นี้จะสร้าง /boot/initrd.img อย่างไร
Sen

3
  • initrd เป็นอุปกรณ์บล็อกที่ใช้ initramfs เป็นฐานไฟล์

  • ด้วย initrd คุณสร้างอิมเมจระบบไฟล์ ด้วย initramfs คุณสร้างไฟล์เก็บถาวรด้วยไฟล์ที่เคอร์เนลแตกไปยัง tmpfs


คุณช่วยอธิบายขั้นตอนตั้งแต่เริ่มต้นจนถึงการโหลดและการอ่านของ initramfs ได้ไหม
Sen
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.