As dori sa montez partiția de pornire al ubuntu-21.10-preinstalled-server-arm64+raspi.img.xz
descărcat de pe site-ul web Raspberry PI.
Despachetarea fișierului imagine și montarea partiției de boot cu o comandă ca
mount -o loop,offset=1048576,sizelimit=268435456 ubuntu-21.10-preinstalled-server-arm64+raspi.img /var/nfs/ubuntu-21.10-boot
... funcționează bine. Puteți vedea imaginea montată împreună cu /dev/mmcblk0p1
dispozitiv:
montură | cizme grep
/dev/mmcblk0p1 pe /boot/firmware tip vfat (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,errors=remount-ro)
/var/nfs/ubuntu-21.10-preinstalled-server-arm64+raspi.img pe /var/nfs/ubuntu-21.10-tip de pornire vfat (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset= ascii,shortname=mixed,errors=remount-ro)
Totuși, când adaug aceeași montură la /etc/fstab
la montura deja existenta pt /boot/firmware
:
LABEL=system-boot /boot/firmware vfat defaults 0 1
/var/nfs/ubuntu-21.10-preinstalled-server-arm64+raspi.img /var/nfs/ubuntu-21.10-boot ext4 loop,offset=1048576,sizelimit=268435456 0 0
... și reporniți sistemul (sau rulați monte -a
) partiția de boot a imaginii este montată atât la /var/nfs/ubuntu-21.10-boot
așa cum era de așteptat dar și la /boot/firmware
și astfel înlocuind firmware-ul real la /dev/mmcblk0p1
:
montură | cizme grep
/var/nfs/ubuntu-21.10-preinstalled-server-arm64+raspi.img pe /var/nfs/ubuntu-21.10-tip de pornire vfat (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset= ascii,shortname=mixed,errors=remount-ro)
/var/nfs/ubuntu-21.10-preinstalled-server-arm64+raspi.img pe /boot/firmware tip vfat (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed, errors=remount-ro)
Acest lucru se datorează evident că partiția de pornire a imaginii este etichetată sistem-boot
care se ciocnește cu /dev/mmcblk0p1
etichetat la fel.
(Pagina manualului de montare specifică asta fstab
este ignorată atunci când sunt specificate atât dispozitivul, cât și punctele de montare, ceea ce explică de ce montarea manuală funcționează conform așteptărilor.)
Mă gândesc la următoarele soluții pentru a evita suprascrierea suportului de firmware:
- Evitați utilizarea fstab și montați manual într-un script rc
- Reetichetați partiția de pornire a fișierului imagine
- A inlocui
LABEL=sistem-boot
cu dispozitivul real care deține firmware-ul (după cum este sugerat în răspunsul lui @Tilman de mai jos)
... dar
Există vreo modalitate de a preveni montarea automată a unei intrări fstab după etichetă?