diff --git a/README.md b/README.md index e8f2eba..d50f3d0 100644 --- a/README.md +++ b/README.md @@ -264,7 +264,7 @@ also get live systemd status + Start/Stop/Restart/Logs. | Packages | `bakery` installed list + updates, pacman system update | | AUR | Search via `yay`; installing opens a terminal (AUR build scripts need review) | | Firmware | `fwupd` device list + updates | -| Snapshots | `snapper` list / boot-into (grub-btrfs) / delete | +| Snapshots | `snapper` list (number / date / description); reboot to pick in GRUB (grub-btrfs); delete | Source and build live in the [bos-settings](https://git.breadway.dev/Breadway/bos-settings) repo, not here. @@ -382,15 +382,16 @@ until `dl.breadway.dev/arch` exists). ## Recovery -**An update broke something (system still boots):** open BOS Settings → -Snapshots and pick a snapshot to boot, **or** choose one from the **GRUB -“snapshots” submenu** (grub-btrfs) at boot, then reboot into it. +**An update broke something (system still boots):** reboot → **GRUB +“snapshots” submenu** (grub-btrfs), then boot that entry. -Do **not** run `snapper rollback` as the default recovery step. BOS GRUB -pins `rootflags=subvol=@`, so a snapper-swapped default subvolume is not -what the installed grub.cfg will boot next. Use the grub-btrfs entry so the -kernel command line matches the snapshot you want. Details: -[docs/hardware.md](docs/hardware.md). +BOS Settings → Snapshots lists each snapshot’s number, date, and +description so you know which GRUB entry to pick. It does not roll the +running root back in place. + +Do **not** run `snapper rollback`. BOS GRUB pins `rootflags=subvol=@`, so +a snapper-swapped default subvolume is not what the installed grub.cfg +will boot next. Details: [docs/hardware.md](docs/hardware.md). A/B root swapping (SteamOS-style) is a **future** idea in DESIGN.md — it is not shipped. diff --git a/docs/hardware.md b/docs/hardware.md index 2f87838..9f31711 100644 --- a/docs/hardware.md +++ b/docs/hardware.md @@ -19,14 +19,18 @@ A VM without `/dev/dri` gets a notification only. ## Recovery -An update that breaks the system is recovered from the **GRUB "snapshots" -submenu** (grub-btrfs), not `snapper rollback`. +An update that breaks the system is recovered by **reboot → GRUB +“snapshots” submenu** (grub-btrfs). `snapper rollback` will not change +what GRUB boots (`rootflags=subvol=@`). -BOS GRUB pins `rootflags=subvol=@`. `snapper rollback` swaps the default -subvolume; the installed `grub.cfg` will still boot `@`. Pick the grub-btrfs -entry so the kernel command line matches the snapshot you want. Bakery -desktop apps live under `/usr/local` on `@`, so those same snapshots -include them. +`snapper rollback` swaps the default subvolume; the installed `grub.cfg` +still boots `@`. Pick the grub-btrfs entry so the kernel command line +matches the snapshot you want. + +BOS Settings → Snapshots lists snapshot number, date, and description so +you know which GRUB entry to pick. It does not roll the running root back +in place. Bakery desktop apps live under `/usr/local` on `@`, so those +same snapshots include them. If the system will not boot (lost EFI entry / broken GRUB), boot the live ISO and run `sudo bos-rescue`. It mounts `@` + the ESP and offers the same diff --git a/iso/airootfs/usr/local/bin/bos-update b/iso/airootfs/usr/local/bin/bos-update index 3b3cc04..16b9da8 100644 --- a/iso/airootfs/usr/local/bin/bos-update +++ b/iso/airootfs/usr/local/bin/bos-update @@ -54,3 +54,7 @@ fi echo bold "==> BOS is up to date." +echo +bold "Recovery" +echo "If this update goes badly: reboot → GRUB “snapshots” submenu." +echo "snapper rollback will not change what GRUB boots (rootflags=subvol=@)."