Bug 38727

Summary: Can't install system on btrfs subvol
Product: Sisyphus Reporter: Олег Соловьев <mcpain>
Component: make-initrdAssignee: Alexey Gladkov <legion>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: normal    
Priority: P5 CC: glebfm, ldv, legion, placeholder
Version: unstable   
Hardware: x86_64   
OS: Linux   

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