[make-initrd] boot with rootfs on a btrfs subvolume
Arseny Maslennikov
arseny at altlinux.org
Wed May 5 00:59:23 MSK 2021
On Tue, May 04, 2021 at 11:02:04PM +0200, Alexey Gladkov wrote:
> On Tue, May 04, 2021 at 10:14:24PM +0300, Arseny Maslennikov wrote:
> > On Tue, May 04, 2021 at 08:43:13PM +0200, Alexey Gladkov wrote:
> > > On Tue, May 04, 2021 at 07:53:46PM +0300, Arseny Maslennikov wrote:
> > > > Дано:
> > > > # ls -l /dev/disk/by-partlabel/protoroot
> > > > lrwxrwxrwx 1 root root 15 May 4 18:41 /dev/disk/by-partlabel/protoroot -> ../../nvme0n1p2
> > > > # mount /dev/disk/by-partlabel/protoroot -o subvol=/alt /mnt
> > > > # btrfs subvolume get-default /mnt
> > > > ID 671 gen 9498169 top level 5 path debian
> > > > #
> > > > # cat /mnt/etc/initrd.mk
> > > > # trying to detect modules and features to access to root volume
> > > > AUTODETECT = all
> > > > MODULES_TRY_ADD +=
> > > > FEATURES += plymouth btrfs
> > > >
> > > > Мне надо, чтобы можно было загрузить альт с корнем на btrfs-подразделе.
> > > >
> > > > У меня в /etc/fstab написано следующее:
> > > > # cat /mnt/etc/fstab
> > > > 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=a8c68183-f5bf-4623-86fe-41d9171b7c5f / auto subvol=/alt,relatime 1 1
> > > > UUID=a8c68183-f5bf-4623-86fe-41d9171b7c5f /home auto subvol=/home/:alt,relatime 1 1
> > > > PARTUUID=c08f5c6b-3fe3-4c94-ab53-4efd654b617d /boot/efi vfat umask=0077,dmask=0077 0 1
> > > > После регенерации initramfs, её установки в загрузчик и перезагрузки
> > > > система грузится в правильный раздел, но с неправильными опциями
> > > > (монтирует подраздел по умолчанию).
> > > >
> > > > # chroot /mnt
> > > > (chroot) root at cello / # rpm -qa make-initrd
> > > > make-initrd-2.16.0-alt1.x86_64
> > > > (chroot) root at cello / # ^D
> > > >
> > > > features/btrfs/README.md, man make-initrd ни на что не наставляют.
> > > > Как это побороть?
> > > >
> > > > P.S. Я, правда, пока не пробовал задавать rootflags — но почему бы
> > > > make-initrd по умолчанию не взять их из fstab?
> > >
> > > Можете показать /etc/fstab из получившегося initrd ?
> >
> > Одна строчка:
> > UUID=a8c68183-f5bf-4623-86fe-41d9171b7c5f / btrfs rw,relatime,ssd,space_cache,subvolid=822,subvol=/alt 0 0
> >
> > subvol и subvolid вполне соответствуют желаемым.
>
> make-initrd уже сейчас умеет их использовать, но только если не указан
> root=. Если указать root=, то он забывает сохранённые настройки.
>
> Это можно исправить. Он make-initrd может забывать не всё, а только то,
> что переопределено.
Мне пока на ум не приходит ситуаций, где это поведение реально мешает,
если о нём просто знать. Разве что оно не похоже на поведение
initramfs-движков других дистрибутивов...
Наверное, в Documentation/BootParameters.md стоит это отразить, и/или в
какой-то более очевидной документации, в частности, присутствующей в пакете.
>
> > > Были ли передан при загрузке root= ?
> >
> > root=UUID=a8c68183-f5bf-4623-86fe-41d9171b7c5f
>
> Тогда всё ясно.
>
Попробовал убрать root= тогда; это помогло.
Так и красивее выйдет.
Большое спасибо за помощь!
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://lists.altlinux.org/pipermail/make-initrd/attachments/20210505/b040309b/attachment.bin>
More information about the Make-initrd
mailing list