I have recently bitten the bullet and taken my old 10.3 home lab server (HP Microserver N54L) up to 13.0. I believe it went well -- certainly less painfully than I'd feared.
My lab runs off a USB boot/root, with some dirs (/usr/local, /usr/share, /usr/home, /var, /var) mounted from a ZFS pool. I installed "fresh-ish" by building a new USB boot/root, using
I took an awful lot of guidance from https://forums.freebsd.org/threads/...bout-installing-freebsd-on-a-usb-stick.11715/ and https://wiki.freebsd.org/RootOnZFS/GPTZFSBoot -- many thanks to the writers of those; any mistakes are my own.
I haven't done a
However, the meat of my FreeBSD usage is in single-purpose jails. Those jails are built from old 10.1 and 10.3 templates, which I built from a scripted process, stashed in ZFS and made read-only. Jail-specific fstab files mount the read-only template root, a matching read-write data filesystem (/usr/local, /var, /tmp, /etc, some others) and any other directories I need, all via nullfs. Most applications I run from these jails were then installed via
Obviously any new jail I create from here is going to use my newly-minted 13.0-RELEASE jail template, but (appreciating the self-imposed complexity of my system) what is my best course of action regarding maintaining the existing jails, particularly if I wish to resume
My lab runs off a USB boot/root, with some dirs (/usr/local, /usr/share, /usr/home, /var, /var) mounted from a ZFS pool. I installed "fresh-ish" by building a new USB boot/root, using
gpart
to create a GPT on it, install the pmbr and gptboot bootcode, and bsdinstall distextract
to unpack base.txz, lib32.txz and kernel.txz to it. I did some jiggery with my ZFS mountpoints and sysutils/cpdup and have my system back to where it was pre-upgrade, using my old /var and /usr/home. Finally, a freebsd-update
to get my system up to 13.0-RELEASE-p3.I took an awful lot of guidance from https://forums.freebsd.org/threads/...bout-installing-freebsd-on-a-usb-stick.11715/ and https://wiki.freebsd.org/RootOnZFS/GPTZFSBoot -- many thanks to the writers of those; any mistakes are my own.
I haven't done a
zpool upgrade
yet so, technically, I can still put the old USB back in and boot my old 10.3 system, but I'm hoping not to have do that any more.However, the meat of my FreeBSD usage is in single-purpose jails. Those jails are built from old 10.1 and 10.3 templates, which I built from a scripted process, stashed in ZFS and made read-only. Jail-specific fstab files mount the read-only template root, a matching read-write data filesystem (/usr/local, /var, /tmp, /etc, some others) and any other directories I need, all via nullfs. Most applications I run from these jails were then installed via
pkg-static
.Obviously any new jail I create from here is going to use my newly-minted 13.0-RELEASE jail template, but (appreciating the self-imposed complexity of my system) what is my best course of action regarding maintaining the existing jails, particularly if I wish to resume
pkg
operations in them (either for updates or new features)?- Should I alter the existing fstabs to mount my new 13.0-RELEASE template root in place of the old 10.x root? Will I have a bad day(TM) with jails containing a read-only 13.0 root and 10.x writables?
- Should I
freebsd-update
the existing 10.1 and 10.3 templates up to 13.0? Can I even go up from 10.x to 13.0 via tools? How might one do an update to a "shared" read-only 10.x root? - Should I do nothing? Is the host running 13.0 enough (for some definition of "enough")
- Should I rebuild all the jails from scratch Hoping not to have to do this, but am open to persuasion
- Some other action?
- Some combination