Assume the disk is /dev/da8, to create a slice of about 100 GB.
dfly# cat > fdisk.conf << _EOF_
p 1 108 1 209712510
a 1
_EOF_
dfly# fdisk -f fdisk.conf /dev/da8
dfly# fdisk -B /dev/da8(fdisk(8) will round the start and size to cylinder boundaries.)
I'm naming the disklabel with DFly, and will use this name to mount the partitions.
dfly# disklabel -r -w /dev/da8s1 auto DFly
dfly# disklabel /dev/da8s1 > disklabel.txt
dfly# cat >> disklabel.txt << _EOF_
a: 96g 0 HAMMER2
b: * * swap
_EOF_
dfly# disklabel -R /dev/da8s1 disklabel.txt
dfly# disklabel -B /dev/da8s1I'm placing both / and /boot on the same HAMMER2 partition, with different PFSes,
avoiding a separate UFS partition for /boot.
dfly# newfs_hammer2 -L ROOT /dev/da8s1a
dfly# mkdir /mnt/target
dfly# mount /dev/da8s1a@ROOT /mnt/target
dfly# hammer2 -s /mnt/target pfs-create BOOT
dfly# mkdir /mnt/target/boot
dfly# mount /dev/da8s1a@BOOT /mnt/target/bootNOTE: The above setup may fail to boot, because of Bug #3202: Cannot boot from HAMMER2. This needs to be confirmed.
One workaround (also need to confirm) in my head is:
first create the BOOT PFS with newfs_hammer2 -L BOOT,
and then create the ROOT PFS with hammer2 pfs-create ROOT.
Download the .img image and mount it for installation:
dfly# vnconfig -c vn ~aly/downloads/DragonFly-x86_64-20190325-DEV-v5.5.0.307.g3f3e6.img
# output: vn4
dfly# mkdir /mnt/system
dfly# mount /dev/vn4s2a /mnt/systemCopy the system over, clean up, and adjust /etc:
dfly# cpdup -vI /mnt/system /mnt/target
dfly# cpdup -vI /mnt/system/boot /mnt/target/boot
dfly# cd /mnt/target
dfly# rm -r README* autorun* dflybsd.ico index.html
dfly# rm -r etc
dfly# mv etc.hdd etcUmount the system image:
dfly# umount /mnt/system
dfly# vnconfig -u vn4Booting:
dfly# cat > /mnt/target/boot/loader.conf << _EOF_
vfs.root.mountfrom="hammer2:part-by-label/DFly.a@ROOT"
_EOF_Filesystems:
dfly# cat > /mnt/target/etc/fstab << _EOF_
/dev/part-by-label/DFly.a@ROOT / hammer2 rw 1 1
/dev/part-by-label/DFly.a@BOOT /boot hammer2 rw 1 1
/dev/part-by-label/DFly.b none swap sw 0 0
_EOF_System settings:
root# cat >> /mnt/target/etc/rc.conf << _EOF_
dumpdev="/dev/part-by-label/DFly.b"
hostname="???"
ifconfig_<name>="DHCP"
sshd_enable="YES"
dntpd_enable="YES"
_EOF_Root password:
dfly# chroot /mnt/target passwddfly# umount /mnt/target/boot /mnt/target
dfly# reboot