diff --git a/CVS/Entries b/CVS/Entries
new file mode 100644
index 000000000000..fff2ed73af57
--- /dev/null
+++ b/CVS/Entries
@@ -0,0 +1,2 @@
+D/libexec////
+D/sys////
diff --git a/CVS/Repository b/CVS/Repository
new file mode 100644
index 000000000000..26d257547c6e
--- /dev/null
+++ b/CVS/Repository
@@ -0,0 +1 @@
+config/freebsd/E590T/usr/src
diff --git a/CVS/Root b/CVS/Root
new file mode 100644
index 000000000000..990b5ff64229
--- /dev/null
+++ b/CVS/Root
@@ -0,0 +1 @@
+:pserver:trond@localhost:2401/home/cvs/cvsroot
diff --git a/libexec/CVS/Entries b/libexec/CVS/Entries
new file mode 100644
index 000000000000..577ebd96c202
--- /dev/null
+++ b/libexec/CVS/Entries
@@ -0,0 +1 @@
+D/rc////
diff --git a/libexec/CVS/Repository b/libexec/CVS/Repository
new file mode 100644
index 000000000000..477346f47990
--- /dev/null
+++ b/libexec/CVS/Repository
@@ -0,0 +1 @@
+config/freebsd/E590T/usr/src/libexec
diff --git a/libexec/CVS/Root b/libexec/CVS/Root
new file mode 100644
index 000000000000..990b5ff64229
--- /dev/null
+++ b/libexec/CVS/Root
@@ -0,0 +1 @@
+:pserver:trond@localhost:2401/home/cvs/cvsroot
diff --git a/libexec/rc/CVS/Entries b/libexec/rc/CVS/Entries
new file mode 100644
index 000000000000..7ae12c343b49
--- /dev/null
+++ b/libexec/rc/CVS/Entries
@@ -0,0 +1 @@
+D/rc.d////
diff --git a/libexec/rc/CVS/Repository b/libexec/rc/CVS/Repository
new file mode 100644
index 000000000000..44d53a3a07b4
--- /dev/null
+++ b/libexec/rc/CVS/Repository
@@ -0,0 +1 @@
+config/freebsd/E590T/usr/src/libexec/rc
diff --git a/libexec/rc/CVS/Root b/libexec/rc/CVS/Root
new file mode 100644
index 000000000000..990b5ff64229
--- /dev/null
+++ b/libexec/rc/CVS/Root
@@ -0,0 +1 @@
+:pserver:trond@localhost:2401/home/cvs/cvsroot
diff --git a/libexec/rc/rc.d/CVS/Entries b/libexec/rc/rc.d/CVS/Entries
new file mode 100644
index 000000000000..bc875e1087b0
--- /dev/null
+++ b/libexec/rc/rc.d/CVS/Entries
@@ -0,0 +1,5 @@
+/bemigrate/1.1/Mon Oct 11 18:47:58 2021//
+/sshd/1.1/Mon Oct 11 18:47:58 2021//
+/Makefile/1.6/Sat Oct 23 08:32:48 2021//
+/unmount_localfs/1.2/Wed Nov  3 16:03:44 2021//
+D
diff --git a/libexec/rc/rc.d/CVS/Repository b/libexec/rc/rc.d/CVS/Repository
new file mode 100644
index 000000000000..84a7304162f6
--- /dev/null
+++ b/libexec/rc/rc.d/CVS/Repository
@@ -0,0 +1 @@
+config/freebsd/E590T/usr/src/libexec/rc/rc.d
diff --git a/libexec/rc/rc.d/CVS/Root b/libexec/rc/rc.d/CVS/Root
new file mode 100644
index 000000000000..990b5ff64229
--- /dev/null
+++ b/libexec/rc/rc.d/CVS/Root
@@ -0,0 +1 @@
+:pserver:trond@localhost:2401/home/cvs/cvsroot
diff --git a/libexec/rc/rc.d/Makefile b/libexec/rc/rc.d/Makefile
index 4c7267552526..b2bb6814e3fe 100644
--- a/libexec/rc/rc.d/Makefile
+++ b/libexec/rc/rc.d/Makefile
@@ -112,6 +112,13 @@ CONFS=	DAEMON \
 	var \
 	watchdogd
 
+# $UFP: config/freebsd/E590T/usr/src/libexec/rc/rc.d/Makefile,v 1.6 2021-10-23 08:32:48 trond Exp $
+
+CONFS+=	bemigrate
+CONFS+=	unmount_localfs
+
+# $UFP: config/freebsd/E590T/usr/src/libexec/rc/rc.d/Makefile,v 1.6 2021-10-23 08:32:48 trond Exp $
+
 .if ${MK_NIS} != "no"
 CONFS+=	ypbind \
 	ypldap \
diff --git a/libexec/rc/rc.d/bemigrate b/libexec/rc/rc.d/bemigrate
new file mode 100755
index 000000000000..f3b1516a2887
--- /dev/null
+++ b/libexec/rc/rc.d/bemigrate
@@ -0,0 +1,125 @@
+#!/bin/sh
+# $UFP: config/freebsd/E590T/usr/src/libexec/rc/rc.d/bemigrate,v 1.1 2021-01-24 08:50:14 trond Exp $
+
+# Copyright © 2020, Trond Endrestøl <Trond.Endrestol@ximalas.info>
+
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+
+# 1. Redistributions of source code must retain the above copyright notice, this
+#    list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright notice,
+#    this list of conditions and the following disclaimer in the documentation
+#    and/or other materials provided with the distribution.
+
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+# PROVIDE: bemigrate
+# REQUIRE: hostname adjkerntz
+# BEFORE: random
+# KEYWORD: firstboot
+
+# Important!
+# cp -p bemigrate.sh /etc/rc.d/bemigrate
+# This file must not have the .sh suffix when saved in /etc/rc.d.
+
+# Note, this script is ONLY useful if you create the new BE as a clone
+# of the running BE.
+
+# Do NOT use this script if you follow the usual convention of creating
+# a snapshot and a clone for rescue purposes, and then upgrade your
+# default BE.
+
+# Don't forget to add bemigrate_enable="YES" to /etc/rc.conf, and to
+# create the /firstboot marker in the new BE.
+
+# Place this script in /etc/rc.d under the name bemigrate, so that it
+# will be run in a timely manner, i.e. ahead of /etc/rc.d/random.
+# Do NOT let mergemaster(8) remove this "orphaned" script.
+
+. /etc/rc.subr
+
+name="bemigrate"
+desc="Migrate files from the previous BE where the new BE is a clone of the former BE"
+start_cmd="bemigrate_start"
+stop_cmd=":"
+rcvar="bemigrate_enable"
+
+bemigrate_start ()
+{
+  # Ensure / is of type ZFS.
+  if [ -z "$(/bin/df -Tt zfs /)" ]; then
+    echo "${name}: root filesystem must be of type ZFS" >/dev/stderr
+    exit 69
+  fi
+
+  # Get the name of the parent BE.
+  # Ideally this should be the name of the previously multiuser booted
+  # BE, which will require a new (user) pool property to be maintained.
+  BEORIGIN=$(zfs get -Ho value origin / | cut -d @ -f 1)
+  if [ -z "${BEORIGIN}" ]; then
+    echo "${name}: empty value for BEORIGIN" >/dev/stderr
+    exit 69
+  fi
+
+  echo "${name}: mounting old BE ${BEORIGIN} on /mnt"
+  mount -t zfs "${BEORIGIN}" /mnt || exit
+
+  # This part must be changed if /boot comes from a separate bootpool.
+  echo "${name}: copying boot entropy file from old BE"
+  cat /mnt/boot/entropy > /boot/entropy || exit
+
+  echo "${name}: copying early entropy file from old BE"
+  cat /mnt/entropy > /entropy || exit
+
+  echo "${name}: copying csh history file from old BE"
+  cat /mnt/root/.history > /root/.history || exit
+
+  if [ -r /mnt/root/.bash_history ]; then
+    if [ ! -f /root/.bash_history ]; then
+      echo "${name}: creating, chmodding, and linking new bash history file"
+      touch /root/.bash_history
+      chmod 0600 /root/.bash_history
+      ln /root/.bash_history /.bash_history
+    fi
+
+    echo "${name}: copying bash history file from old BE"
+    cat /mnt/root/.bash_history > /root/.bash_history || exit
+  fi
+
+  old_cc_version=$(/mnt/usr/bin/cc --version | sed 1q)
+  new_cc_version=$(/usr/bin/cc --version | sed 1q)
+
+  if [ "${new_cc_version}" = "${old_cc_version}" ]; then
+    echo "${name}: new and old system compiler match, transferring the mtime from the old system compiler executable to the new one"
+    touch -mr /mnt/usr/bin/cc /usr/bin/cc
+  fi
+
+  echo "${name}: unmounting old BE on /mnt"
+  umount /mnt || exit
+
+  echo "${name}: updating files in /etc/mail"
+  cd /etc/mail || exit
+  make all install || exit
+
+  if [ -x /usr/local/bin/rkhunter ]; then
+    echo "${name}: updating rkhunter files"
+    /usr/local/bin/rkhunter --no-mail-on-warning --propupd --quiet
+  fi
+
+  echo "${name}: done"
+}
+
+load_rc_config ${name}
+run_rc_command "$1"
+
+# EOF
diff --git a/libexec/rc/rc.d/sshd b/libexec/rc/rc.d/sshd
index 282f69f8e4ca..14c2b47c6fd0 100755
--- a/libexec/rc/rc.d/sshd
+++ b/libexec/rc/rc.d/sshd
@@ -45,6 +45,13 @@ sshd_keygen_alg()
 		;;
 	esac
 
+# $UFP: config/freebsd/E590T/usr/src/libexec/rc/rc.d/sshd,v 1.1 2021-09-16 18:22:14 trond Exp $
+	case $alg in
+	rsa)
+		bits="-b 4096"
+		;;
+	esac
+
 	if [ -f "${keyfile}" ] ; then
 		info "$ALG host key exists."
 		return 0
@@ -56,7 +63,7 @@ sshd_keygen_alg()
 	fi
 
 	echo "Generating $ALG host key."
-	/usr/bin/ssh-keygen -q -t $alg -f "$keyfile" -N ""
+	/usr/bin/ssh-keygen -q -t $alg -f "$keyfile" -N "" $bits
 	/usr/bin/ssh-keygen -l -f "$keyfile.pub"
 }
 
diff --git a/libexec/rc/rc.d/unmount_localfs b/libexec/rc/rc.d/unmount_localfs
new file mode 100755
index 000000000000..468f90fe69c5
--- /dev/null
+++ b/libexec/rc/rc.d/unmount_localfs
@@ -0,0 +1,55 @@
+#!/bin/sh
+# $UFP: config/freebsd/E590T/usr/src/libexec/rc/rc.d/unmount_localfs,v 1.2 2021-11-03 16:03:44 trond Exp $
+
+# Copyright © 2021, Trond Endrestøl <Trond.Endrestol@ximalas.info>
+
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+
+# 1. Redistributions of source code must retain the above copyright notice, this
+#    list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright notice,
+#    this list of conditions and the following disclaimer in the documentation
+#    and/or other materials provided with the distribution.
+
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+# PROVIDE: unmount_localfs
+# KEYWORD: shutdown
+
+. /etc/rc.subr
+
+name="unmount_localfs"
+desc="Unmount any local filesystems of the types devfs, fdescfs, linprocfs, linsysfs, and procfs before other local filesystems, e.g. ZFS, are unmounted."
+start_cmd=":"
+stop_cmd="unmount_localfs_stop"
+rcvar="unmount_localfs_enable"
+
+unmount_localfs_stop ()
+{
+  local reverse
+
+  # We try and stay away from /dev and its descending filesystems.
+  for fs in `df -t devfs,fdescfs,linprocfs,linsysfs,procfs | awk '/\// { print $6 }' | grep -v '^/dev'`; do
+    reverse="${fs} ${reverse}"
+  done
+
+  for fs in ${reverse}; do
+    echo "${name}: trying to unmount ${fs}"
+    umount ${fs}
+  done
+}
+
+load_rc_config ${name}
+run_rc_command "${1}"
+
+# EOF
diff --git a/sbin/ifconfig/af_link.c b/sbin/ifconfig/af_link.c
index fb7a235b2f49..00940cd3296f 100644
--- a/sbin/ifconfig/af_link.c
+++ b/sbin/ifconfig/af_link.c
@@ -78,6 +78,21 @@ link_status(int s __unused, const struct ifaddrs *ifa)
 			    NULL) {
 				*format_char = '-';
 			}
+		} else if (f_ether != NULL && strcmp(f_ether, "dotted") == 0) {
+			/* Indices 0 and 1 is kept as is. */
+			ether_format[ 2] = ether_format[ 3];
+			ether_format[ 3] = ether_format[ 4];
+			ether_format[ 4] = '.';
+			ether_format[ 5] = ether_format[ 6];
+			ether_format[ 6] = ether_format[ 7];
+			ether_format[ 7] = ether_format[ 9];
+			ether_format[ 8] = ether_format[10];
+			ether_format[ 9] = '.';
+			ether_format[10] = ether_format[12];
+			ether_format[11] = ether_format[13];
+			ether_format[12] = ether_format[15];
+			ether_format[13] = ether_format[16];
+			ether_format[14] = '\0';
 		}
 		printf("\tether %s\n", ether_format);
 	} else {
diff --git a/sbin/ifconfig/ifconfig.8 b/sbin/ifconfig/ifconfig.8
index f183bc3dd66f..6d75a74bdde6 100644
--- a/sbin/ifconfig/ifconfig.8
+++ b/sbin/ifconfig/ifconfig.8
@@ -238,6 +238,8 @@ Separate address segments with a colon
 Separate address segments with a dash
 .It Sy default
 Display ethernet addresses in the default format,
+.It Sy dotted
+Separate address segments with a dot
 .Sy colon
 .El
 .It Sy inet
diff --git a/sys/CVS/Entries b/sys/CVS/Entries
new file mode 100644
index 000000000000..a80f63c5f045
--- /dev/null
+++ b/sys/CVS/Entries
@@ -0,0 +1 @@
+D/amd64////
diff --git a/sys/CVS/Repository b/sys/CVS/Repository
new file mode 100644
index 000000000000..727ed6aca256
--- /dev/null
+++ b/sys/CVS/Repository
@@ -0,0 +1 @@
+config/freebsd/E590T/usr/src/sys
diff --git a/sys/CVS/Root b/sys/CVS/Root
new file mode 100644
index 000000000000..990b5ff64229
--- /dev/null
+++ b/sys/CVS/Root
@@ -0,0 +1 @@
+:pserver:trond@localhost:2401/home/cvs/cvsroot
diff --git a/sys/amd64/CVS/Entries b/sys/amd64/CVS/Entries
new file mode 100644
index 000000000000..5cabe7950d11
--- /dev/null
+++ b/sys/amd64/CVS/Entries
@@ -0,0 +1 @@
+D/conf////
diff --git a/sys/amd64/CVS/Repository b/sys/amd64/CVS/Repository
new file mode 100644
index 000000000000..0ae4681ab5f9
--- /dev/null
+++ b/sys/amd64/CVS/Repository
@@ -0,0 +1 @@
+config/freebsd/E590T/usr/src/sys/amd64
diff --git a/sys/amd64/CVS/Root b/sys/amd64/CVS/Root
new file mode 100644
index 000000000000..990b5ff64229
--- /dev/null
+++ b/sys/amd64/CVS/Root
@@ -0,0 +1 @@
+:pserver:trond@localhost:2401/home/cvs/cvsroot
diff --git a/sys/amd64/conf/CVS/Entries b/sys/amd64/conf/CVS/Entries
new file mode 100644
index 000000000000..4921879764de
--- /dev/null
+++ b/sys/amd64/conf/CVS/Entries
@@ -0,0 +1,4 @@
+/ZFS/1.1/Mon Oct 11 18:47:58 2021//
+/ZFS-NODEBUG/1.2/Mon Oct 11 18:47:58 2021//
+/E590T/1.48/Mon Oct 18 16:08:13 2021//
+D
diff --git a/sys/amd64/conf/CVS/Repository b/sys/amd64/conf/CVS/Repository
new file mode 100644
index 000000000000..5f71ea31e687
--- /dev/null
+++ b/sys/amd64/conf/CVS/Repository
@@ -0,0 +1 @@
+config/freebsd/E590T/usr/src/sys/amd64/conf
diff --git a/sys/amd64/conf/CVS/Root b/sys/amd64/conf/CVS/Root
new file mode 100644
index 000000000000..990b5ff64229
--- /dev/null
+++ b/sys/amd64/conf/CVS/Root
@@ -0,0 +1 @@
+:pserver:trond@localhost:2401/home/cvs/cvsroot
diff --git a/sys/amd64/conf/E590T b/sys/amd64/conf/E590T
new file mode 100644
index 000000000000..4d59441beb53
--- /dev/null
+++ b/sys/amd64/conf/E590T
@@ -0,0 +1,261 @@
+# $UFP: config/freebsd/E590T/usr/src/sys/amd64/conf/E590T,v 1.48 2021-10-18 16:08:13 trond Exp $
+
+# Checked against:
+# sys/amd64/conf/GENERIC 6c69c6bb4c7ffde48b130df707799d4eca21ca9f 2021-08-14 12:57:54 +0000
+# sys/amd64/conf/GENERIC-NODEBUG c1a148873d6488f1dac1cfb207a5927cef89888e 2021-05-20 08:27:10 +0000
+# sys/conf/std.nodebug 6eebda3bbad96ab6ef001781ee1b6de45af062a2 2021-01-14 16:57:53 +0000
+
+include		GENERIC-NODEBUG
+ident		E590T
+
+# Cancelling stuff from GENERIC
+nodevice	fdc
+
+nodevice	ahci
+nodevice	ata
+nodevice	mvs
+nodevice	siis
+
+nodevice	ahc
+nodevice	ahd
+nodevice	esp
+nodevice	hptiop
+nodevice	isp
+nodevice	mpt
+nodevice	mps
+nodevice	mpr
+nodevice	sym
+nodevice	isci
+nodevice	ocs_fc
+nodevice	pvscsi
+
+nodevice	amr
+nodevice	arcmsr
+nodevice	ciss
+nodevice	iir
+nodevice	ips
+nodevice	mly
+nodevice	twa
+nodevice	smartpqi
+nodevice	tws
+
+nodevice	aac
+nodevice	aacp
+nodevice	aacraid
+nodevice	ida
+nodevice	mfi
+nodevice	mlx
+nodevice	mrsas
+nodevice	pmspcv
+nodevice	twe
+
+nodevice	vmd
+nodevice	vmd_bus
+
+nodevice	splash
+
+nodevice	cbb
+nodevice	cardbus
+
+nodevice	uart
+
+nodevice	ppc
+nodevice	ppbus
+nodevice	lpt
+nodevice	ppi
+
+nodevice	puc
+
+nodevice	iflib
+nodevice	em
+nodevice	igc
+nodevice	ix
+nodevice	ixv
+nodevice	ixl
+nodevice	iavf
+nodevice	ice
+nodevice	vmx
+nodevice	axp
+
+nodevice	bxe
+nodevice	le
+nodevice	ti
+
+nodevice	mlx5
+nodevice	mlxfw
+nodevice	mlx5en
+
+nodevice	ae
+nodevice	age
+nodevice	alc
+nodevice	ale
+nodevice	bce
+nodevice	bfe
+nodevice	bge
+nodevice	cas
+nodevice	dc
+nodevice	et
+nodevice	fxp
+nodevice	gem
+nodevice	hme
+nodevice	jme
+nodevice	lge
+nodevice	msk
+nodevice	nfe
+nodevice	nge
+nodevice	pcn
+nodevice	rl
+nodevice	sf
+nodevice	sge
+nodevice	sis
+nodevice	sk
+nodevice	ste
+nodevice	stge
+nodevice	tl
+nodevice	tx
+nodevice	vge
+nodevice	vr
+nodevice	wb
+nodevice	xl
+
+nodevice	ath
+nodevice	ath_pci
+nodevice	ath_hal
+nodevice	ath_rate_sample
+nodevice	ipw
+nodevice	iwi
+nodevice	iwn
+nodevice	malo
+nodevice	mwl
+nodevice	ral
+nodevice	wpi
+
+nodevice	gif
+
+nodevice	virtio
+nodevice	virtio_pci
+nodevice	vtnet
+nodevice	virtio_blk
+nodevice	virtio_scsi
+nodevice	virtio_balloon
+
+nodevice	snd_cmi
+nodevice	snd_csa
+nodevice	snd_emu10kx
+nodevice	snd_es137x
+nodevice	snd_ich
+nodevice	snd_via8233
+
+nodevice	kvm_clock
+
+nooptions	HYPERV
+nodevice	hyperv
+
+nooptions	XENHVM
+nodevice	xenpci
+nodevice	xentimer
+
+###
+
+options		ACCEPT_FILTER_DATA
+options		ACCEPT_FILTER_HTTP
+
+options		KDB_UNATTENDED
+options		DDB_NUMSYM
+
+options		DEBUG_REDZONE
+
+options		FUSEFS
+
+options		GEOM_ELI
+
+options		IPFIREWALL
+options		IPFIREWALL_VERBOSE
+
+options		UDF
+
+options		KBDMUX_DFLT_KEYMAP
+# SC
+#makeoptions	KBDMUX_DFLT_KEYMAP=norwegian.iso
+# VT
+makeoptions	KBDMUX_DFLT_KEYMAP=no
+
+options		LIBICONV
+options		CD9660_ICONV
+options		MSDOSFS_ICONV
+options		UDF_ICONV
+
+options		SC_DFLT_FONT
+makeoptions	SC_DFLT_FONT=iso
+
+#options		UKBD_DFLT_KEYMAP
+# SC
+#makeoptions	UKBD_DFLT_KEYMAP=norwegian.iso
+# VT
+makeoptions	UKBD_DFLT_KEYMAP=no
+
+device		cryptodev
+
+#device		pty	# devel/ddd + devel/gdb
+
+options		ATKBD_DFLT_KEYMAP
+# SC
+#makeoptions	ATKBD_DFLT_KEYMAP=norwegian.iso
+# VT
+makeoptions	ATKBD_DFLT_KEYMAP=no
+
+options		COMPAT_LINUX32
+options		LINPROCFS
+options		LINSYSFS
+
+options		FDESCFS
+options		NULLFS
+
+options		SCTP
+
+options		TSLOG
+
+options		ZFS
+
+device		acpi_dock
+device		acpi_ibm
+device		acpi_wmi
+
+device		backlight
+
+device		cpuctl
+
+device		cuse
+
+# Not compatible with recent OpenZFS.
+#device		dtrace
+#device		dtraceall
+
+device		filemon
+
+device		iwm
+device		iwmfw
+
+device		hwpmc
+
+#device		pchtherm
+
+device		smbus
+device		smb
+device		iicbus
+device		iicsmb
+device		intpm
+
+device		snd_uaudio
+device		speaker
+
+device		uhid
+device		ums
+
+device		vpd
+
+makeoptions	WITH_EXTRA_TCP_STACKS=1
+#options		RATELIMIT
+options		TCPHPTS
+
+# EOF
diff --git a/sys/amd64/conf/ZFS b/sys/amd64/conf/ZFS
new file mode 100644
index 000000000000..dda32582674a
--- /dev/null
+++ b/sys/amd64/conf/ZFS
@@ -0,0 +1,7 @@
+# $UFP: config/freebsd/E590T/usr/src/sys/amd64/conf/ZFS,v 1.1 2019-10-19 12:36:25 trond Exp $
+
+include	GENERIC
+ident	ZFS
+options	ZFS
+
+# EOF
diff --git a/sys/amd64/conf/ZFS-NODEBUG b/sys/amd64/conf/ZFS-NODEBUG
new file mode 100644
index 000000000000..be6367677344
--- /dev/null
+++ b/sys/amd64/conf/ZFS-NODEBUG
@@ -0,0 +1,7 @@
+# $UFP: config/freebsd/E590T/usr/src/sys/amd64/conf/ZFS-NODEBUG,v 1.2 2019-10-21 18:03:48 trond Exp $
+
+include	GENERIC-NODEBUG
+ident	ZFS-NODEBUG
+options	ZFS
+
+# EOF
