I was not able to find information on how to upgrade FreeBSD 15.0-RELEASE to 15.1-BETA2 in PKGBASE world.
Its simple and known with freebsd-update(8) but a mystery with PKGBASE.
On 5/10/26 14:53, vermaden wrote:
It's possible to do this without modifying the config files
using `-o ABI=... -o OSVERSION=1501000 ...`
People should also update ports (to get latest pkg),
also kmods if required.
Agreed.
Thank You for suggestions.
I added UPDATE 1 with information how to do upgrade w/o modifying the config files:
- https://vermaden.wordpress.com/2026/05/10/freebsd-pkgbase-minor-upgrades#UPDATE1
I also added additional info about updating boot code - both 'BIOS' and 'UEFI'.
One thing that bothers me ...
This:
host # pkg -o ABI=FreeBSD:15:$(uname -m) \
uname -m is wrong here for general use: in an aarch64 context "aarch64"
needs to be the result. But:
# uname -m
arm64
# uname -p
aarch64
A similar point goes for armv7:
# uname -m
arm
# uname -p
armv7
powerpc* has similar naming distinctions.
amd64 happens to have the same text for both.
Simialrly, i386 has the same output for both.
-o OSVERSION=1501000 \
--chroot=/tmp/NEW \
upgrade
... as I specify '-o OSVERSION=1501000' option for pkg(8) ... why '-o ABI=FreeBSD:15:$(uname -m)' is also needed to make it work? The '15' part or '${ARCH}' part does not change ...
I mean - I know this is a pkg(8) design decision - just do not see logic in it.
The:
</usr/local/poudriere/jails/release15p1-aarch64/etc/pkg/FreeBSD.conf>
in my context, that was automatically supplied, includes the text
(warning: extra line wrapping):
FreeBSD-base: {
url: "pkg+https://pkg.FreeBSD.org/${ABI}/base_release_${VERSION_MINOR}",
mirror_type: "srv",
signature_type: "fingerprints",
fingerprints: "/usr/share/keys/pkgbase-${VERSION_MAJOR}",
enabled: no
}
Similarly for the 15.0-RELEASE-p* poudriere-devel jail.
Note the notation: ${VERSION_MINOR} . For it:
OSVERSION=1501000 leads to ${VERSION_MINOR} == "1"
OSVERSION=1500000 leads to ${VERSION_MINOR} == "0"
${ABI} does not supply that information and pkg guessing/defaulting to 1500000 when OSVERSION is unspecified would be wrong for an upgrade to
15.1 . Such needs ${VERSION_MINOR} == "1" .
A point here is that with OSVERSION correctly specified, the url text
for FreeBSD-base does not need to be edited or overridden in another
file to do the upgrade. (More later below.)
After booting the upgraded install, OSVERSION=1501000 becomes the
default, no longer accessing base_release_0 .
(I'm not aware of any use of the last 3 digits of OSVERSION for this
context: ignored as far as I know.)
Another point is that pkg 2.7.5 has the likes of:
# pkg upgrade -rFreeBSD-base
and
# pkg install -rFreeBSD-base . . .
working, overriding the "enabled: no" from the command line and
disabling the ones not listed on the command line, again no edit or
alternate file needed for overriding such.
Regards,
vermaden
| Sysop: | Amessyroom |
|---|---|
| Location: | Fayetteville, NC |
| Users: | 65 |
| Nodes: | 6 (0 / 6) |
| Uptime: | 12:07:23 |
| Calls: | 862 |
| Files: | 1,311 |
| D/L today: |
5 files (10,064K bytes) |
| Messages: | 265,374 |