Bug 39835 - find-fstab ищет файлы в /dev/ram*
Summary: find-fstab ищет файлы в /dev/ram*
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: startup-rescue (show other bugs)
Version: unstable
Hardware: all Linux
: P5 normal
Assignee: Антон Мидюков
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks: 33000
  Show dependency tree
 
Reported: 2021-03-23 16:04 MSK by Sergey Ivanov
Modified: 2021-04-13 22:09 MSK (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Sergey Ivanov 2021-03-23 16:04:06 MSK
Проверку проводил на плате с процессором Baikal-M (TP-TF307-MB-A0)).
Записал образ http://get.srt.basealt.ru/iso/slinux-baikalm-9.0.91_beta1-aarch64.iso на флешку. Запустил rescue mode и попытался выполнить mount-system.

В результате получаю следующее сообщение:
# mount-system
mount-system: /mnt/system1: done
mount: /mnt/system1/proc: mount point does not exist
Система не смонтировалась. (создался только пустой каталог /mnt/system1)

Проблема заключается в следующем:
В mount-system вызывается find-fstab который в блочных устройствах ищет файлы fstab.

В моем случае он находит следующие устройства
# blkid -o device
/dev/loop0 - корень rescue (в скрипте find-fstab он грепается) (blkid -o device | grep -v loop)
/dev/ram3 -  этот же корень rescue (по какой то причине на данной машине корень rescue не только в /dev/loop0 но и в /dev/ram3)
/dev/sda1  - /boot/efi системы
/dev/sda2  - swap системы
/dev/sda3  - корень системы
/dev/sdb1  - флешка
/dev/sdb2  - флешка

find-fstab находит два файла fstab
fstab.1 из /dev/ram3
proc    /proc      proc  nosuid,noexec,gid=proc    0 0
devpts    /dev/pts    devpts  nosuid,noexec,gid=tty,mode=620  0 0
tmpfs    /tmp      tmpfs  nosuid        0 0

и fstab.2 из /dev/sda3 (тот который нужен)
proc    /proc      proc  nosuid,noexec,gid=proc    0 0
devpts    /dev/pts    devpts  nosuid,noexec,gid=tty,mode=620  0 0
tmpfs    /tmp      tmpfs  nosuid        0 0
UUID=3764b848-0eb4-4767-8d0b-34b730cc1e90  /  ext4  relatime  1  1
UUID=8b74afe5-3c15-4abc-9624-e59e828d4588       /home  ext4    nosuid,relatime  1  2
UUID=8679146c-8e5e-46d6-b40b-705930cdbb0f  swap  swap  defaults  0  0

далее mount-system пытается сначала выполнить монитрование первого fstab.1 в /mnt/system1
mount-fstab fstab.1 /mnt/system1 (хотя команда ничего не смонтировала в /mnt/system1, код выхода у неё равен 0)
после чего идет монитрование /proc
mount --bind /proc /mnt/system1/proc (в результате монтирование неудачное, код выхода ненулевой и из-за /bin/sh -e выполнение скрипта завершается и не переходит к монтированию fstab.2 в котором уже нужная мне система)
Comment 1 Repository Robot 2021-04-13 22:09:30 MSK
startup-rescue-0.36-alt1 -> sisyphus:

 Tue Apr 13 2021 Anton Midyukov <antohami@altlinux> 0.36-alt1
 - find-fstab: ignore ram device (Closes: 39835)