Installing ravynOS
Installing Pygmy Marmoset

Installing Pygmy Marmoset

⚠️

Snapshots currently do not have a GUI, so the Installer app can't be used. Follow the steps below to install the system manually.

Boot the Live ISO and log in to the shell as liveuser

Become root

You can do this with:

sudo -s

Identify the disk to install

You can do this via:

geom disk list

Replace device in the commands below with this disk name.

To use the whole disk

  • Delete any existing partitions using gpart delete
  • Use gpart destroy to clear the geom disk
  • Create a new GPT partition table with gpart create -s gpt [device]

Create an EFI partition

You can do this with:

gpart add -t efi -l efi -s 256M [device]
ℹ️

If you have an existing EFI partition, you can skip this step.

Initialize the EFI filesystem

To do this, use:

newfs_msdos /dev/[device]p1. 
ℹ️

If you have an existing EFI partition and want to preserve loaders for other operating systems, you can skip this step.

Create a swap partition

To do this, use: (use whatever size you want)

gpart add -t freebsd-swap -s 4G [device]

Create a ZFS partition on the rest of the disk

To do this, use:

gpart add -t freebsd-zfs -l ravynOS [device]

Initialize the ZFS pool

To do this, use:

zpool create -f -R /mnt -O mountpoint=/ -O atime=off -O canmount=off -O compression=on ravynOS [device]p3

Create the ZFS datasets

zfs create -o canmount=off -o mountpoint=none ravynOS/ROOT
zfs create -o mountpoint=/ ravynOS/ROOT/default

OPTIONAL: You can create additional datasets for future expansion

(e.g. /usr/src, /usr/ports, /var, ...)

zpool set bootfs=ravynOS/ROOT/default ravynOS
mkdir /tmp/efi
mount -t msdosfs /dev/[device]p1 /tmp/efi
mkdir -p /tmp/efi/efi/boot
cp /boot/loader.efi /tmp/efi/efi/boot/bootx64.efi
cp /boot/loader.efi /tmp/efi/efi/boot/loader.efi
umount /tmp/efi
cat >> /tmp/excludes
/dev
/proc
/tmp

Press Ctrl-D to write the file and return to the shell

cd /sysroot
cpdup -uIof -X /tmp/excludes . /mnt

Go grab a coffee

chroot /mnt /usr/bin/zsh The remaining commands are run in the chroot.
/usr/sbin/bsdinstall config
/usr/sbin/bsdinstall entropy
/usr/sbin/pw userdel -n liveuser
/usr/sbin/pw groupdel -n liveuser
rm -rf /Users/liveuser
/usr/sbin/pkg remove -y furybsd-live-settings freebsd-installer
mv /etc/rc.conf.local /etc/rc.conf

Edit /etc/rc.conf

Ensure it has these entries:

zfs_enable="YES"
zfsd_enable="YES"
hostname="yourHostname"

Save and quit

Edit /boot/loader.conf and ensure it has these entries

cryptodev_load="YES"
zfs_load="YES"
mach_load="YES"
beastie_disable="YES"
autoboot_delay="3"
vfs.root.mountfrom.options="rw"
vfs.root.mountfrom="zfs:ravynOS/ROOT/default"

Save and quit

Create a user account for yourself with adduser

Be sure to add yourself to the wheel and video groups. Shell should be /usr/bin/zsh

Copy an appropriate timezone file

Copy from /usr/share/zoneinfo to /etc/localtime

Reboot and enjoy!