Has anyone installed 13.0-RELEASE on a RPI 4 with ZFS

I would like to put 13.0-RELEASE on a RPI 4 4GB, using ZFS. I've previously installed it successfully using the img file, which comes with UFS, and that worked fine. I now would like to try ZFS for familiarising myself with ZFS.

I followed this Reddit comment to a post I made on how to install ZFS and the result was a successful boot up to just after switching to /sbin/init, after which it blocked, I imagine at the network interface stage. I waited 24hrs for DHCP leases to expire, for the random device to initialise and for anything else to trigger and complete. No luck, it stayed blocked. It doesn't respond to ctrl-T or ctrl-C, but it shutdown cleanly with ctrl-alt-del.

Thought I'd ask here if anyone has managed to do it and how you did it.
 
do you have a serial console ?
video console is broken? (on pi zero it is, probably on rpi4 too) and you can't see userland output untill init spawns getty (kernel messages are displayed though)
also probably single user mode wont work because of this
but if you have a serial console you probably can detect the failure point more accurately
if this is the case and you can mount / on another computer add this to the /etc/rc top just after #!/bin/sh
Code:
/sbin/sysctl kern.console=ttyv0
exec >/dev/ttyv0 2>&1
echo "RC ON"
 
No, unfortunately, I don't have a serial console.
You have no other computers besides the Pi? A serial console is just a computer with a serial port and a terminal program (On Windows popular choices are PuTTY and TeraTerm). Most modern machines don't have a serial port any more, so I have a whole collection of USB to Serial cables. Specifically for this kind of access. Serial console access is a good way to access lots of embedded devices, especially if they don't have a video output (or the video output doesn't work).
 
if you don't have serial console just patch /etc/rc like above
you still need another computer to mount the card
 
Yeah, don't do this the hard way. You can turn the FreeBSD sdcard image into a BSD installer. Super easy. My response to same thread you are following.

For posterity, here, you need to mkdir /usr/freebsd-dist
And then download all the installation packages for the version of FreeBSD you want to install and place them in /usr/freebsd-dist.
Bash:
#!/bin/bash

FILES="BUILDDATE \
GITBRANCH \
MANIFEST \
REVISION \
base-dbg.txz \
base.txz \
kernel-dbg.txz \
kernel.txz \
ports.txz \
src.txz \
tests.txz"

URL=https://download.freebsd.org/ftp/releases/arm64/13.0-RELEASE
DESTDIR=/usr/freebsd-dist
mkdir -p ${DESTDIR}
cd ${DESTDIR}
for x in ${FILES};do
  curl -OL ${URL}/${x}
done

Run bsdinstall from that sdcard, you should see the familiar installation screens.
Then you either install to another sdcard using a sdcard to USB adapter or (my recommendation) install to a fast USB. You'll have to edit the /etc/fstab file after the install before rebooting and change disk references from the second disk to the first (usually just changing the device name ending in 1 to a 0).

You can re-use your modified sdcard to do future fully custom FreeBSD's on your PI4's.

That's pretty much it. Minimal gymnastics.
 
Back
Top