* [make-initrd] boot with rootfs on a btrfs subvolume
@ 2021-05-04 16:53 Arseny Maslennikov
2021-05-04 18:43 ` Alexey Gladkov
0 siblings, 1 reply; 7+ messages in thread
From: Arseny Maslennikov @ 2021-05-04 16:53 UTC (permalink / raw)
To: make-initrd
[-- Attachment #1: Type: text/plain, Size: 1886 bytes --]
Дано:
# 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@cello / # rpm -qa make-initrd
make-initrd-2.16.0-alt1.x86_64
(chroot) root@cello / # ^D
features/btrfs/README.md, man make-initrd ни на что не наставляют.
Как это побороть?
P.S. Я, правда, пока не пробовал задавать rootflags — но почему бы
make-initrd по умолчанию не взять их из fstab?
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [make-initrd] boot with rootfs on a btrfs subvolume
2021-05-04 16:53 [make-initrd] boot with rootfs on a btrfs subvolume Arseny Maslennikov
@ 2021-05-04 18:43 ` Alexey Gladkov
2021-05-04 19:14 ` Arseny Maslennikov
0 siblings, 1 reply; 7+ messages in thread
From: Alexey Gladkov @ 2021-05-04 18:43 UTC (permalink / raw)
To: make-initrd
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@cello / # rpm -qa make-initrd
> make-initrd-2.16.0-alt1.x86_64
> (chroot) root@cello / # ^D
>
> features/btrfs/README.md, man make-initrd ни на что не наставляют.
> Как это побороть?
>
> P.S. Я, правда, пока не пробовал задавать rootflags — но почему бы
> make-initrd по умолчанию не взять их из fstab?
Можете показать /etc/fstab из получившегося initrd ?
Были ли передан при загрузке root= ?
--
Rgrds, legion
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [make-initrd] boot with rootfs on a btrfs subvolume
2021-05-04 18:43 ` Alexey Gladkov
@ 2021-05-04 19:14 ` Arseny Maslennikov
2021-05-04 21:02 ` Alexey Gladkov
0 siblings, 1 reply; 7+ messages in thread
From: Arseny Maslennikov @ 2021-05-04 19:14 UTC (permalink / raw)
To: make-initrd
[-- Attachment #1: Type: text/plain, Size: 2597 bytes --]
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@cello / # rpm -qa make-initrd
> > make-initrd-2.16.0-alt1.x86_64
> > (chroot) root@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 вполне соответствуют желаемым.
> Были ли передан при загрузке root= ?
root=UUID=a8c68183-f5bf-4623-86fe-41d9171b7c5f
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [make-initrd] boot with rootfs on a btrfs subvolume
2021-05-04 19:14 ` Arseny Maslennikov
@ 2021-05-04 21:02 ` Alexey Gladkov
2021-05-04 21:59 ` Arseny Maslennikov
2021-05-16 16:14 ` Alexey Gladkov
0 siblings, 2 replies; 7+ messages in thread
From: Alexey Gladkov @ 2021-05-04 21:02 UTC (permalink / raw)
To: make-initrd
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@cello / # rpm -qa make-initrd
> > > make-initrd-2.16.0-alt1.x86_64
> > > (chroot) root@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 может забывать не всё, а только то,
что переопределено.
> > Были ли передан при загрузке root= ?
>
> root=UUID=a8c68183-f5bf-4623-86fe-41d9171b7c5f
Тогда всё ясно.
--
Rgrds, legion
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [make-initrd] boot with rootfs on a btrfs subvolume
2021-05-04 21:02 ` Alexey Gladkov
@ 2021-05-04 21:59 ` Arseny Maslennikov
2021-05-05 8:43 ` Alexey Gladkov
2021-05-16 16:14 ` Alexey Gladkov
1 sibling, 1 reply; 7+ messages in thread
From: Arseny Maslennikov @ 2021-05-04 21:59 UTC (permalink / raw)
To: make-initrd
[-- Attachment #1: Type: text/plain, Size: 4103 bytes --]
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@cello / # rpm -qa make-initrd
> > > > make-initrd-2.16.0-alt1.x86_64
> > > > (chroot) root@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= тогда; это помогло.
Так и красивее выйдет.
Большое спасибо за помощь!
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [make-initrd] boot with rootfs on a btrfs subvolume
2021-05-04 21:59 ` Arseny Maslennikov
@ 2021-05-05 8:43 ` Alexey Gladkov
0 siblings, 0 replies; 7+ messages in thread
From: Alexey Gladkov @ 2021-05-05 8:43 UTC (permalink / raw)
To: make-initrd
On Wed, May 05, 2021 at 12:59:23AM +0300, Arseny Maslennikov wrote:
> > make-initrd уже сейчас умеет их использовать, но только если не указан
> > root=. Если указать root=, то он забывает сохранённые настройки.
> >
> > Это можно исправить. Он make-initrd может забывать не всё, а только то,
> > что переопределено.
>
> Мне пока на ум не приходит ситуаций, где это поведение реально мешает,
> если о нём просто знать. Разве что оно не похоже на поведение
> initramfs-движков других дистрибутивов...
Я не вижу тут никаких проблем.
> Наверное, в Documentation/BootParameters.md стоит это отразить, и/или в
> какой-то более очевидной документации, в частности, присутствующей в пакете.
Вы правы.
--
Rgrds, legion
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [make-initrd] boot with rootfs on a btrfs subvolume
2021-05-04 21:02 ` Alexey Gladkov
2021-05-04 21:59 ` Arseny Maslennikov
@ 2021-05-16 16:14 ` Alexey Gladkov
1 sibling, 0 replies; 7+ messages in thread
From: Alexey Gladkov @ 2021-05-16 16:14 UTC (permalink / raw)
To: make-initrd
On Tue, May 04, 2021 at 11:02:04PM +0200, Alexey Gladkov wrote:
> > > > 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 может забывать не всё, а только то,
> что переопределено.
>
> > > Были ли передан при загрузке root= ?
> >
> > root=UUID=a8c68183-f5bf-4623-86fe-41d9171b7c5f
>
> Тогда всё ясно.
Я начал думать про эту проблему и склоняюсь к выводу, что как сделано
сейчас это правильное поведение.
Сейчас запись из системного /etc/fstab берётся тогда, когда нет попытки
переопределить значения рута. Когда передаётся root=, то скорее всего эта
информация не актуальна. В этом случае вся информация из системы
отбрасывается.
Если же частично брать из системы опции и тип файловой системы, то будут
"подземные стуки" потому, что будут подставляться параметры, где был
создан образ.
В вашем случае если вы укажите root=UUID на другой рут, то будут
поставлены rootfstype=btrfs и параметры, что будет очень неправильно.
Текущее поведение при указании root= сбросит остальные параметры на
rootfstype=auto и rootflags=defaults. Это мне кажется более правильным.
--
Rgrds, legion
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2021-05-16 16:14 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-04 16:53 [make-initrd] boot with rootfs on a btrfs subvolume Arseny Maslennikov
2021-05-04 18:43 ` Alexey Gladkov
2021-05-04 19:14 ` Arseny Maslennikov
2021-05-04 21:02 ` Alexey Gladkov
2021-05-04 21:59 ` Arseny Maslennikov
2021-05-05 8:43 ` Alexey Gladkov
2021-05-16 16:14 ` Alexey Gladkov
Make-initrd development discussion
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/make-initrd/0 make-initrd/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 make-initrd make-initrd/ http://lore.altlinux.org/make-initrd \
make-initrd@lists.altlinux.org make-initrd@lists.altlinux.ru make-initrd@lists.altlinux.com
public-inbox-index make-initrd
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.make-initrd
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git