Bug 38727 - Can't install system on btrfs subvol
Summary: Can't install system on btrfs subvol
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: make-initrd (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: Alexey Gladkov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-07-16 16:19 MSK by Олег Соловьев
Modified: 2020-10-06 00:18 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 Олег Соловьев 2020-07-16 16:19:09 MSK
После установки системы на этапе "Сохранение настроек" возникает ошибка "Запуск скрипта не удался: 50-initrd.sh"

Раскопал, что в /usr/share/make-initrd/guess/root/action вызывается
findmnt -n -o MAJ:MIN,FSTYPE,SOURCE --target /

Однако при вызове с такими параметрами, если корень является btrfs subvolume, то утилита возвращает что-то вроде
maj:min btrfs /dev/sda[/ALT] и последние два параметра передаются в guess_fstype.

А в guess_fstype вызывается (/usr/share/make-initrd/features/btrfs/guess/fstype)
uuid="$(blkid -o value -s UUID -c /dev/null "$devname")", uuid ожидаемо оказывается пустым из-за неожиданного хвоста в квадратных скобках.

Предлагаю добавить в вызов findmnt ключ -v:
       -v, --nofsroot
              Do not print a [/dir] in the SOURCE column for bind mounts or btrfs subvolumes.
Comment 1 Alexey Gladkov 2020-10-06 00:18:33 MSK
Работает с 2.8.3