Игнорировать метку при монтировании загрузочного раздела образа ОС в качестве петлевого устройства

Я хотел бы смонтировать загрузочный раздел из ubuntu-21.10-preinstalled-server-arm64+raspi.img.xz, загруженный с веб-сайта Raspberry PI.

Распаковка файла образа и монтирование загрузочного раздела с помощью команды вида

mount -o loop,offset=1048576,sizelimit=268435456 ubuntu-21.10-preinstalled-server-arm64+raspi.img /var/nfs/ubuntu-21.10-boot

... работает просто отлично. Вы можете увидеть смонтированный образ вместе с устройством /dev/mmcblk0p1:

mount | grep boot
/dev/mmcblk0p1 on /boot/firmware type 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 on /var/nfs/ubuntu-21.10-boot type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,errors=remount-ro)

Однако, когда я добавляю то же монтирование в /etc/fstabк уже существующему монтированию для /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

...и перезагрузите систему (или запустите mount -a), загрузочный раздел образа монтируется как в /var/nfs/ubuntu-21.10-boot, как и ожидалось, так и в . ] /boot/firmwareи, таким образом, заменив настоящую прошивку по адресу /dev/mmcblk0p1:

mount | grep boot
/var/nfs/ubuntu-21.10-preinstalled-server-arm64+raspi.img on /var/nfs/ubuntu-21.10-boot type 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 on /boot/firmware type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,errors=remount-ro)

Очевидно, это связано с тем, что загрузочный раздел образа помечен system-bootкоторый сталкивается с /dev/mmcblk0p1, помеченным таким же образом.

(На странице руководства по монтированию указано, что fstabигнорируется, когда указаны и устройство, и точки монтирования, что объясняет, почему ручное монтирование работает должным образом.)

Я могу придумать следующие обходные пути, чтобы избежать монтирование микропрограммы для перезаписи:

  • Избегайте использования fstab и монтируйте вручную в сценарии rc
  • Переименуйте загрузочный раздел файла образа
  • Замените LABEL=system-bootфактическим устройством, которое содержит прошивку (как предложено в ответе @Tilman ниже)

... но

Есть ли способ предотвратить автоматическое монтирование записи fstab по метке?

0
задан 16 January 2022 в 20:05

0 ответов

Другие вопросы по тегам:

Похожие вопросы: