Puncte:1

Folosind un initrd comprimat la pornirea pxe

drapel us

Folosesc netboot/pxeboot cu grub.

intrarea de meniu „Instalați Ubuntu 20.04” {
  setați gfxpayload=keep
  echo „Se încarcă vmlinuz...”
  linux /tftp/vmlinuz ip=dhcp netboot=nfs nfsroot=10.0.0.20:/data/netboot/nfs/ubuntu2004/ boot=casper toram noquiet splash=off console=tty0 console=ttyS1,57600n8 ---
  echo „Se încarcă initrd, durează mult timp...”
  initrd /tftp/initrd
}

Funcționează bine, totuși, încărcarea initrd pe tftp durează mult (30+ minute). Aș dori să comprim (gz/bz2) acest fișier pentru a economisi timp de transfer al fișierelor.

Am văzut câteva exemple care se refereau la a initrd.gz (Un exemplu: https://unix.stackexchange.com/questions/217002/which-iso-file-vmlinuz-and-initrd-gz-to-use-for-installing-centos-from-multiboo), dar când am încercat să comprim fișierul cu gzip și să-l folosesc, primesc o eroare precum:

[ 12.543547] VFS: Nu se poate deschide dispozitivul rădăcină „(null)” sau unknown-block(0,0): eroare -6
[ 12.558487] Vă rugăm să adăugați o opțiune corectă de pornire „root="; iată partițiile disponibile:
[ 12.575161] Kernel panic - nu se sincronizează: VFS: Imposibil de montat root fs pe unknown-block(0,0)

Există o modalitate de a comprima acest fișier, astfel încât să poată transfera o dimensiune mai mică a fișierului și să-l decomprimați înainte de a încerca să monteze rădăcina fs?

Alternativ, există o modalitate de a-l transfera printr-un alt protocol (HTTP/FTP/SFTP/SCP/etc)?

drapel in
Puteți folosi xz sau orice altă compresie, chiar dacă grub nu decomprimă fișierul, nucleul poate face decomprimarea atâta timp cât are acele opțiuni activate. Întotdeauna recomand http, nu sunt sigur dacă grub a primit un astfel de suport, soluția mea de bază este iPXE. (cum se pare că folosești deja, aș evita NFS)
Puncte:1
drapel us

Răspunsul lui @Pat este acceptat și mai detaliat, totuși iată răspunsurile directe la întrebările originale:

Există o modalitate de a comprima acest fișier, astfel încât să poată transfera o dimensiune mai mică a fișierului și să-l decomprimați înainte de a încerca să monteze rădăcina fs?

Nu, este deja comprimat. Răspunsul acceptat oferă un exemplu în acest sens.

Alternativ, există o modalitate de a-l transfera printr-un alt protocol (HTTP/FTP/SFTP/SCP/etc)?

Nu cu PXE obișnuit. Utilizați un alt sistem de pornire în rețea, cum ar fi iPXE, care permite http/nfs

Puncte:1
drapel za
Pat

Un initrd este o structură CPIO comprimată creată dintr-o structură arborescentă de fișiere cu o comandă ca:

găsi . | cpio -o -c -R root:root | gzip -9 > /boot/new.img

The ubuntu-20.04-desktop-amd64 initrd este deja comprimat și cântărește aproximativ 87 MB. Transferul TFTP al acelui fișier ar trebui să dureze aproximativ 36 de secunde.

[04/05 08:17:46.445] TFTP Inf: <\NWA_PXE\ubuntu-20.04-desktop-amd64\casper\initrd>: send blks=63901 blkSz=1408, Total 89971296 bytes in 36 recovery 

Dacă transferul TFTP durează o jumătate de oră, aveți o problemă diferită în configurarea rețelei-TFTP. O captură de trafic Wireshark vă poate ajuta să vă identificați problema.

Rino Bino avatar
drapel us
Am ajuns să folosesc doar iPXE cu protocolul nfs activat. NFS l-a transferat în câteva secunde.Din păcate, nu există parametri de reglare pentru TFTP, în afară de dimensiunea blocului (care a fost deja reglată) și rulează peste udp, care nu funcționează bine în configurația mea pe un vpn. Voi accepta acest răspuns, dar voi pune un alt răspuns care răspunde direct la întrebări.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.