"Because tracking CURRENT shouldn't be a rite of passage"
This proof-of-concept is not a publication of FreeBSD.
up.bsd.lv is a proof-of-concept of binary updates using freebsd-update(8) for FreeBSD 13.0-CURRENT and 12-STABLE to facilitate the exhaustive testing of FreeBSD and the bhyve hypervisor and OpenZFS 2.0, and to help elevate ARM64 to Tier 1 status. Updates are based on the SVN revisions of official FreeBSD Release Engineering weekly snapshots.
Upgrades use SSL to the extent possible and thus require the ca_root_nss package, certctl(8), or another certificate bundle to support the retrieval of two
.ssl files. Note that an accurate system time and date may be required for proper SSL handling.
Upgrades can be performed on 12.1 RELEASE or updated systems, or with a provided disc1.iso or memstick image.
To upgrade to 12-STABLE r363433 from a 12.1 RELEASE or patch level system, specify the up.bsd.lv server and signature:
freebsd-update upgrade -r 12.1-STABLE-364849 -s up.bsd.lv -k b82bddb79643d1fe02685dc81ef00c1182a93ea8fb319bf3cd7fb9b7eee4ce4e
To upgrade to 13-CURRENT r363439 from a 12.1 system:
freebsd-update upgrade -r 13.0-CURRENT-364846 -s up.bsd.lv -k b82bddb79643d1fe02685dc81ef00c1182a93ea8fb319bf3cd7fb9b7eee4ce4e
(install, reboot, install)
Once on an up.bsd.lv train, the available upgrades can be listed with:
To upgrade to a listed upgrade:
freebsd-update upgrade -r 13.0-CURRENT-363439
(install, reboot, install)
To upgrade to an up.bsd.lv release from an official FreeBSD RE snapshot:
Identify a destination snapshot on up.bsd.lv
Identify the current running version with
Run the following upgrade command with the source and destionation versions:
freebsd-update upgrade -r <destination revision> -s up.bsd.lv -k b82bddb79643d1fe02685dc81ef00c1182a93ea8fb319bf3cd7fb9b7eee4ce4e --currently-running <current revision>
Install, reboot, install as normal.
Note however that
/usr/sbin/freebsd-update will NOT be updated during this process. Manually replace them with the up.bsd.lv freebsd-update.conf and freebsd-update.
Packages and ports should work no differently than on the official snapshots but
freebsd-update fetch is not supported due to the nature of freebsd-update(8) patch levels which are tied to security advisories.
up.bsd.lv releases are different from the official FreeBSD CURRENT snapshots in the following ways:
freebsd-update listupdates retrieves the list of
uname -aoutput. Also added first riscv64 upgrades
freebsd-update listupdateswill list the available upgrades on up.bsd.lv
Q: What is the long-term goal of this effort?
A: To be replaced by official FreeBSD binary updates for FreeBSD CURRENT and STABLE if the proof-of-concept proves successful, moving on to builds of bhyve-related reviews from reviews.freebsd.org.
Q: How do I validate the thumbprint of the update server?
A: Verify that
Q: How do I enable verbose output?
freebsd-update ... --debug
Q: Can these releases be used in production?
A: Only you can determine that but some official snapshots have failed to boot.
Q: What do I do if I get kernel mismatch and missing dependency errors with packages?
A: You will probably get the exact same errors with the official snapshots due to the dynamic nature of the CURRENT branch.
Q: Are these patch levels or releases?
A: They are releases because patch levels are tied to security advisories. We are investigating if the patch level facility would be usable.
Q: What platforms have the ARM64 snapshots been tested on?
A: On an OverDrive 1000. Note that the installer may have an issue with the
Q: What if I receive
No mirrors remaining, giving up. errors?
A: This indicates that we need to rebuild an upgrade payload after a storage upgrade and path change. Please report these by email if you encounter them.
Q: What if I receive
Cannot upgrade from a version that is not a release if using an early "HEAD" build?
A: Add "HEAD" to the whitelist in the
/usr/sbin/freebsd-update shell script. i.e.
*-RELEASE | *-ALPHA* | *-BETA* | *-RC* | *-STABLE* | *-HEAD* | *-CURRENT*)
Q: How can I help?
A: 1. Test FreeBSD 2. Test this testing resource. 3. All hardware and network resources are provided out-of-pocket and you are welcome to contribute.
freebsd-update.confmoved in 12-STABLE as part of the packaged base effort.
build-upgrade-patches.shand does not fall back to the nonr- "to-" upgrade.
Thank you Conor Beh for co-developing this service and Colin Percival for developing freebsd-update(8). Thank you FreeBSD Release Engineering Team for maintaining the FreeBSD build(7) infrastructure. Thank you ScaleEngine for providing the bandwidth for this service.
up.bsd.lv is developed by Michael Dexter
© 2020 Michael Dexter. "FreeBSD" is a trademark of the FreeBSD Foundation