diff --git a/skills/freebsd-os-upgrade/SKILL.md b/skills/freebsd-os-upgrade/SKILL.md index 763f315..b67a982 100644 --- a/skills/freebsd-os-upgrade/SKILL.md +++ b/skills/freebsd-os-upgrade/SKILL.md @@ -77,14 +77,14 @@ pkg update -f && pkg upgrade # ports packages (separate from base here) puts you back exactly where you were. ```sh - bectl create MAJOR.MINOR-upgrade-DD.mon.YY - # example: 15.1-upgrade-25.jun.26 + bectl create MAJOR.MINOR-upgrade-DD.mon.YYYY + # example: 15.1-upgrade-25.jun.2026 bectl list | grep upgrade ``` - Name convention: `-upgrade-` — operator-facing, - readable at a glance. pkg does NOT auto-create ZFS boot environments; - this must be done manually. + Name convention: `-upgrade-` — + operator-facing, readable at a glance. pkg does NOT auto-create ZFS boot + environments; this must be done manually. 3. **Upgrade base** (by the method from step 0): - **pkgbase**: a pkgbase host already has a `FreeBSD-base` repo — **inspect @@ -96,11 +96,16 @@ pkg update -f && pkg upgrade # ports packages (separate from base here) `pkg upgrade -n` to confirm 15.1 base packages are actually offered, then `pkg upgrade` (base + ports together). - **Cross-release override:** pkgbase refuses to fetch packages for a - newer release while running the old userland. Override with: - `env OSVERSION=1501000 ABI="FreeBSD:15:amd64" pkg update -f` then use - the same env for `pkg upgrade -n` and the real `pkg upgrade`. - (Replace `1501000` with the target release's __FreeBSD_version.) + **Cross-release override (one-time, for the boundary only):** pkgbase + refuses to fetch packages for a newer release while running the old + userland. The standard bypass is `IGNORE_OSVERSION=yes`. Alternatively, + spoof the target release with `OSVERSION=` (ABI is already the + default and can be omitted): + `env IGNORE_OSVERSION=yes pkg update -f` then use the same env for + `pkg upgrade -n` and the real `pkg upgrade`. + **Remove this override after reboot** — once `freebsd-version` shows the + new release, persisting it would spoof the wrong version on the NEXT + upgrade and silently pull mismatched packages. - **freebsd-update**: `freebsd-update -r upgrade` then `freebsd-update install`. Either way the new kernel is staged; the system runs the old one until reboot.