CentOS 7 LiveCD'nin yüklenmesindeki orijinalin yerine ikinci bir initramfs dosyasını root olarak yükleyip monte edebilir miyim?


1

Lütfen bu sorunun cevaplandırılması gerekiyorsa bana bildirin; Linux ve Systemd için en düşük yükleme seviyelerini okudum.

Şu anda grubx64.efi'de bir sınırlama ile uğraşıyorum - Şirketimin LiveCD'sinin büyüklüğü olan 1.2 gigabaytlık bir başlangıç ​​ram diski tahsis edemiyor.

Bir çözüm için benim düşüncem ilk önce daha küçük bir LiveCD ramdisk'i, ~ 300 megs veya daha fazla bir özel initrd yüklemek ve bu özel initrd'nin içine, IT'nin kök dosya olarak monte ettiği 1.2 gg'lik "gerçek" LiveCD'yi yüklemek üzere ayarlanmış olması sistemi ve sonra eskisini çıkarın.

Centdos 7’de bu geçiş üzerinde tam olarak nasıl uygulayabileceğimi bulmak için Systemd’in ve Linux önyükleme işleminin nasıl çalıştığını kendime öğretiyorum, ancak tam olarak yapılan komutları ve düzenlemeleri yapacak yerleri açıkça görünmüyor .

Bu elle bile yapılabilecek bir şey mi?


Sen terimleri kullanmak "initramfs" ve "initrd'yi" (ya da "ramdisk" yanlış olan) birbirinin. Bir ramdisk tahsis edilmek zorundadır ve sabit bir boyuta sahiptir. Bununla birlikte, bir ramfs (veya tmpfs) yalnızca kullanılabilir bellek ile sınırlandırılmıştır. Bkz superuser.com/questions/211071/… ve kernel.org/doc/Documentation/filesystems/…
talaş

@ Sawdust yorumunuz için teşekkür ederiz. Anladığım kadarıyla modern initrd'ler, özellikle LiveCD'ler için olanlar aslında "initrd.img" olarak etiketlenmiş ilk ram dosya sistemleri. Bir CentOS LiveCD'nin initrd.img'si gerçek bir ramdisk midir? Bu nedenle "custom initrd" ifadesine başvuruyorum.
Locane

Yanıtlar:


0

Grub posta listesiyle ileri ve geri gittikten sonra, çekirdek parametrelerini kullanarak uzaktaki bir sunucudan bir squashfs görüntüsünü monte edebileceğinizi keşfettim.

CentOS 7.4 ISO'nun PXEBOOT dizininde çekirdek ve initrd kullanmak için eski ve EFI PXE ayarını yaptım (çekirdek 3.10.0-693). Kombine, 60 mega gibiler.

Sonra squashfs.img dosyasını, aslında aynı sunucu üzerinde http erişilebilir bir dizinde kullanmak istediğim kök dosya sisteminden koydum.

Daha sonra, CentOS çekirdeğinin squashfs görüntüsünü kök dosya sistemi olarak monte etmesi için 2 çekirdek parametresini kullandım (postalama listesi tarafından bana gösterildi); çekirdek, live:bunun geçici bir (ve çok kırılgan - henüz o kısmı çözemediğini; henüz 1 gig yazma işleminin RAM'da basit bir okuma / okuma yapabileceği anlamına gelmediğini) anlamadığını ve yarattığını bilecek kadar akıllıdır. yazı. Bu parametreleri PXE menü girişine ekledim:

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

Öyleydi. Kaçırdığım sihir buydu.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.