Mailinglist Archive: opensuse (1620 mails)

< Previous Next >
[opensuse] Re: boot with root as subvolume
On Sun, 23 Nov 2014 09:39:56 +0300
Andrei Borzenkov <arvidjaar@xxxxxxxxx> wrote:

Could you remind which openSUSE version you run?


Could you be more specific where it fails? There are three places that
need adjustment

OK. I managed to rename original subvolumes and put root from the
top-level into subvolume.

Here is my /etc/fstab:

UUID=xyz / btrfs noatime,noatime,autodefrag,compress=lzo,subvol=@ 0 0
UUID=xyz /home btrfs noatime,noatime,autodefrag,compress=lzo,subvol=@home 0 0
UUID=xyz /opt btrfs noatime,noatime,autodefrag,compress=lzo,subvol=@opt 0 0
UUID=xyz /srv btrfs noatime,noatime,autodefrag,compress=lzo,subvol=@srv 0 0
UUID=xyz /tmp btrfs noatime,noatime,autodefrag,compress=lzo,subvol=@tmp 0 0
UUID=xyz /usr/local btrfs
noatime,noatime,autodefrag,compress=lzo,subvol=@usr_local 0 0
UUID=xyz /var/crash btrfs
noatime,noatime,autodefrag,compress=lzo,subvol=@var_crash 0 0
UUID=xyz /var/log btrfs noatime,noatime,autodefrag,compress=lzo,subvol=@var_log
0 0
UUID=xyz /var/opt btrfs noatime,noatime,autodefrag,compress=lzo,subvol=@var_opt
0 0
UUID=xyz /var/spool btrfs
noatime,noatime,autodefrag,compress=lzo,subvol=@var_spool 0 0
UUID=xyz /var/tmp btrfs noatime,noatime,autodefrag,compress=lzo,subvol=@var_tmp
0 0
UUID=xyz swap swap defaults 0 0
UUID=xyz /.snapshots btrfs
noatime,noatime,autodefrag,compress=lzo,subvol=@snapshots 0 0

However, I have problem with Grub...

1. reference to /boot/grub2 in first stage grub binary. If /boot/grub2
was on the same subvolume that was moved (and is now /@/boot/grub2)
you need to rerun grub2-install so it picks up new path.

Here is the result:

# grub2-install /dev/sda
Installing for i386-pc platform.
Installation finished. No error reported.

I notice that /boot/grub2(x86_64-efi directory is empty and wonder if
it's normal considering that my install is on x86_64 with BIOS/GPT disk?

2. Paths to kernels in grub.cfg. They should be updated after
rerunning grub2-mkconfig. If not, it is a bug and I would be
interested in more information.

This is buggy and here are the details with my inline comments:

set root='hd0,gpt3' # path is set correctly

menuentry 'openSUSE'
linux /boot/vmlinuz-3.16.6-2-desktop
root=UUID=xyz ${extra_cmdline}
splash=silent quiet showopts
# the path is missing /@/boot/ as well as rootflags=subvol=@

echo 'Loading initial ramdisk ...'
initrd /boot/initrd-3.16.6-2-desktop
# same here - wrong path which should be /@/boot/...

menuentry 'openSUSE, with Linux 3.16.6-2-desktop (recovery mode)'
linux /boot/vmlinuz-3.16.6-2-desktop
root=UUID=xyz ${extra_cmdline}
showopts apm=off noresume edd=off powersaved=off nohz=off highres=off
processor.max_cstate=1 nomodeset x11failsafe rootflags=subvol=@
# it's strange that here there is rootflags?? but the path is still
# wrong
echo 'Loading initial ramdisk ...'
initrd /boot/initrd-3.16.6-2-desktop # again, wrong path

insmod gfxmenu
loadfont ($root)/boot/grub2/themes/openSUSE/ascii.pf2
loadfont ($root)/boot/grub2/themes/openSUSE/DejaVuSans10.pf2
loadfont ($root)/boot/grub2/themes/openSUSE/DejaVuSans12.pf2
loadfont ($root)/boot/grub2/themes/openSUSE/DejaVuSans-Bold14.pf2
insmod png
set theme=($root)/boot/grub2/themes/openSUSE/theme.txt
# the above themes-paths are also wrong!!

3. kernel command line options, specifically subvol=.... Here I'm, not
sure. There code to do it is there, but I do not know whether it

I hope, from the above it's clear what's wrong?


In this endeavor there is no loss or diminution,
and a little advancement on this path can protect
one from the most dangerous type of fear.

To unsubscribe, e-mail: opensuse+unsubscribe@xxxxxxxxxxxx
To contact the owner, e-mail: opensuse+owner@xxxxxxxxxxxx

< Previous Next >