You are not logged in.

#1 2024-05-02 16:24:59

Splashy3852
Member
Registered: 2024-05-02
Posts: 17

[SOLVED] Read-write permission on btrfs snapshot in Arch fresh install

Hello, I have recently installed Arch for the first time on a VM, because I want to try a setup that I will reproduce on my real hardware, and finally installing Arch on my laptop.

The configuration I made is a LUKS-encrypted BTRFS installation, and I want bootable snapshots. I am having some issues concerning the last point. In fact, I am able to create snapshots (using Timeshift), to use grub-btrfs to create the entry in the GRUB menu; however, once I boot I have the following warning:

The root device is not configured to be read-write! It may be fsck'd later.

I looked on other topics on this error, however often they were for ext4 filesystem, and when there was a btrfs filesystem, it was not for the snapshot. Therefore, here I am to ask for help.

The problem is related:
1. to the warning per se
2. to the fact that when I boot on a snapshot, it looks like that the @ subvolume is correctly set, but the @home remains the same. This should not happen, since in the Timeshift options I set to snapshot also @home.

Here you are some useful output.

First:

[username@virtualbox ~]$ lsblk
NAME          MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINTS
sda             8:0    0 40.7G  0 disk
├─sda1          8:1    0  500M  0 part  /boot
└─sda2          8:2    0 40.2G  0 part
  └─linuxroot 254:0    0 40.2G  0 crypt /home
                                        /
sdb             8:16   0   40G  0 disk
├─sdb1          8:17   0  100M  0 part
├─sdb2          8:18   0   16M  0 part
├─sdb3          8:19   0 39.3G  0 part
└─sdb4          8:20   0  546M  0 part
sr0            11:0    1 1024M  0 rom

Second:

[username@virtualbox ~]$ cat /etc/fstab
# /dev/mapper/linuxroot LABEL=linuxroot
UUID=60c9ef4d-a180-40b8-b4bb-b4152e0eefde       /               btrfs           rw,noatime,compress=zstd:1,ssd,discard=async,space_cache=v2,subvolid=256,subvol=/@      0 0

# /dev/mapper/linuxroot LABEL=linuxroot
UUID=60c9ef4d-a180-40b8-b4bb-b4152e0eefde       /home           btrfs           rw,noatime,compress=zstd:1,ssd,discard=async,space_cache=v2,subvolid=257,subvol=/@home  0 0

# /dev/sda1 LABEL=EFI
UUID=A6F4-F2B4          /boot           vfat            rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,utf8,erro                0 2

Third:

[username@virtualbox ~]$ cat /etc/default/grub
# GRUB boot loader configuration
#NAME          FSTYPE      FSVER            LABEL       UUID                                 FSAVAIL FSUSE% MOUNTPOINTS
#loop0         squashfs    4.0                                                                     0   100% /run/archiso/airootfs
#sda
#├─sda1        vfat        FAT32            EFI         A6F4-F2B4                             350.5M    30% /mnt/boot
#└─sda2        crypto_LUKS 2                            3334c76c-2daf-4b3c-9e36-8e2307b61106
#  └─linuxroot btrfs                        linuxroot   60c9ef4d-a180-40b8-b4bb-b4152e0eefde    5.4G    23% /mnt/home
#                                                                                                           /mnt
#sr0           iso9660     Joliet Extension ARCH_202404 2024-04-01-17-57-21-00                     0   100% /run/archiso/bootmnt

GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="Arch"
GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 quiet cryptdevice=UUID=3334c76c-2daf-4b3c-9e36-8e2307b61106:linuxroot root=UUID=60c9ef4d-a180-40b8-b4bb-b4152e0eefde rootflags=subvol=@"
GRUB_CMDLINE_LINUX=""

# Preload both GPT and MBR modules so that they are not missed
GRUB_PRELOAD_MODULES="part_gpt part_msdos"

# Uncomment to enable booting from LUKS encrypted devices
GRUB_ENABLE_CRYPTODISK=y

# Set to 'countdown' or 'hidden' to change timeout behavior,
# press ESC key to display menu.
GRUB_TIMEOUT_STYLE=menu

# Uncomment to use basic console
GRUB_TERMINAL_INPUT=console

# Uncomment to disable graphical terminal
#GRUB_TERMINAL_OUTPUT=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `videoinfo'
GRUB_GFXMODE=auto

# Uncomment to allow the kernel use the same resolution used by grub
GRUB_GFXPAYLOAD_LINUX=keep

# Uncomment if you want GRUB to pass to the Linux kernel the old parameter
# format "root=/dev/xxx" instead of "root=/dev/disk/by-uuid/xxx"
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
GRUB_DISABLE_RECOVERY=true

# Uncomment and set to the desired menu colors.  Used by normal and wallpaper
# modes only.  Entries specified as foreground/background.
#GRUB_COLOR_NORMAL="light-blue/black"
#GRUB_COLOR_HIGHLIGHT="light-cyan/blue"

# Uncomment one of them for the gfx desired, a image background or a gfxtheme
#GRUB_BACKGROUND="/path/to/wallpaper"
#GRUB_THEME="/path/to/gfxtheme"

# Uncomment to get a beep at GRUB start
#GRUB_INIT_TUNE="480 440 1"

# Uncomment to make GRUB remember the last selection. This requires
# setting 'GRUB_DEFAULT=saved' above.
#GRUB_SAVEDEFAULT=true

# Uncomment to disable submenus in boot menu
#GRUB_DISABLE_SUBMENU=y

# Probing for other operating systems is disabled for security reasons. Read
# documentation on GRUB_DISABLE_OS_PROBER, if still want to enable this
# functionality install os-prober and uncomment to detect and include other
# operating systems.
#GRUB_DISABLE_OS_PROBER=false

Fourth:

[username@virtualbox ~]$ sudo grub-mkconfig -o /boot/grub/grub.cfg
[sudo] password for username:
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-linux
Found initrd image: /boot/initramfs-linux.img
Found fallback initrd image(s) in /boot:  initramfs-linux-fallback.img
Warning: os-prober will not be executed to detect other bootable partitions.
Systems on them will not be added to the GRUB boot configuration.
Check GRUB_DISABLE_OS_PROBER documentation entry.
Adding boot menu entry for UEFI Firmware Settings ...
Detecting snapshots ...
Found snapshot: 2024-05-02 00:30:26 | timeshift-btrfs/snapshots/2024-05-02_00-30-26/@ | ondemand | 2Maggio              |
Found snapshot: 2024-05-01 14:45:36 | timeshift-btrfs/snapshots/2024-05-01_14-45-36/@ | ondemand | Uninstalled chromium |
Found snapshot: 2024-05-01 14:45:09 | timeshift-btrfs/snapshots/2024-05-01_14-45-09/@ | ondemand | Installed chromium   |
Found snapshot: 2024-05-01 14:15:26 | timeshift-btrfs/snapshots/2024-05-01_14-15-26/@ | ondemand | Updated system       |
Found snapshot: 2024-04-21 11:44:12 | timeshift-btrfs/snapshots/2024-04-21_11-44-12/@ | ondemand | Removed neovim       |
Found snapshot: 2024-04-21 02:05:53 | timeshift-btrfs/snapshots/2024-04-21_02-05-53/@ | ondemand | Installed neovim     |
Found snapshot: 2024-04-21 02:02:06 | timeshift-btrfs/snapshots/2024-04-21_02-02-06/@ | ondemand | Installed gparted    |
Found snapshot: 2024-04-09 22:58:29 | timeshift-btrfs/snapshots/2024-04-09_22-58-29/@ | ondemand | N/A                  |
Found 8 snapshot(s)
Unmount /tmp/grub-btrfs.VnEcDQpXOU .. Success
done

EDIT: I notice now that the last sentence was deleted (maybe in the copy-paste). I was saying that I documented each step of the installation, therefore I can provide easily further details. Thanks in advance to everyone.

EDIT 2: I solved the problem

Last edited by Splashy3852 (2024-08-08 15:01:14)

Offline

Board footer

Powered by FluxBB