How to boot in a snapshot

Snapper created the following upon running snapper rollback 2868:

3400g:~ # snapper list |grep 2868
2868  │ post   │  2867 │ Mon Jun 17 16:00:01 2024 │ root │ number  │                         │ important=no
2890* │ single │       │ Wed Jun 19 15:22:28 2024 │ root │         │ writable copy of #2868  │
3400g:~ # 

I created a writeable copy of #2822 (oldest available) and verified by booting into it:

Mounted topmost subvolume (subvolid=5) at existing directory /Btrbk:

3400g:~ # grep /Btrbk /etc/fstab 
UUID=e7ad401f-4f60-42ff-a07e-f54372bc1dbc  /Btrbk                  btrfs  noauto,subvolid=5             0  0
3400g:~ # 
  1. Created a new directory:
mkdir /Btrbk/@/.snapshots/2891
  1. Created snapshot:
btrfs subvolume snapshot /Btrbk/@/.snapshots/2822/snapshot /Btrbk/@/.snapshots/2891
  1. Added description:
cp /Btrbk/@/.snapshots/2890/info.xml /Btrbk/@/.snapshots/2891
nano /Btrbk/@/.snapshots/2891/info.xml

Adjusted strings as required:

3400g:~ # cat /Btrbk/@/.snapshots/2891/info.xml 
<?xml version="1.0"?>
<snapshot>
  <type>single</type>
  <num>2891</num>
  <date>2024-06-19 14:52:28</date>
  <description>writable copy of #2822</description>
</snapshot>
3400g:~ # 
  1. Changed default subvolume and rebooted:
btrfs subvolume set-default /Btrbk/@/.snapshots/2891/snapshot

Host 3400g successfully rolled back and booted into #2891 Tumbleweed 20240206, writeable copy of #2822:

3400g:~ # journalctl -b -1|head -3
Jun 19 16:58:03 3400g kernel: Linux version 6.8.1-1-default (geeko@buildhost) (gcc (SUSE Linux) 13.2.1 20240206 [revision 67ac78caf31f7cb3202177e6428a46d829b70f23], GNU ld (GNU Binutils; openSUSE Tumbleweed) 2.42.0.20240130-2) #1 SMP PREEMPT_DYNAMIC Tue Mar 19 07:32:20 UTC 2024 (d922afa)
Jun 19 16:58:03 3400g kernel: Command line: BOOT_IMAGE=/boot/vmlinuz-6.8.1-1-default root=UUID=e7ad401f-4f60-42ff-a07e-f54372bc1dbc quiet loglevel=0 plymouth.enable=0 mitigations=off
  1. Set default back to #2890 and booted again:
3400g:~ # snapper list |grep -E '2822|2868'
2822  │ pre    │       │ Thu May  9 15:29:45 2024 │ root │ number  │ zypp(zypper)            │ important=yes
2823  │ post   │  2822 │ Thu May  9 15:39:33 2024 │ root │ number  │                         │ important=yes
2868  │ post   │  2867 │ Mon Jun 17 16:00:01 2024 │ root │ number  │                         │ important=no
2890* │ single │       │ Wed Jun 19 15:22:28 2024 │ root │         │ writable copy of #2868  │
2891  │ single │       │ Wed Jun 19 16:52:28 2024 │ root │         │ writable copy of #2822  │
3400g:~ # 
1 Like