Possible to upgrade from ALPHA?

I've done my best to search for the answer to this question, but now its come time to just ask.

Is it possible to upgrade from ALPHA (-> BETA, -> RC) -> RELEASE ?

I've got 11.0-ALPHA4 running right now and freebsd-update just says it can't find any mirrors to work with. One would assume that is simply because the mirrors haven't yet been populated in the way that they will be after 11.0 reaches RELEASE.

So my question is, when the BETAs (& RCs) and finally RELEASE comes out, will there be a way to do a binary upgrade to get there, or is starting from ALPHA a dead end unless one tracks a development branch.
 
Hey,
Sorry to resurrect this old post, but I'm also interesting in doing this and it showed up in searches, so I guess an update could be appropriate

I found those links:

So as far as I understand, it's now possible right?
Anything to consider before doing this, or is just expect to work ™️ as for other types of releases?

Thanks!
 
OK so I gave it a go, but for my case it's not as straight forward as I would have liked:
root@xxx:~ # freebsd-version
14.0-ALPHA3
root@xxx:~ # freebsd-update fetch
src component not installed, skipped
Looking up update.FreeBSD.org mirrors... 3 mirrors found.
Fetching public key from update2.freebsd.org... failed.
Fetching public key from update1.freebsd.org... failed.
Fetching public key from dualstack.aws.update.freebsd.org... failed.
No mirrors remaining, giving up.

This may be because upgrading from this platform (amd64)
or release (14.0-ALPHA3) is unsupported by freebsd-update. Only
platforms with Tier 1 support can be upgraded by freebsd-update.
See https://www.freebsd.org/platforms/ for more info.

If unsupported, FreeBSD must be upgraded by source.

root@xxx:~ # freebsd-update upgrade --currently-running 14.0-ALPHA3 -r 14.0-RELEASE
src component not installed, skipped
Looking up update.FreeBSD.org mirrors... 3 mirrors found.
Fetching public key from update1.freebsd.org... failed.
Fetching public key from update2.freebsd.org... failed.
Fetching public key from dualstack.aws.update.freebsd.org... failed.
No mirrors remaining, giving up.

This may be because upgrading from this platform (amd64)
or release (14.0-ALPHA3) is unsupported by freebsd-update. Only
platforms with Tier 1 support can be upgraded by freebsd-update.
See https://www.freebsd.org/platforms/ for more info.

If unsupported, FreeBSD must be upgraded by source.

root@xxx:~ # freebsd-update -v debug upgrade -r 14.0-RELEASE
src component not installed, skipped
Looking up update.FreeBSD.org mirrors... 3 mirrors found.
Fetching public key from update1.freebsd.org... fetch: http://update1.freebsd.org/14.0-ALPHA3/amd64/pub.ssl: Not Found
failed.
Fetching public key from update2.freebsd.org... fetch: http://update2.freebsd.org/14.0-ALPHA3/amd64/pub.ssl: Not Found
failed.
Fetching public key from dualstack.aws.update.freebsd.org... fetch: http://dualstack.aws.update.freebsd.org/14.0-ALPHA3/amd64/pub.ssl: Not Found
failed.
No mirrors remaining, giving up.

This may be because upgrading from this platform (amd64)
or release (14.0-ALPHA3) is unsupported by freebsd-update. Only
platforms with Tier 1 support can be upgraded by freebsd-update.
See https://www.freebsd.org/platforms/ for more info.

If unsupported, FreeBSD must be upgraded by source.

So there is apparently nothing on the freebsd-update servers for 14-ALPHA3.
Then while looking around I saw this interesting suggestion: https://forums.freebsd.org/threads/freebsd-update-fetch-fetching-public-key-failed.1280/#post-7950
Thus I tried this:
root@xxx:~ # env UNAME_r=14.0-RELEASE freebsd-update -v debug fetch
src component not installed, skipped
Looking up update.FreeBSD.org mirrors... 3 mirrors found.
pub.ssl 800 B 14 MBps 00s
done.
Fetching metadata signature for 14.0-RELEASE from update2.freebsd.org...
latest.ssl 512 B 9 MBps 00s
The command rsautl was deprecated in version 3.0. Use 'pkeyutl' instead.
done.
Fetching metadata index...
b89ca988bdcae5cd783a4d4206d2b019af727ee2b20d49 225 B 4388 kBps 00s
done.
Fetching 2 metadata files...
/usr/libexec/phttpget update2.freebsd.org 14.0-RELEASE/amd64/m/1ac7a980345e7c878ade17a001dd24bd45770cd4bd05fb26e3fac27f53ea16c2.gz 14.0-RELEASE/amd64/m/e63e1d3ad9524
f7e820798743fc7c0470319edd680e84e296504713a957c3a9f.gz
http://update2.freebsd.org/14.0-REL...a001dd24bd45770cd4bd05fb26e3fac27f53ea16c2.gz: 200 OK
http://update2.freebsd.org/14.0-REL...743fc7c0470319edd680e84e296504713a957c3a9f.gz: 200 OK
done.
Inspecting system... done.
Preparing to download files... done.
Fetching 105 patches...
(...)
http://update2.freebsd.org/14.0-REL...0dc9b8d96386dd194f813c1ebace5fcd3e130d96d9.gz: 200 OK
done.
The following files are affected by updates. No changes have
been downloaded, however, because the files have been modified
locally:
/var/db/mergemaster.mtree
The following files will be updated as part of updating to
14.0-RELEASE-p7:
/bin/df
/bin/freebsd-version
/bin/mv
/boot/kernel/autofs.ko
(...)
/usr/share/zoneinfo/zone.tab
/usr/share/zoneinfo/zone1970.tab
/var/db/etcupdate/current/etc/defaults/rc.conf
/var/db/etcupdate/current/etc/periodic/daily/480.leapfile-ntpd

Thus it wants to replace quite a lot of files and it seems I could move forward with the install, but I'm currently a bit unsure if I can reasonably expect it to succeed...
Any opinion?
(Let me know if you prefer me to continue in a new thread)
 
So there is apparently nothing on the freebsd-update servers for 14-ALPHA3.
There isn't a "14-ALPHA3"; there was however a "14.0 ALPHA3"; it still lives in the source tree, see below. 14.0-RELEASE is nearing its EOL. Leading up to its past release there were various "versions" available, they probably existed as snapshots and/or binary images that have a (very) short life span. The same holds for any 14.1 ALPHA-s. After ALPHA-s, BETA-s and RC-s have served their purpose, I think they not tend to stay available as snapshot images for obvious reasons.

That's from a very long time ago (FreeBSD 7); things change over time. Release Engineering is not set is stone either, though it is fairly stable and does not change often in a significant way.

Support for "versions" of anything else than FreeBSD X.Y-RELEASE and (the most recent incursion of) -STABLE from for example stable/14if and when they exist—is (very) short lived during a release cycle and in the run up to that. AFAIK the ALPHA-s always start in main, AKA "HEAD" of the source tree repository.

That progresses to the BETA-s and those are in the stable branch (e.g. stable/14). What follows next in the process leading up to an official release is the issuance of release candidates, the RC-s (preferable just one). The final step leads to the official release of a -RELEASE version.

Remember the process of release engineering and the steps just before that are responsibility of the lead of the Release Engineering (currently Colin Percival) and his team. Further info: 2024 FreeBSD Developer Summit: Release Engineering updates.

If you want to use and track FreeBSD -STABLE, I suggest you subscribe to the stable mailing list; for "HEAD"/main aka FreeBSD -CURRENT there's the current mailing list. See the FreeBSD Handbook for further info.

FreeBSD 14.0 had the following sequence of events:
  1. ALPHA1 in main aka "HEAD"
  2. APLHA2
  3. APLHA3 switch to stable/14
  4. APLHA4
  5. BETA1 switch to releng/14.0
  6. BETA2
  7. BETA3
  8. BETA4
  9. BETA5
  10. RC1
  11. RC2
  12. RC3
  13. RC4
  14. RC4-p1
  15. FeeBSD 14.0-RELEASE
That rather long sequence of events was probably due to some big changes; one of them was a major incorporation of a new version of openSSL ("OpenSSL has been upgraded to version 3.0.12. This is a major upgrade from version 1.1.1 [...]").

If you want to examine more closely what happens in the FreeBSD source trees, I suggest you have a look at the developers handbook and get acquainted with git; a starting point: Using Git for FreeBSD Development

For a better insight in the relation of various FreeBSD branches and its related "versions" and to get hold of what's going where when you are using certain branches with git, have a look at the excellent SVG of anlashok here. With the above info, you should be able to get an idea where ALPHA-s, BETA-s and RC-s are located; note: not all (sub)branches are in this graphic.
 
Hi Erichans,
Thanks for your reply!

Sorry the 14-ALPHA3 was a typo in my post, as visible in the code excerpts it was all about 14.0-ALPHA3.

My issue is that I had to take over the maintenance of a few FreeBSD hosts that got deployed with 14.0-ALPHA3 by a former admin that was probably eager to use FreeBSD 14.0... (and there is even an internal build host with some bhyve VMs running 14.0-CURRENT, but this one will be for another day).
I'm currently trying to find the suitable way to move them form 14.0-ALPHA3 to a proper release like 14.0-RELEASE (as a first step, hoping it will be easier) or just 14.1-RELEASE, so that I will be able to update them in a clean/easy way.
I've been looking at using freebsd-update for this as I would like to avoid building/updating from source if I can.
 
Back
Top