Skip to content

Instantly share code, notes, and snippets.

@mitchty
Created November 1, 2015 23:18
Show Gist options
  • Save mitchty/f5a2021dd241fbadaac4 to your computer and use it in GitHub Desktop.
Save mitchty/f5a2021dd241fbadaac4 to your computer and use it in GitHub Desktop.
bsd install
#!/bin/sh
zpool destroy zroot
for disk in 0 1; do
gpart destroy -F ada${disk}
gpart create -s gpt ada${disk}
gpart add -a 4k -s 64k -t freebsd-boot -l boot${disk} ada${disk}
gpart add -a 4k -s 2G -t freebsd-swap -l swap${disk} ada${disk}
gpart add -a 4k -s 32G -t freebsd-zfs -l zroot${disk} ada${disk}
gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 ada${disk}
done
sysctl vfs.zfs.min_auto_ashift=12
zpool create -f -o altroot=/mnt -o cachefile=/var/tmp/zpool.cache zroot mirror gpt/zroot0 gpt/zroot1
zpool set bootfs=zroot zroot
zfs set checksum=fletcher4 zroot
zfs create zroot/usr
zfs create zroot/usr/home
zfs create zroot/var
zfs create -o compression=off -o exec=on -o setuid=off zroot/tmp
zfs create -o compression=gzip -o setuid=off zroot/usr/ports
zfs create -o compression=lzjb -o exec=off -o setuid=off zroot/usr/src
zfs create -o compression=lzjb -o exec=off -o setuid=off zroot/var/crash
zfs create -o exec=off -o setuid=off zroot/var/db
zfs create -o compression=lzjb -o exec=on -o setuid=off zroot/var/db/pkg
zfs create -o exec=off -o setuid=off zroot/var/empty
zfs create -o compression=gzip-9 -o exec=off -o setuid=off zroot/var/log
zfs create -o exec=off -o setuid=off zroot/var/run
zfs create -o compression=lzjb -o exec=on -o setuid=off zroot/var/tmp
chmod 1777 /mnt/tmp /mnt/var/tmp
cd /mnt ; ln -s usr/home home
cd /
export DESTDIR=/mnt
for file in base lib32 kernel doc ports src;
do (cat /usr/freebsd-dist/${file}.txz | tar --unlink -xpJf - -C ${DESTDIR:-/}); done
cp /var/tmp/zpool.cache /mnt/boot/zfs/zpool.cache
cat << 'FIN' >> /mnt/etc/rc.conf
zfs_enable="YES"
hostname="bsd"
ifconfig_em0="DHCP"
defaultrouter="10.11.12.1"
nameserver="10.11.12.1"
moused_enable="NO"
sshd_enable="YES"
powerd_enable="YES"
performance_cx_lowest="C2"
economy_cx_lowest="C2"
ntpdate_enable="YES"
ntpd_enable="YES"
ntpdate_hosts="0.freebsd.pool.ntp.org 1.freebsd.pool.ntp.org 2.freebsd.pool.ntp.org"
sendmail_enable="NO"
sendmail_submit_enable="NO"
sendmail_outbound_enable="NO"
sendmail_msp_queue_enable="NO"
FIN
cat << 'FIN' >> /mnt/boot/loader.conf
zfs_load="YES"
vfs.root.mountfrom="zfs:zroot"
ahci_load="YES"
hint.p4tcc.0.disabled=1
hint.acpi_throttle.0.disabled=1
FIN
cat << 'FIN' >> /mnt/etc/resolv.conf
nameserver 10.11.12.1
FIN
touch /mnt/etc/fstab
zfs set readonly=on zroot/var/empty
zfs umount -af
zfs set mountpoint=legacy zroot
zfs set mountpoint=/tmp zroot/tmp
zfs set mountpoint=/usr zroot/usr
zfs set mountpoint=/var zroot/var
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment