plan.md
· 707 B · Markdown
Raw
# updating 15.0-CURRENT from ~ 3 weeks ago to 15.0-ALPHA1
NB I built my own pkgbase set, based off stable/15 @ 0b3d82579a01db4c5d874cda1ac468bb8f26c109
The overall plan is:
1. upgrade only the GENERIC kernel package from my pkgbase set
1. update the EFI boot loader /boot/efi/EFI/FreeBSD/current.efi in my case
1. reboot
1. upgrade all the remaining base system packages from my pkgbase set
1. re-bootstrap pkg for the new userland from the public pkg.freebsd.org packages
1. delete all non-base system packages to remove a few years of cruft
1. install my minimal useful package list
1. reboot again
1. install all the toys
1. celebrate
In practice I didn't quite follow this recipe, but close enough.
updating 15.0-CURRENT from ~ 3 weeks ago to 15.0-ALPHA1
NB I built my own pkgbase set, based off stable/15 @ 0b3d82579a01db4c5d874cda1ac468bb8f26c109
The overall plan is:
- upgrade only the GENERIC kernel package from my pkgbase set
- update the EFI boot loader /boot/efi/EFI/FreeBSD/current.efi in my case
- reboot
- upgrade all the remaining base system packages from my pkgbase set
- re-bootstrap pkg for the new userland from the public pkg.freebsd.org packages
- delete all non-base system packages to remove a few years of cruft
- install my minimal useful package list
- reboot again
- install all the toys
- celebrate
In practice I didn't quite follow this recipe, but close enough.
upgrade.md
· 9.2 KiB · Markdown
Raw
# upgrade just the kernel first, and reboot
```
# pkg upgrade -r pkg-base FreeBSD-kernel-generic
Updating pkg-base repository catalogue...
pkg-base repository is up to date.
pkg-base is up to date.
The following 1 package(s) will be affected (of 0 checked):
Installed packages to be UPGRADED:
FreeBSD-kernel-generic: 15.snap20250610163850 -> 15.0.1.20250906130029 [pkg-base]
Number of packages to be upgraded: 1
The operation will free 5 MiB.
45 MiB to be downloaded.
Proceed with this action? [y/N]: y
[1/1] Fetching FreeBSD-kernel-generic-15.0.1.20250906130029.pkg: 100% 45 MiB 9.4MB/s 00:05
Checking integrity... done (0 conflicting)
[1/1] Upgrading FreeBSD-kernel-generic from 15.snap20250610163850 to 15.0.1.20250906130029...
[1/1] Extracting FreeBSD-kernel-generic-15.0.1.20250906130029: 100%
```
## reboot ok
```
pkg upgrade -r pkg-base -g FreeBSD-\*
Updating pkg-base repository catalogue...
pkg-base repository is up to date.
pkg-base is up to date.
The following 277 package(s) will be affected (of 0 checked):
New packages to be INSTALLED:
FreeBSD-bmake: 15.0.1.20250906130029 [pkg-base]
Installed packages to be UPGRADED:
FreeBSD-acct: 15.snap20250724142936 -> 15.0.1.20250906130029 [pkg-base]
... FreeBSD-zoneinfo: 15.snap20250724142936 -> 15.0.1.20250906130029 [pkg-base]
Number of packages to be installed: 1
Number of packages to be upgraded: 276
The operation will free 19 MiB.
147 MiB to be downloaded.
Proceed with this action? [y/N]: y
[1/277] Fetching FreeBSD-nvme-tools-15.0.1.20250906130029.pkg: 100% 75 KiB 77.0kB/s 00:01
...
[277/277] Fetching FreeBSD-mlx-tools-man-15.0.1.20250906130029.pkg: 100% 2 KiB 2.4kB/s 00:01
Checking integrity... done (22 conflicting)
- FreeBSD-toolchain-man-15.0.1.20250906130029 [pkg-base] conflicts with FreeBSD-clang-man-15.snap20250724142936 [installed] on /usr/share/man/man1/ar.1.gz
- FreeBSD-toolchain-man-15.0.1.20250906130029 [pkg-base] conflicts with FreeBSD-utilities-man-15.snap20250724142936 [installed] on /usr/share/man/man1/strings.1.gz
- FreeBSD-lp-man-15.0.1.20250906130029 [pkg-base] conflicts with FreeBSD-utilities-man-15.snap20250724142936 [installed] on /usr/share/man/man5/hosts.lpd.5.gz
- FreeBSD-clibs-man-15.0.1.20250906130029 [pkg-base] conflicts with FreeBSD-utilities-man-15.snap20250724142936 [installed] on /usr/share/man/man3/ARB16_ENTRY.3.gz
- FreeBSD-rc-man-15.0.1.20250906130029 [pkg-base] conflicts with FreeBSD-utilities-man-15.snap20250724142936 [installed] on /usr/share/man/man5/rc.conf.5.gz
- FreeBSD-smbutils-man-15.0.1.20250906130029 [pkg-base] conflicts with FreeBSD-utilities-man-15.snap20250724142936 [installed] on /usr/share/man/man5/nsmb.conf.5.gz
- FreeBSD-pf-man-15.0.1.20250906130029 [pkg-base] conflicts with FreeBSD-utilities-man-15.snap20250724142936 [installed] on /usr/share/man/man5/pf.conf.5.gz
- FreeBSD-csh-15.0.1.20250906130029 [pkg-base] conflicts with FreeBSD-utilities-15.snap20250724142936 [installed] on /usr/share/nls/de_DE.UTF-8/tcsh.cat
- FreeBSD-kerberos-man-15.0.1.20250906130029 [pkg-base] conflicts with FreeBSD-kerberos-lib-man-15.snap20250724142936 [installed] on /usr/share/man/man1/krb5-config.1.gz
- FreeBSD-runtime-man-15.0.1.20250906130029 [pkg-base] conflicts with FreeBSD-utilities-man-15.snap20250724142936 [installed] on /usr/share/man/man1/alias.1.gz
- FreeBSD-acct-man-15.0.1.20250906130029 [pkg-base] conflicts with FreeBSD-utilities-man-15.snap20250724142936 [installed] on /usr/share/man/man5/acct.5.gz
- FreeBSD-toolchain-15.0.1.20250906130029 [pkg-base] conflicts with FreeBSD-clang-15.snap20250724142936 [installed] on /usr/bin/ar
- FreeBSD-toolchain-15.0.1.20250906130029 [pkg-base] conflicts with FreeBSD-utilities-15.snap20250724142936 [installed] on /usr/bin/strings
- FreeBSD-clang-man-15.0.1.20250906130029 [pkg-base] conflicts with FreeBSD-utilities-man-15.snap20250724142936 [installed] on /usr/share/man/man5/ar.5.gz
- FreeBSD-clibs-15.0.1.20250906130029 [pkg-base] conflicts with FreeBSD-utilities-15.snap20250724142936 [installed] on /usr/share/doc/ncurses/hackguide.html
- FreeBSD-ssh-man-15.0.1.20250906130029 [pkg-base] conflicts with FreeBSD-utilities-man-15.snap20250724142936 [installed] on /usr/share/man/man5/moduli.5.gz
- FreeBSD-ufs-man-15.0.1.20250906130029 [pkg-base] conflicts with FreeBSD-utilities-man-15.snap20250724142936 [installed] on /usr/share/man/man5/fs.5.gz
- FreeBSD-ee-15.0.1.20250906130029 [pkg-base] conflicts with FreeBSD-utilities-15.snap20250724142936 [installed] on /usr/share/misc/init.ee
- FreeBSD-yp-man-15.0.1.20250906130029 [pkg-base] conflicts with FreeBSD-utilities-man-15.snap20250724142936 [installed] on /usr/share/man/man8/NIS.8.gz
- FreeBSD-bmake-15.0.1.20250906130029 [pkg-base] conflicts with FreeBSD-utilities-15.snap20250724142936 [installed] on /usr/bin/bmake
- FreeBSD-periodic-man-15.0.1.20250906130029 [pkg-base] conflicts with FreeBSD-utilities-man-15.snap20250724142936 [installed] on /usr/share/man/man5/periodic.conf.5.gz
- FreeBSD-openssl-man-15.0.1.20250906130029 [pkg-base] conflicts with FreeBSD-openssl-lib-man-15.snap20250724142936 [installed] on /usr/share/openssl/man/man3/ACCESS_DESCRIPTION_free.3.gz
Checking integrity... done (0 conflicting)
Conflicts with the existing packages have been found.
One more solver iteration is needed to resolve them.
The following 279 package(s) will be affected (of 0 checked):
New packages to be INSTALLED:
FreeBSD-bmake: 15.0.1.20250906130029 [pkg-base]
Installed packages to be UPGRADED:
FreeBSD-acct: 15.snap20250724142936 -> 15.0.1.20250906130029 [pkg-base]
... FreeBSD-zoneinfo: 15.snap20250724142936 -> 15.0.1.20250906130029 [pkg-base]
Installed packages to be REMOVED:
FreeBSD-kerberos-lib-man: 15.snap20250724142936
FreeBSD-openssl-lib-man: 15.snap20250724142936
Number of packages to be removed: 2
Number of packages to be installed: 1
Number of packages to be upgraded: 276
The operation will free 21 MiB.
Proceed with this action? [y/N]:y
Checking integrity... done (0 conflicting)
[1/500] Deinstalling FreeBSD-acct-man-15.snap20250724142936...
[1/500] Deleting files for FreeBSD-acct-man-15.snap20250724142936: 100%
...
[221/500] Deleting files for FreeBSD-zfs-15.snap20250724142936: 100%
[222/500] Upgrading FreeBSD-apm from 15.snap20250724142936 to 15.0.1.20250906130029...
[222/500] Extracting FreeBSD-apm-15.0.1.20250906130029: 100%
...
[449/500] Installing FreeBSD-certctl-15.0.1.20250906130029...
[449/500] Extracting FreeBSD-certctl-15.0.1.20250906130029: 100%
[450/500] Installing FreeBSD-caroot-15.0.1.20250906130029...
[450/500] Extracting FreeBSD-caroot-15.0.1.20250906130029: 100%
pkg: Cannot runscript POST-INSTALL:No such file or directory <---------- woops
[451/500] Installing FreeBSD-certctl-man-15.0.1.20250906130029...
[451/500] Extracting FreeBSD-certctl-man-15.0.1.20250906130029: 100%
...
[472/500] Installing FreeBSD-ssh-15.0.1.20250906130029...
[472/500] Extracting FreeBSD-ssh-15.0.1.20250906130029: 0%
pkg: Impossible to merge configuration file: /etc/ssh/moduli <----------- woops
...
[500/500] Installing FreeBSD-zfs-man-15.0.1.20250906130029...
[500/500] Extracting FreeBSD-zfs-man-15.0.1.20250906130029: 100%
```
## update EFI loader from FreeBSD-bootloader package
```
# cp /boot/efi/EFI/FreeBSD/current.efi /boot/efi/EFI/FreeBSD/lastgood.efi
# cp /boot/loader.efi /boot/efi/EFI/FreeBSD/current.efi
```
## delete userland
```
# pkg prime-origins | sort | uniq > /etc/15.lst
### trim a few things
# pkg delete $(egrep -v \# /etc/15.lst)
# pkg autoremove
Checking integrity... done (0 conflicting)
Deinstallation has been requested for the following 521 packages:
Installed packages to be REMOVED:
Box2D: 2.4.1
... FreeBSD-libsqlite3-lib32: 15.snap20250815041637 <--- interesting
FreeBSD-runtime-lib32: 15.snap20250825085356 <--- interesting
...
# pkg delete $(pkg info |egrep -v ^FreeBSD | cut -wf 1 | egrep -v pkg-)
Checking integrity... done (0 conflicting)
Deinstallation has been requested for the following 532 packages (of 0 packages in the universe):
Installed packages to be REMOVED:
abseil: 20250127.0
... zstd: 1.5.7
Number of packages to be removed: 532
The operation will free 17 GiB.
Proceed with deinstalling packages? [y/N]:y
...
# pkg info |egrep -v ^FreeBSD | cut -wf 1
pkg-2.2.2
```
## bootstrap pkg again and essential tools
```
# pkg-static bootstrap -f
pkg(8) is already installed. Forcing reinstallation through pkg(7).
The package management tool is not yet installed on your system.
Do you want to fetch and install it now? [y/N]: y
Bootstrapping pkg from pkg+https://pkg.FreeBSD.org/FreeBSD:15:amd64/latest, please wait...
# pkg install -r FreeBSD tmux rsync neovim htop fish ripgrep fd-find zoxide doas tarsnap \
ca_root_nss haproxy-lua zerotier
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
FreeBSD is up to date.
The following 31 package(s) will be affected (of 0 checked):
New packages to be INSTALLED:
compat14x-amd64: 14.2.1402000.20250811 [FreeBSD]
doas: 6.3p12 [FreeBSD]
...
Number of packages to be installed: 31
The process will require 116 MiB more space.
17 MiB to be downloaded.
Proceed with this action? [y/N]: y
...
```
## reboot here & see if this all works
Indeed it does. Install the rest while enjoying a well-deserved beverage.
upgrade just the kernel first, and reboot
# pkg upgrade -r pkg-base FreeBSD-kernel-generic
Updating pkg-base repository catalogue...
pkg-base repository is up to date.
pkg-base is up to date.
The following 1 package(s) will be affected (of 0 checked):
Installed packages to be UPGRADED:
FreeBSD-kernel-generic: 15.snap20250610163850 -> 15.0.1.20250906130029 [pkg-base]
Number of packages to be upgraded: 1
The operation will free 5 MiB.
45 MiB to be downloaded.
Proceed with this action? [y/N]: y
[1/1] Fetching FreeBSD-kernel-generic-15.0.1.20250906130029.pkg: 100% 45 MiB 9.4MB/s 00:05
Checking integrity... done (0 conflicting)
[1/1] Upgrading FreeBSD-kernel-generic from 15.snap20250610163850 to 15.0.1.20250906130029...
[1/1] Extracting FreeBSD-kernel-generic-15.0.1.20250906130029: 100%
reboot ok
pkg upgrade -r pkg-base -g FreeBSD-\*
Updating pkg-base repository catalogue...
pkg-base repository is up to date.
pkg-base is up to date.
The following 277 package(s) will be affected (of 0 checked):
New packages to be INSTALLED:
FreeBSD-bmake: 15.0.1.20250906130029 [pkg-base]
Installed packages to be UPGRADED:
FreeBSD-acct: 15.snap20250724142936 -> 15.0.1.20250906130029 [pkg-base]
... FreeBSD-zoneinfo: 15.snap20250724142936 -> 15.0.1.20250906130029 [pkg-base]
Number of packages to be installed: 1
Number of packages to be upgraded: 276
The operation will free 19 MiB.
147 MiB to be downloaded.
Proceed with this action? [y/N]: y
[1/277] Fetching FreeBSD-nvme-tools-15.0.1.20250906130029.pkg: 100% 75 KiB 77.0kB/s 00:01
...
[277/277] Fetching FreeBSD-mlx-tools-man-15.0.1.20250906130029.pkg: 100% 2 KiB 2.4kB/s 00:01
Checking integrity... done (22 conflicting)
- FreeBSD-toolchain-man-15.0.1.20250906130029 [pkg-base] conflicts with FreeBSD-clang-man-15.snap20250724142936 [installed] on /usr/share/man/man1/ar.1.gz
- FreeBSD-toolchain-man-15.0.1.20250906130029 [pkg-base] conflicts with FreeBSD-utilities-man-15.snap20250724142936 [installed] on /usr/share/man/man1/strings.1.gz
- FreeBSD-lp-man-15.0.1.20250906130029 [pkg-base] conflicts with FreeBSD-utilities-man-15.snap20250724142936 [installed] on /usr/share/man/man5/hosts.lpd.5.gz
- FreeBSD-clibs-man-15.0.1.20250906130029 [pkg-base] conflicts with FreeBSD-utilities-man-15.snap20250724142936 [installed] on /usr/share/man/man3/ARB16_ENTRY.3.gz
- FreeBSD-rc-man-15.0.1.20250906130029 [pkg-base] conflicts with FreeBSD-utilities-man-15.snap20250724142936 [installed] on /usr/share/man/man5/rc.conf.5.gz
- FreeBSD-smbutils-man-15.0.1.20250906130029 [pkg-base] conflicts with FreeBSD-utilities-man-15.snap20250724142936 [installed] on /usr/share/man/man5/nsmb.conf.5.gz
- FreeBSD-pf-man-15.0.1.20250906130029 [pkg-base] conflicts with FreeBSD-utilities-man-15.snap20250724142936 [installed] on /usr/share/man/man5/pf.conf.5.gz
- FreeBSD-csh-15.0.1.20250906130029 [pkg-base] conflicts with FreeBSD-utilities-15.snap20250724142936 [installed] on /usr/share/nls/de_DE.UTF-8/tcsh.cat
- FreeBSD-kerberos-man-15.0.1.20250906130029 [pkg-base] conflicts with FreeBSD-kerberos-lib-man-15.snap20250724142936 [installed] on /usr/share/man/man1/krb5-config.1.gz
- FreeBSD-runtime-man-15.0.1.20250906130029 [pkg-base] conflicts with FreeBSD-utilities-man-15.snap20250724142936 [installed] on /usr/share/man/man1/alias.1.gz
- FreeBSD-acct-man-15.0.1.20250906130029 [pkg-base] conflicts with FreeBSD-utilities-man-15.snap20250724142936 [installed] on /usr/share/man/man5/acct.5.gz
- FreeBSD-toolchain-15.0.1.20250906130029 [pkg-base] conflicts with FreeBSD-clang-15.snap20250724142936 [installed] on /usr/bin/ar
- FreeBSD-toolchain-15.0.1.20250906130029 [pkg-base] conflicts with FreeBSD-utilities-15.snap20250724142936 [installed] on /usr/bin/strings
- FreeBSD-clang-man-15.0.1.20250906130029 [pkg-base] conflicts with FreeBSD-utilities-man-15.snap20250724142936 [installed] on /usr/share/man/man5/ar.5.gz
- FreeBSD-clibs-15.0.1.20250906130029 [pkg-base] conflicts with FreeBSD-utilities-15.snap20250724142936 [installed] on /usr/share/doc/ncurses/hackguide.html
- FreeBSD-ssh-man-15.0.1.20250906130029 [pkg-base] conflicts with FreeBSD-utilities-man-15.snap20250724142936 [installed] on /usr/share/man/man5/moduli.5.gz
- FreeBSD-ufs-man-15.0.1.20250906130029 [pkg-base] conflicts with FreeBSD-utilities-man-15.snap20250724142936 [installed] on /usr/share/man/man5/fs.5.gz
- FreeBSD-ee-15.0.1.20250906130029 [pkg-base] conflicts with FreeBSD-utilities-15.snap20250724142936 [installed] on /usr/share/misc/init.ee
- FreeBSD-yp-man-15.0.1.20250906130029 [pkg-base] conflicts with FreeBSD-utilities-man-15.snap20250724142936 [installed] on /usr/share/man/man8/NIS.8.gz
- FreeBSD-bmake-15.0.1.20250906130029 [pkg-base] conflicts with FreeBSD-utilities-15.snap20250724142936 [installed] on /usr/bin/bmake
- FreeBSD-periodic-man-15.0.1.20250906130029 [pkg-base] conflicts with FreeBSD-utilities-man-15.snap20250724142936 [installed] on /usr/share/man/man5/periodic.conf.5.gz
- FreeBSD-openssl-man-15.0.1.20250906130029 [pkg-base] conflicts with FreeBSD-openssl-lib-man-15.snap20250724142936 [installed] on /usr/share/openssl/man/man3/ACCESS_DESCRIPTION_free.3.gz
Checking integrity... done (0 conflicting)
Conflicts with the existing packages have been found.
One more solver iteration is needed to resolve them.
The following 279 package(s) will be affected (of 0 checked):
New packages to be INSTALLED:
FreeBSD-bmake: 15.0.1.20250906130029 [pkg-base]
Installed packages to be UPGRADED:
FreeBSD-acct: 15.snap20250724142936 -> 15.0.1.20250906130029 [pkg-base]
... FreeBSD-zoneinfo: 15.snap20250724142936 -> 15.0.1.20250906130029 [pkg-base]
Installed packages to be REMOVED:
FreeBSD-kerberos-lib-man: 15.snap20250724142936
FreeBSD-openssl-lib-man: 15.snap20250724142936
Number of packages to be removed: 2
Number of packages to be installed: 1
Number of packages to be upgraded: 276
The operation will free 21 MiB.
Proceed with this action? [y/N]:y
Checking integrity... done (0 conflicting)
[1/500] Deinstalling FreeBSD-acct-man-15.snap20250724142936...
[1/500] Deleting files for FreeBSD-acct-man-15.snap20250724142936: 100%
...
[221/500] Deleting files for FreeBSD-zfs-15.snap20250724142936: 100%
[222/500] Upgrading FreeBSD-apm from 15.snap20250724142936 to 15.0.1.20250906130029...
[222/500] Extracting FreeBSD-apm-15.0.1.20250906130029: 100%
...
[449/500] Installing FreeBSD-certctl-15.0.1.20250906130029...
[449/500] Extracting FreeBSD-certctl-15.0.1.20250906130029: 100%
[450/500] Installing FreeBSD-caroot-15.0.1.20250906130029...
[450/500] Extracting FreeBSD-caroot-15.0.1.20250906130029: 100%
pkg: Cannot runscript POST-INSTALL:No such file or directory <---------- woops
[451/500] Installing FreeBSD-certctl-man-15.0.1.20250906130029...
[451/500] Extracting FreeBSD-certctl-man-15.0.1.20250906130029: 100%
...
[472/500] Installing FreeBSD-ssh-15.0.1.20250906130029...
[472/500] Extracting FreeBSD-ssh-15.0.1.20250906130029: 0%
pkg: Impossible to merge configuration file: /etc/ssh/moduli <----------- woops
...
[500/500] Installing FreeBSD-zfs-man-15.0.1.20250906130029...
[500/500] Extracting FreeBSD-zfs-man-15.0.1.20250906130029: 100%
update EFI loader from FreeBSD-bootloader package
# cp /boot/efi/EFI/FreeBSD/current.efi /boot/efi/EFI/FreeBSD/lastgood.efi
# cp /boot/loader.efi /boot/efi/EFI/FreeBSD/current.efi
delete userland
# pkg prime-origins | sort | uniq > /etc/15.lst
### trim a few things
# pkg delete $(egrep -v \# /etc/15.lst)
# pkg autoremove
Checking integrity... done (0 conflicting)
Deinstallation has been requested for the following 521 packages:
Installed packages to be REMOVED:
Box2D: 2.4.1
... FreeBSD-libsqlite3-lib32: 15.snap20250815041637 <--- interesting
FreeBSD-runtime-lib32: 15.snap20250825085356 <--- interesting
...
# pkg delete $(pkg info |egrep -v ^FreeBSD | cut -wf 1 | egrep -v pkg-)
Checking integrity... done (0 conflicting)
Deinstallation has been requested for the following 532 packages (of 0 packages in the universe):
Installed packages to be REMOVED:
abseil: 20250127.0
... zstd: 1.5.7
Number of packages to be removed: 532
The operation will free 17 GiB.
Proceed with deinstalling packages? [y/N]:y
...
# pkg info |egrep -v ^FreeBSD | cut -wf 1
pkg-2.2.2
bootstrap pkg again and essential tools
# pkg-static bootstrap -f
pkg(8) is already installed. Forcing reinstallation through pkg(7).
The package management tool is not yet installed on your system.
Do you want to fetch and install it now? [y/N]: y
Bootstrapping pkg from pkg+https://pkg.FreeBSD.org/FreeBSD:15:amd64/latest, please wait...
# pkg install -r FreeBSD tmux rsync neovim htop fish ripgrep fd-find zoxide doas tarsnap \
ca_root_nss haproxy-lua zerotier
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
FreeBSD is up to date.
The following 31 package(s) will be affected (of 0 checked):
New packages to be INSTALLED:
compat14x-amd64: 14.2.1402000.20250811 [FreeBSD]
doas: 6.3p12 [FreeBSD]
...
Number of packages to be installed: 31
The process will require 116 MiB more space.
17 MiB to be downloaded.
Proceed with this action? [y/N]: y
...
reboot here & see if this all works
Indeed it does. Install the rest while enjoying a well-deserved beverage.