Open dezza opened 13 hours ago
There is an issue with the Plymouth package currently. I do not know the details but is rebooting early and somehow the post snapshot is also not created.
Is sdbootutil add-all-kernels
working, or is producing the same error? If fails, can you run bash -x sdbootutil add-all-kernels
and paste the output (for example in https://paste.opensuse.org/)
sdbootutil add-all-kernels
does not fail (exit 0
), but the issue prevails as above with sdbootutil -v list-entries
and zypper in -f -y plymouth
Ok, lets focus first in the list-entries
one. Do bash -x sdbootutil -v list-entries
and paste the output. As it will be long, a good place in the one for the other comment.
Also what do you have for snapper ls
?
+ set -e
+ shopt -s nullglob
+ dialog_altenate_screen=
+ dialog_backtitle=sdbootutil
+ interactive=
+ verbose=
+ nl='
'
++ uname -m
+ shimdir=/usr/share/efi/x86_64
+ arg_esp_path=
+ arg_entry_token=
+ arg_arch=
+ arg_all_entries=
+ arg_entry_keys=()
+ arg_no_variables=
+ arg_no_reuse_initrd=
+ arg_no_random_seed=
+ arg_portable=
+ arg_sync=
+ arg_only_default=
+ arg_default_snapshot=
+ arg_ask_key_pin_or_pw=
+ arg_method=
+ arg_signed_policy=
+ have_snapshots=
+ image=
+ unlock_method=
+ color_red=
+ color_end=
+ [[ ehxB == *i* ]]
+ [[ ehxB != *i* ]]
+ '[' '' = true ']'
+ '[' '' = 1 ']'
+ state_file=/var/lib/misc/transactional-update.state
+ update_predictions=
+ tracked_devices=()
+ rollback=()
++ mktemp -d -t sdbootutil.XXXXXX
+ tmpdir=/tmp/sdbootutil.TF1o20
+ trap cleanup EXIT
+ entryfile=/tmp/sdbootutil.TF1o20/entries.json
+ initialentryfile=/tmp/sdbootutil.TF1o20/initial_entries.json
+ snapperfile=/tmp/sdbootutil.TF1o20/snapper.json
+ tmpfile=/tmp/sdbootutil.TF1o20/tmp
+ entry_filter=("cat")
+ declare -A found_kernels
+ declare -A installed_kernels
+ declare -A stale_kernels
+ is_bootable=
++ getopt -o hc:v --long help,flicker,verbose,esp-path:,entry-token:,arch:,image:,entry-keys:,no-variables,no-reuse-initrd,no-random-seed,all,sync,portable,only-default,default-snapshot,ask-key,ask-pin,ask-pw,method:,signed-policy -n sdbootutil -- -v list-entries
+ getopttmp=' -v -- '\''list-entries'\'''
+ eval set -- ' -v -- '\''list-entries'\'''
++ set -- -v -- list-entries
+ true
+ case "$1" in
+ verbose=1
+ shift
+ true
+ case "$1" in
+ shift
+ break
+ '[' -z '' ']'
+ '[' -n 1 ']'
+ '[' 1 -gt 1 ']'
+ SYSTEMD_LOG_LEVEL=info
+ export SYSTEMD_LOG_LEVEL
+ case "$1" in
+ '[' -n '' ']'
++ bootctl
++ sed -ne 's/Firmware Arch: *\(\w\+\)/firmware_arch="\1"/p;s/ *token: *\(\w\+\)/entry_token="\1"/p;s, *\$BOOT: *\([^ ]\+\).*,boot_root="\1",p'
+ eval ' firmware_arch="x64"
boot_root="/boot/efi"
entry_token="opensuse"-tumbleweed'
++ firmware_arch=x64
++ boot_root=/boot/efi
++ entry_token=opensuse-tumbleweed
+ read -r root_uuid root_device
++ findmnt / -v -r -n -o UUID,SOURCE
+ root_device_is_crypt=
++ lsblk --noheadings -o TYPE /dev/mapper/cr-auto-1
+ '[' crypt = crypt ']'
+ root_device_is_crypt=1
+ root_subvol=
+ subvol_prefix=
++ stat -f -c %T /
+ '[' btrfs = btrfs ']'
+ '[' -d /.snapshots ']'
+ have_snapshots=1
++ btrfs subvol show /
++ head -1
+ root_subvol=
+ subvol_prefix=
+ root_snapshot=
+ '[' -n 1 ']'
+ '[' -n '' ']'
+ root_snapshot=
+ root_snapshot=
+ '[' -n '' ']'
+ '[' -n '' ']'
+ '[' -n /boot/efi ']'
+ '[' -n 75ed69cb-300b-407a-a1ff-e7a0dc95fb28 ']'
+ '[' -n '' ']'
+ '[' -z 1 ']'
+ err 'Can'\''t determine root subvolume'
+ '[' '' = 1 ']'
+ echo 'Error: Can'\''t determine root subvolume'
Error: Can't determine root subvolume
+ exit 1
+ cleanup
+ local i
+ rm -rf /tmp/sdbootutil.TF1o20
sudo snapper ls
(it only shows snapshots since after sudo snapper -c root create-config /
22 Nov sounds right.)
udo snapper ls
[sudo] password for root:
# │ Type │ Pre # │ Date │ User │ Cleanup │ Description │ Userdata
────┼────────┼───────┼──────────────────────────────┼──────┼──────────┼──────────────┼──────────────
0 │ single │ │ │ root │ │ current │
3 │ single │ │ fre 22 nov 2024 12:00:22 CET │ root │ timeline │ timeline │
19 │ pre │ │ fre 22 nov 2024 13:26:10 CET │ root │ number │ zypp(zypper) │ important=yes
20 │ post │ 19 │ fre 22 nov 2024 13:26:11 CET │ root │ number │ │ important=yes
24 │ single │ │ lør 23 nov 2024 09:00:02 CET │ root │ timeline │ timeline │
127 │ pre │ │ lør 23 nov 2024 20:07:36 CET │ root │ number │ zypp(zypper) │ important=no
128 │ post │ 127 │ lør 23 nov 2024 20:07:37 CET │ root │ number │ │ important=no
131 │ pre │ │ søn 24 nov 2024 07:48:00 CET │ root │ number │ zypp(zypper) │ important=no
132 │ post │ 131 │ søn 24 nov 2024 07:48:13 CET │ root │ number │ │ important=no
133 │ single │ │ søn 24 nov 2024 08:00:47 CET │ root │ timeline │ timeline │
134 │ pre │ │ søn 24 nov 2024 08:24:05 CET │ root │ number │ zypp(zypper) │ important=no
135 │ post │ 134 │ søn 24 nov 2024 08:24:12 CET │ root │ number │ │ important=no
138 │ pre │ │ søn 24 nov 2024 10:02:02 CET │ root │ number │ zypp(zypper) │ important=no
139 │ post │ 138 │ søn 24 nov 2024 10:02:07 CET │ root │ number │ │ important=no
140 │ pre │ │ søn 24 nov 2024 10:16:43 CET │ root │ number │ zypp(zypper) │ important=no
141 │ post │ 140 │ søn 24 nov 2024 10:16:45 CET │ root │ number │ │ important=no
144 │ pre │ │ søn 24 nov 2024 12:00:57 CET │ root │ number │ zypp(zypper) │ important=no
145 │ post │ 144 │ søn 24 nov 2024 12:00:59 CET │ root │ number │ │ important=no
146 │ pre │ │ søn 24 nov 2024 12:34:05 CET │ root │ number │ zypp(zypper) │ important=no
147 │ post │ 146 │ søn 24 nov 2024 12:34:07 CET │ root │ number │ │ important=no
148 │ pre │ │ søn 24 nov 2024 12:34:32 CET │ root │ number │ zypp(zypper) │ important=no
149 │ post │ 148 │ søn 24 nov 2024 12:34:34 CET │ root │ number │ │ important=no
155 │ pre │ │ søn 24 nov 2024 17:56:21 CET │ root │ number │ zypp(zypper) │ important=no
156 │ post │ 155 │ søn 24 nov 2024 17:56:29 CET │ root │ number │ │ important=no
160 │ pre │ │ søn 24 nov 2024 21:04:17 CET │ root │ number │ zypp(zypper) │ important=no
161 │ post │ 160 │ søn 24 nov 2024 21:04:20 CET │ root │ number │ │ important=no
164 │ single │ │ man 25 nov 2024 11:00:00 CET │ root │ timeline │ timeline │
167 │ pre │ │ man 25 nov 2024 13:04:36 CET │ root │ number │ zypp(zypper) │ important=no
168 │ post │ 167 │ man 25 nov 2024 13:04:38 CET │ root │ number │ │ important=no
169 │ pre │ │ man 25 nov 2024 13:13:52 CET │ root │ number │ zypp(zypper) │ important=no
170 │ post │ 169 │ man 25 nov 2024 13:13:53 CET │ root │ number │ │ important=no
171 │ pre │ │ man 25 nov 2024 13:14:02 CET │ root │ number │ zypp(zypper) │ important=no
172 │ post │ 171 │ man 25 nov 2024 13:14:04 CET │ root │ number │ │ important=no
173 │ pre │ │ man 25 nov 2024 13:37:23 CET │ root │ number │ zypp(zypper) │ important=no
174 │ post │ 173 │ man 25 nov 2024 13:37:24 CET │ root │ number │ │ important=no
176 │ pre │ │ man 25 nov 2024 15:39:06 CET │ root │ number │ zypp(zypper) │ important=no
177 │ post │ 176 │ man 25 nov 2024 15:39:15 CET │ root │ number │ │ important=no
180 │ single │ │ tir 26 nov 2024 16:00:00 CET │ root │ timeline │ timeline │
181 │ single │ │ tir 26 nov 2024 17:00:00 CET │ root │ timeline │ timeline │
182 │ single │ │ tir 26 nov 2024 18:00:00 CET │ root │ timeline │ timeline │
183 │ single │ │ tir 26 nov 2024 19:00:00 CET │ root │ timeline │ timeline │
184 │ single │ │ tir 26 nov 2024 20:00:00 CET │ root │ timeline │ timeline │
185 │ single │ │ tir 26 nov 2024 21:00:02 CET │ root │ timeline │ timeline │
186 │ single │ │ ons 27 nov 2024 10:48:55 CET │ root │ timeline │ timeline │
187 │ single │ │ ons 27 nov 2024 11:00:10 CET │ root │ timeline │ timeline │
188 │ pre │ │ ons 27 nov 2024 11:13:10 CET │ root │ number │ zypp(zypper) │ important=yes
189 │ pre │ │ ons 27 nov 2024 11:32:11 CET │ root │ number │ zypp(zypper) │ important=yes
190 │ pre │ │ ons 27 nov 2024 11:34:31 CET │ root │ number │ zypp(zypper) │ important=yes
191 │ pre │ │ ons 27 nov 2024 11:36:47 CET │ root │ number │ zypp(zypper) │ important=yes
192 │ pre │ │ ons 27 nov 2024 11:39:30 CET │ root │ number │ zypp(zypper) │ important=yes
193 │ pre │ │ ons 27 nov 2024 11:39:48 CET │ root │ number │ zypp(zypper) │ important=yes
194 │ pre │ │ ons 27 nov 2024 11:39:54 CET │ root │ number │ zypp(zypper) │ important=yes
195 │ pre │ │ ons 27 nov 2024 11:49:37 CET │ root │ number │ zypp(zypper) │ important=no
196 │ pre │ │ ons 27 nov 2024 11:49:51 CET │ root │ number │ zypp(zypper) │ important=no
197 │ pre │ │ ons 27 nov 2024 11:50:07 CET │ root │ number │ zypp(zypper) │ important=no
198 │ pre │ │ ons 27 nov 2024 11:54:10 CET │ root │ number │ zypp(zypper) │ important=no
199 │ pre │ │ ons 27 nov 2024 11:54:18 CET │ root │ number │ zypp(zypper) │ important=no
200 │ post │ 199 │ ons 27 nov 2024 11:54:20 CET │ root │ number │ │ important=no
201 │ pre │ │ ons 27 nov 2024 11:55:48 CET │ root │ number │ zypp(zypper) │ important=no
202 │ pre │ │ ons 27 nov 2024 11:56:12 CET │ root │ number │ zypp(zypper) │ important=no
203 │ pre │ │ ons 27 nov 2024 11:56:20 CET │ root │ number │ zypp(zypper) │ important=no
204 │ post │ 203 │ ons 27 nov 2024 11:56:21 CET │ root │ number │ │ important=no
205 │ single │ │ ons 27 nov 2024 12:00:00 CET │ root │ timeline │ timeline │
206 │ pre │ │ ons 27 nov 2024 12:10:03 CET │ root │ number │ zypp(zypper) │ important=no
207 │ single │ │ ons 27 nov 2024 13:00:00 CET │ root │ timeline │ timeline │
208 │ pre │ │ ons 27 nov 2024 13:37:36 CET │ root │ number │ zypp(zypper) │ important=no
209 │ pre │ │ ons 27 nov 2024 13:37:41 CET │ root │ number │ zypp(zypper) │ important=no
somehow you lost the default snapshot (usually snapshot 1). What do you have for btrfs subvolume get-default /
btrfs subvolume get-default /
ID 256 gen 9521 top level 5 path @
yeah ... we need to set a new default one. Lets try this: snapper modify --default 3
, now btrfs subvolume get-default /
should point to snapshot 3, and snapper ls
should show a *
close to the number 3.
With this maybe we go back to how the system was on Nov 22, so you will need to upgrade it again. Upgrade all you can except Plymouth for now (the package is broken, and a fix I think is on preparation)
Optionally, after that, to clean a bit the system, you remove all the snapshots that comes after 3: snapper rm 19-XXX
Thanks a lot for your quick and precise help, both btrfs and opensuse is new to me.
snapper ls
shows 3+
(not a [*] star next to 3..)
# │ Type │ Pre # │ Date │ User │ Cleanup │ Description │ Userdata
─────┼────────┼───────┼──────────────────────────┼──────┼──────────┼──────────────┼──────────────
0 │ single │ │ │ root │ │ current │
3+ │ single │ │ Fri Nov 22 12:00:22 2024 │ root │ timeline │ timeline │
19 │ pre │ │ Fri Nov 22 13:26:10 2024 │ root │ number │ zypp(zypper) │ important=yes
20 │ post │ 19 │ Fri Nov 22 13:26:11 2024 │ root │ number │ │ important=yes
24 │ single │ │ Sat Nov 23 09:00:02 2024 │ root │ timeline │ timeline │
127 │ pre │ │ Sat Nov 23 20:07:36 2024 │ root │ number │ zypp(zypper) │ important=no
128 │ post │ 127 │ Sat Nov 23 20:07:37 2024 │ root │ number │ │ important=no
131 │ pre │ │ Sun Nov 24 07:48:00 2024 │ root │ number │ zypp(zypper) │ important=no
132 │ post │ 131 │ Sun Nov 24 07:48:13 2024 │ root │ number │ │ important=no
133 │ single │ │ Sun Nov 24 08:00:47 2024 │ root │ timeline │ timeline │
134 │ pre │ │ Sun Nov 24 08:24:05 2024 │ root │ number │ zypp(zypper) │ important=no
135 │ post │ 134 │ Sun Nov 24 08:24:12 2024 │ root │ number │ │ important=no
138 │ pre │ │ Sun Nov 24 10:02:02 2024 │ root │ number │ zypp(zypper) │ important=no
139 │ post │ 138 │ Sun Nov 24 10:02:07 2024 │ root │ number │ │ important=no
140 │ pre │ │ Sun Nov 24 10:16:43 2024 │ root │ number │ zypp(zypper) │ important=no
141 │ post │ 140 │ Sun Nov 24 10:16:45 2024 │ root │ number │ │ important=no
144 │ pre │ │ Sun Nov 24 12:00:57 2024 │ root │ number │ zypp(zypper) │ important=no
145 │ post │ 144 │ Sun Nov 24 12:00:59 2024 │ root │ number │ │ important=no
146 │ pre │ │ Sun Nov 24 12:34:05 2024 │ root │ number │ zypp(zypper) │ important=no
147 │ post │ 146 │ Sun Nov 24 12:34:07 2024 │ root │ number │ │ important=no
148 │ pre │ │ Sun Nov 24 12:34:32 2024 │ root │ number │ zypp(zypper) │ important=no
149 │ post │ 148 │ Sun Nov 24 12:34:34 2024 │ root │ number │ │ important=no
155 │ pre │ │ Sun Nov 24 17:56:21 2024 │ root │ number │ zypp(zypper) │ important=no
156 │ post │ 155 │ Sun Nov 24 17:56:29 2024 │ root │ number │ │ important=no
160 │ pre │ │ Sun Nov 24 21:04:17 2024 │ root │ number │ zypp(zypper) │ important=no
161 │ post │ 160 │ Sun Nov 24 21:04:20 2024 │ root │ number │ │ important=no
164 │ single │ │ Mon Nov 25 11:00:00 2024 │ root │ timeline │ timeline │
167 │ pre │ │ Mon Nov 25 13:04:36 2024 │ root │ number │ zypp(zypper) │ important=no
168 │ post │ 167 │ Mon Nov 25 13:04:38 2024 │ root │ number │ │ important=no
169 │ pre │ │ Mon Nov 25 13:13:52 2024 │ root │ number │ zypp(zypper) │ important=no
170 │ post │ 169 │ Mon Nov 25 13:13:53 2024 │ root │ number │ │ important=no
171 │ pre │ │ Mon Nov 25 13:14:02 2024 │ root │ number │ zypp(zypper) │ important=no
172 │ post │ 171 │ Mon Nov 25 13:14:04 2024 │ root │ number │ │ important=no
173 │ pre │ │ Mon Nov 25 13:37:23 2024 │ root │ number │ zypp(zypper) │ important=no
174 │ post │ 173 │ Mon Nov 25 13:37:24 2024 │ root │ number │ │ important=no
176 │ pre │ │ Mon Nov 25 15:39:06 2024 │ root │ number │ zypp(zypper) │ important=no
177 │ post │ 176 │ Mon Nov 25 15:39:15 2024 │ root │ number │ │ important=no
180 │ single │ │ Tue Nov 26 16:00:00 2024 │ root │ timeline │ timeline │
181 │ single │ │ Tue Nov 26 17:00:00 2024 │ root │ timeline │ timeline │
182 │ single │ │ Tue Nov 26 18:00:00 2024 │ root │ timeline │ timeline │
183 │ single │ │ Tue Nov 26 19:00:00 2024 │ root │ timeline │ timeline │
184 │ single │ │ Tue Nov 26 20:00:00 2024 │ root │ timeline │ timeline │
185 │ single │ │ Tue Nov 26 21:00:02 2024 │ root │ timeline │ timeline │
186 │ single │ │ Wed Nov 27 10:48:55 2024 │ root │ timeline │ timeline │
187 │ single │ │ Wed Nov 27 11:00:10 2024 │ root │ timeline │ timeline │
188 │ pre │ │ Wed Nov 27 11:13:10 2024 │ root │ number │ zypp(zypper) │ important=yes
189 │ pre │ │ Wed Nov 27 11:32:11 2024 │ root │ number │ zypp(zypper) │ important=yes
190 │ pre │ │ Wed Nov 27 11:34:31 2024 │ root │ number │ zypp(zypper) │ important=yes
191 │ pre │ │ Wed Nov 27 11:36:47 2024 │ root │ number │ zypp(zypper) │ important=yes
192 │ pre │ │ Wed Nov 27 11:39:30 2024 │ root │ number │ zypp(zypper) │ important=yes
193 │ pre │ │ Wed Nov 27 11:39:48 2024 │ root │ number │ zypp(zypper) │ important=yes
194 │ pre │ │ Wed Nov 27 11:39:54 2024 │ root │ number │ zypp(zypper) │ important=yes
195 │ pre │ │ Wed Nov 27 11:49:37 2024 │ root │ number │ zypp(zypper) │ important=no
196 │ pre │ │ Wed Nov 27 11:49:51 2024 │ root │ number │ zypp(zypper) │ important=no
197 │ pre │ │ Wed Nov 27 11:50:07 2024 │ root │ number │ zypp(zypper) │ important=no
198 │ pre │ │ Wed Nov 27 11:54:10 2024 │ root │ number │ zypp(zypper) │ important=no
199 │ pre │ │ Wed Nov 27 11:54:18 2024 │ root │ number │ zypp(zypper) │ important=no
200 │ post │ 199 │ Wed Nov 27 11:54:20 2024 │ root │ number │ │ important=no
201 │ pre │ │ Wed Nov 27 11:55:48 2024 │ root │ number │ zypp(zypper) │ important=no
202 │ pre │ │ Wed Nov 27 11:56:12 2024 │ root │ number │ zypp(zypper) │ important=no
203 │ pre │ │ Wed Nov 27 11:56:20 2024 │ root │ number │ zypp(zypper) │ important=no
204 │ post │ 203 │ Wed Nov 27 11:56:21 2024 │ root │ number │ │ important=no
205 │ single │ │ Wed Nov 27 12:00:00 2024 │ root │ timeline │ timeline │
206 │ pre │ │ Wed Nov 27 12:10:03 2024 │ root │ number │ zypp(zypper) │ important=no
207 │ single │ │ Wed Nov 27 13:00:00 2024 │ root │ timeline │ timeline │
208 │ pre │ │ Wed Nov 27 13:37:36 2024 │ root │ number │ zypp(zypper) │ important=no
209 │ pre │ │ Wed Nov 27 13:37:41 2024 │ root │ number │ zypp(zypper) │ important=no
210 │ single │ │ Wed Nov 27 14:00:00 2024 │ root │ timeline │ timeline │
But now sdbootutil -v list-entries
Error: Can't determine root subvolume
btrfs subvolume get-default /
ID 267 gen 3717 top level 264 path @/.snapshots/3/snapshot
This +
close to the 3 needs to be converted to a *
. For that you would need to reboot
It mounts root read-only after reboot.
That would make sense, as the subvol part in the cmdline is missing.
Check if the sdbootutil -v list-entries works now. If it does, we need to re-create the entries: sdbootutil update-all-entries
look on the boot loader entries to see that now the rootflag=subvol=...
is part of the cmdline. If it is there, reboot.
If not, we can try some more dangerous: sdbootutil remove-all-kernels; sdbootutil add-all-kernels
This will reinstall the kernel, the initrd and the boot entries. This can help to synchronize the current kernels from the new default snapshot
It gives the same
/ snapshot/root=/dev/mapper/cr-auto-1 splash=verbose security=apparmor mitigations=auto systemd.machine_id=f7668c0b67104ace91ed2f7f4e3e0794/snapshot does not exist
opensuse-tumbleweed-6.11.8-1-default.conf: openSUSE Tumbleweed 20241119 (@6.11.8-1-default)
/ snapshot/root=/dev/mapper/cr-auto-1 splash=verbose security=apparmor mitigations=auto systemd.machine_id=f7668c0b67104ace91ed2f7f4e3e0794/snapshot does not exist
opensuse-tumbleweed-6.11.3-2-default.conf: openSUSE Tumbleweed 20241119 (@6.11.3-2-default)
I can try the second option.
After doing second option it made no change, still no exist
in entries, still read-only. (after reboot)
There is no rootflag=
option in entries
Ok, lets start again: you confirm that snapper ls
present a default snapshot now (3*
), right?
Can you paste bash -x sdbootutil -v list-entries
?
snapper ls
# │ Type │ Pre # │ Date │ User │ Cleanup │ Description │ Userdata
──┼────────┼───────┼──────┼──────┼─────────┼─────────────┼─────────
0 │ single │ │ │ root │ │ current │
Its just become 0 I think.
bash -x sdbootutil -v list-entries
+ set -e
+ shopt -s nullglob
+ dialog_altenate_screen=
+ dialog_backtitle=sdbootutil
+ interactive=
+ verbose=
+ nl='
'
++ uname -m
+ shimdir=/usr/share/efi/x86_64
+ arg_esp_path=
+ arg_entry_token=
+ arg_arch=
+ arg_all_entries=
+ arg_entry_keys=()
+ arg_no_variables=
+ arg_no_reuse_initrd=
+ arg_no_random_seed=
+ arg_portable=
+ arg_sync=
+ arg_only_default=
+ arg_default_snapshot=
+ arg_ask_key_pin_or_pw=
+ arg_method=
+ arg_signed_policy=
+ have_snapshots=
+ image=
+ unlock_method=
+ color_red=
+ color_end=
+ [[ ehxB == *i* ]]
+ [[ ehxB != *i* ]]
+ '[' '' = true ']'
+ '[' '' = 1 ']'
+ state_file=/var/lib/misc/transactional-update.state
+ update_predictions=
+ tracked_devices=()
+ rollback=()
++ mktemp -d -t sdbootutil.XXXXXX
+ tmpdir=/tmp/sdbootutil.Tcgxem
+ trap cleanup EXIT
+ entryfile=/tmp/sdbootutil.Tcgxem/entries.json
+ initialentryfile=/tmp/sdbootutil.Tcgxem/initial_entries.json
+ snapperfile=/tmp/sdbootutil.Tcgxem/snapper.json
+ tmpfile=/tmp/sdbootutil.Tcgxem/tmp
+ entry_filter=("cat")
+ declare -A found_kernels
+ declare -A installed_kernels
+ declare -A stale_kernels
+ is_bootable=
++ getopt -o hc:v --long help,flicker,verbose,esp-path:,entry-token:,arch:,image:,entry-keys:,no-variables,no-reuse-initrd,no-random-seed,all,sync,portable,only-default,default-snapshot,ask-key,ask-pin,ask-pw,method:,signed-policy -n sdbootutil -- -v list-entries
+ getopttmp=' -v -- '\''list-entries'\'''
+ eval set -- ' -v -- '\''list-entries'\'''
++ set -- -v -- list-entries
+ true
+ case "$1" in
+ verbose=1
+ shift
+ true
+ case "$1" in
+ shift
+ break
+ '[' -z '' ']'
+ '[' -n 1 ']'
+ '[' 1 -gt 1 ']'
+ SYSTEMD_LOG_LEVEL=info
+ export SYSTEMD_LOG_LEVEL
+ case "$1" in
+ '[' -n '' ']'
++ bootctl
++ sed -ne 's/Firmware Arch: *\(\w\+\)/firmware_arch="\1"/p;s/ *token: *\(\w\+\)/entry_token="\1"/p;s, *\$BOOT: *\([^ ]\+\).*,boot_root="\1",p'
+ eval ' firmware_arch="x64"
boot_root="/boot/efi"
entry_token="opensuse"-tumbleweed'
++ firmware_arch=x64
++ boot_root=/boot/efi
++ entry_token=opensuse-tumbleweed
+ read -r root_uuid root_device
++ findmnt / -v -r -n -o UUID,SOURCE
+ root_device_is_crypt=
++ lsblk --noheadings -o TYPE /dev/mapper/cr-auto-1
+ '[' crypt = crypt ']'
+ root_device_is_crypt=1
+ root_subvol=
+ subvol_prefix=
++ stat -f -c %T /
+ '[' btrfs = btrfs ']'
+ '[' -d /.snapshots ']'
+ have_snapshots=1
++ btrfs subvol show /
++ head -1
+ root_subvol=
+ subvol_prefix=
+ root_snapshot=
+ '[' -n 1 ']'
+ '[' -n '' ']'
+ root_snapshot=
+ root_snapshot=
+ '[' -n '' ']'
+ '[' -n '' ']'
+ '[' -n /boot/efi ']'
+ '[' -n 75ed69cb-300b-407a-a1ff-e7a0dc95fb28 ']'
+ '[' -n '' ']'
+ '[' -z 1 ']'
+ err 'Can'\''t determine root subvolume'
+ '[' '' = 1 ']'
+ echo 'Error: Can'\''t determine root subvolume'
Error: Can't determine root subvolume
+ exit 1
+ cleanup
+ local i
+ rm -rf /tmp/sdbootutil.Tcgxem
Where is 3? We need 3 as default snapshot
Edit: did you removed 3???
Where is 3? We need 3 as default snapshot
Edit: did you removed 3???
No, I have definetily not removed 3. I removed the snapshots afterwards, so only 3 was left before I rebooted. This is from my history:
snapper rm 24 127 131 132 133 134 135 138 139 140 141 144 145 146 147 148 149 155 156 160 161 164 167 168 169 170 171 172 173 174 176 177 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210
It also still shows here:
btrfs subvolume list /
ID 256 gen 9578 top level 5 path @
ID 257 gen 8397 top level 256 path @/swap
ID 258 gen 9711 top level 256 path @/var
ID 259 gen 9235 top level 256 path @/usr/local
ID 260 gen 8356 top level 256 path @/srv
ID 261 gen 9711 top level 256 path @/root
ID 262 gen 8397 top level 256 path @/opt
ID 263 gen 9711 top level 256 path @/home
ID 264 gen 9576 top level 256 path @/.snapshots
ID 267 gen 3717 top level 264 path @/.snapshots/3/snapshot
ID 475 gen 9569 top level 264 path @/.snapshots/4/snapshot
ID 476 gen 9575 top level 264 path @/.snapshots/5/snapshot
Oh good ... : )
Confirm that the default snapshot is still 3
: btrfs subvolume get-default /
Lets edit manually the boot entries. Add rootflags=subvol=@/.snapshots/3/snapshot
at the end of the option
field in both boot entries, and see if it works rebooting
mount -v | grep -i snap
/dev/mapper/cr-auto-1 on / type btrfs (rw,relatime,ssd,space_cache=v2,subvolid=267,subvol=/@/.snapshots/3/snapshot)
I just got an idea.. Could the lack of display in snapper ls
be because I lack the /.snapshot
entry in fstab? Can you confirm whether it should be there in newer updates?
I will add rootflags=subvol=@/.snapshots/3/snapshot
in entries.
It should be there, you are right (ignore the grub subvolumes):
UUID=92148c01-55d8-489b-a698-d2e3a4f3bf51 / btrfs defaults 0 0
UUID=92148c01-55d8-489b-a698-d2e3a4f3bf51 /var btrfs subvol=/@/var 0 0
UUID=92148c01-55d8-489b-a698-d2e3a4f3bf51 /usr/local btrfs subvol=/@/usr/local 0 0
UUID=92148c01-55d8-489b-a698-d2e3a4f3bf51 /srv btrfs subvol=/@/srv 0 0
UUID=92148c01-55d8-489b-a698-d2e3a4f3bf51 /root btrfs subvol=/@/root 0 0
UUID=92148c01-55d8-489b-a698-d2e3a4f3bf51 /opt btrfs subvol=/@/opt 0 0
UUID=92148c01-55d8-489b-a698-d2e3a4f3bf51 /home btrfs subvol=/@/home 0 0
UUID=92148c01-55d8-489b-a698-d2e3a4f3bf51 /boot/grub2/x86_64-efi btrfs subvol=/@/boot/grub2/x86_64-efi 0 0
UUID=92148c01-55d8-489b-a698-d2e3a4f3bf51 /boot/grub2/i386-pc btrfs subvol=/@/boot/grub2/i386-pc 0 0
UUID=b14dcd8e-63f3-42ea-a79c-14af8fa00479 swap swap defaults 0 0
UUID=92148c01-55d8-489b-a698-d2e3a4f3bf51 /.snapshots btrfs subvol=/@/.snapshots 0 0
UUID=C780-CB73 /boot/efi vfat utf8 0 2
Yes, it also works if I mount it inside, I only need to find a way to mount rw to make the change now.
snapper ls
# │ Type │ Pre # │ Date │ User │ Cleanup │ Description │ Userdata
───┼────────┼───────┼──────────────────────────┼──────┼──────────┼──────────────┼─────────────
0 │ single │ │ │ root │ │ current │
3* │ single │ │ Fri Nov 22 12:00:22 2024 │ root │ timeline │ timeline │
4 │ pre │ │ Wed Nov 27 14:34:09 2024 │ root │ number │ zypp(zypper) │ important=no
5 │ post │ 4 │ Wed Nov 27 14:34:18 2024 │ root │ number │ │ important=no
You can do a "mount -o remount,rw", or mount the device in a different place and edit from there
Hello. New user to Tumbleweed. My bootloader is systemd-boot.
Recently snapshots disappeared from my system in-between updates and I got this error when trying to list snapshots
snapper list
:Then created new config as it was gone.
A new issue appeared shortly thereafter.. I had seen this line creep up in-between some updates:
But I didn't think much of it, I thought it might be a minor issue as sometimes happens in package scripts. However when updates started failing and hanging on
plymouth
,openSUSE-release
andplymouth-dracut
with:I became concerned. Now looking into the code of sdbootutil it seems like it tries to grab the snapshot id, but ends up with the whole kernel options line instead
sdbootutil -v list-entries
My entries are as follows:
/etc/sysconfig/snapper
/etc/fstab
/.snapshots is not listed here in fstab.. Not sure if this is a problem, but it seems to be mounted correctly under
/.snapshots
possibly because it is a subvolume and mounted automatically..