| Summary: | Can't install system on btrfs subvol | ||
|---|---|---|---|
| Product: | Sisyphus | Reporter: | Олег Соловьев <mcpain> |
| Component: | make-initrd | Assignee: | Alexey Gladkov <legion> |
| Status: | CLOSED FIXED | QA Contact: | qa-sisyphus |
| Severity: | normal | ||
| Priority: | P5 | CC: | antohami, glebfm, ldv, legion, placeholder, vt |
| Version: | unstable | ||
| Hardware: | x86_64 | ||
| OS: | Linux | ||
Работает с 2.8.3 |
После установки системы на этапе "Сохранение настроек" возникает ошибка "Запуск скрипта не удался: 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.