ฉันสามารถโหลดและติดตั้ง initramfs ตัวที่สองเป็นรูทเพื่อแทนที่ต้นฉบับในการโหลด CentOS 7 LiveCD ได้หรือไม่


1

โปรดแจ้งให้เราทราบหากคำถามนี้จำเป็นต้องได้รับการป้อนข้อความซ้ำ ฉันได้อ่านเกี่ยวกับระดับต่ำสุดของการโหลดสำหรับ Linux และ Systemd

ขณะนี้ฉันกำลังจัดการกับข้อ จำกัด ใน grubx64.efi - ไม่สามารถจัดสรร ram disk เริ่มต้นที่ 1.2 กิกะไบต์ขนาดของ LiveCD ของ บริษัท ของฉัน

ความคิดของฉันสำหรับวิธีแก้ปัญหาคือการโหลด ramdisk LiveCD ที่เล็กกว่าก่อนเริ่มต้นที่กำหนดเองที่ประมาณ 300 megs หรือมากกว่านั้นและภายใน initrd ที่กำหนดเองนั้นได้ตั้งค่าให้โหลด LiveCD "จริง" 1.2 กิ๊กติดมันเป็นไฟล์รูท ระบบแล้วลบอันเก่า

ฉันได้ให้ความรู้กับตัวเองว่า Systemd และกระบวนการบูตของ Linux ทำงานอย่างไรเพื่อหาว่าฉันจะดำเนินการอย่างไรกับการเปลี่ยนแปลงนี้ใน CentOS 7 แต่คำสั่งที่แน่นอนในการเรียกใช้และตำแหน่งที่จะแก้ไขไม่ชัดเจนสำหรับฉัน .

นี่เป็นสิ่งที่สามารถทำได้ด้วยตนเองหรือไม่


คุณใช้ข้อกำหนด "initramfs" และ "initrd" (หรือ "RAMDisk" ) สลับกันซึ่งไม่ถูกต้อง ramdisk จะต้องจัดสรรและมีขนาดคงที่ อย่างไรก็ตาม ramfs (หรือ tmpfs) ถูก จำกัด โดยหน่วยความจำที่มีอยู่เท่านั้น ดู superuser.com/questions/211071/... และ kernel.org/doc/Documentation/filesystems/...
sawdust

ขอบคุณสำหรับความคิดเห็น @awdust ความเข้าใจของฉันคือผู้เริ่มต้นที่ทันสมัยโดยเฉพาะอย่างยิ่งสำหรับ LiveCDs เป็นเพียงระบบไฟล์ ram เริ่มต้นที่ระบุว่า "initrd.img" Centrd.img ของ CentOS LiveCD เป็น ramdisk จริงหรือไม่ นี่คือเหตุผลที่ฉันอ้างถึง "แบบกำหนดเองเริ่มต้น"
Locane

คำตอบ:


0

หลังจากกลับมาพร้อมกับรายชื่อผู้รับจดหมาย Grub ฉันพบว่าคุณสามารถเมานต์อิมเมจสควอชจากเซิร์ฟเวอร์ระยะไกลโดยใช้พารามิเตอร์เคอร์เนล

ฉันตั้งค่าดั้งเดิมและ EFI PXE เพื่อใช้เคอร์เนลและเริ่มต้นในไดเรกทอรี PXEBOOT ของ CentOS 7.4 ISO (เคอร์เนล 3.10.0-693) เมื่อรวมเข้าด้วยกันมันจะมีขนาด 60 เมกะไบต์หรือมากกว่านั้น

จากนั้นฉันวางไฟล์ squashfs.img จากระบบไฟล์รูทที่ฉันต้องการใช้จริงในไดเรกทอรีที่สามารถเข้าถึงได้ HTTP บนเซิร์ฟเวอร์เดียวกัน

จากนั้นฉันใช้พารามิเตอร์เคอร์เนล 2 ตัว (แสดงให้ฉันเห็นโดยรายชื่อผู้รับจดหมาย) เพื่อให้เคอร์เนล CentOS เมานต์อิมเมจสควอชเป็นระบบไฟล์รูท เคอร์เนลนั้นฉลาดพอที่จะรู้ได้ live: หมายถึงและสร้างชั่วคราว (และมีความเปราะบางมาก - ยังไม่พบส่วนนั้น 1 กิกะไบต์ของการเขียนทำให้ระบบไฟล์อ่านได้อย่างเดียว) ใน RAM ที่ต้องอ่าน / เขียนขั้นพื้นฐาน ฉันเพิ่มพารามิเตอร์เหล่านี้ไปยังรายการเมนู PXE:

rootfstype=auto root=live:http://path/to/squashfs.img

นั่นมัน นั่นคือเวทย์มนตร์ที่ฉันขาดหายไป

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