Es gibt zwar sowas nettes:
https://wiki.freebsd.org/amd64/i386Migration
bsdinstall - was geht, was geht nicht? | BSDForen.de - Die BSD-Community
ist aber imho relativ umständlich (bzw. die im Forum beschriebene Vorgehnsweise schaut mir auch etwas zu frickelig aus

) .
Einfacher wäre es wohl, /etc/ /usr/local/etc und /var zu sichern und mittels Bootmedium und bsdinstall die "frische" Version 'rüberzubügeln.
Dann die benötigten Konfigs wieder zurückkopieren (wobei das komplette 'rüberkopieren von /etc eher fraglich wäre, da in /etc/rc.d die Systemscripte liegen - und es durchaus sein kann, dass die 32-bit Version andere Defaultkonfiguration hat, als amd64. Ebenso: /var/cache mit ggf. gecachten 32-bit Packeten des pkg muss man auch nicht unbedingt mitnehmen).
Wobei, es wäre interessant zu erfahren, ob ein:
Code:
cd /usr/src
make buildworld -j5 -s TARGET=amd64 TARGET_ARCH=amd64
... paar Stunden später ...
make buildkernel -j5 -s TARGET=amd64 TARGET_ARCH=amd64
reboot # into single user mode
mount / #remount with /etc/fstab flags
cd /usr/src
make installkernel TARGET=amd64 TARGET_ARCH=amd64
mergemaster -p TARGET=amd64 TARGET_ARCH=amd64
make installworld TARGET=amd64 TARGET_ARCH=amd64
mergemaster -iF TARGET=amd64 TARGET_ARCH=amd64
yes | make delete-old TARGET=amd64 TARGET_ARCH=amd64
reboot into single user mode # optional
yes | make delete-old-libs TARGET=amd64 TARGET_ARCH=amd64
klappt.
Das ist ein üblicher (also halbwegs handbuchkonformer

) Weg, einen komplett sourcebasierten Update durchzuführen (nur, dass man "make installkernel" vor dem Reboot ausführt und nur die Welt im SU-Modus installiert und natürlich keine Architekturmigration durchführt).
Soweit ich es sehe, wird dieser Weg nicht empfohlen, weil man hier an mehreren Stellen riskiert ein nicht funktionsfähiges System zu bekommen oder aber es weitere Fallstricke gibt (es müsste ja einen Grund geben, auf komplizierteren Pfaden zu wandern - ich würde ja sonst sogar soweit gehen, nach der Compilation das neue System mittels "make distributeworld/distributekernel DISTDIR=/foo" (siehe bei Interesse "man build"), in ein Unterverzeichnis zu installieren und dann, im Single-User Modus mittels "mv" und ein bissel schwarze Magie ins Rootverzeichniss zu ziehen).
Andererseits, dank "mergemaster" bekommt man die Gelegenheit, wichtige Konfigurationsdateien zu "mergen"/anzupassen.
Wobei einige configs (nfs4, pureftpd, nginx),
Wie schon oben erwähnt: Konfigurationsdateien der über Ports/pkg installierten Software sind in /usr/local/etc/ und/oder Benutzerverzeichniss zu finden. Alles, was im Basissetup mitgeliefert wurde, Benutzeraccountskonfiguration etc.: /etc.
Ggf. könnte noch der Inhalt von /var interessant sein.
sowie die einge User- und Gruppenberechtigungen und Verzeichnisberechtigungen (srv) beibehalten werden sollen ?
Bei Verzeichnissen würde mir (außer dump+restore oder tar

) z.B "man mtree" einfallen:
Code:
mtree -p mypath -c -d -i -n -k uname,gname,mode,nochange > mysettings.dist
...
mtree -u -f mysettings.dist -p mypath
Wobei das ja eher für andere Aufgaben gedacht ist - z.B ohne "-d" und mit einem zusätzlichen "sha256" als Keyword für eine Integritätsprüfung eingesetzt werden kann.