Submit #3227 ยป 0001-Add-HAMMER2-instructions.patch
nrelease/root/README | ||
---|---|---|
is empty, ad0s2 if your first slice contains another OS, etc). Be careful
|
||
to substitute the correct disk and partition name in the steps below.
|
||
You need to decide which file system to use for DragonFly install: UFS or
|
||
HAMMER. UFS is the classical BSD file system and HAMMER is a newer and
|
||
more feature rich file system, HAMMER needs 50GB space at minimum, see
|
||
'man HAMMER'. The installation is somewhat different depending on the
|
||
file system used.
|
||
You need to decide which file system to use for DragonFly install: UFS,
|
||
HAMMER or HAMMER2. UFS is the classical BSD file system and HAMMER / HAMMER2
|
||
are newer and more feature rich file system, HAMMER / HAMMER2 needs 50GB
|
||
space at minimum, see 'man HAMMER / HAMMER2 (not yet available)'. The
|
||
installation is somewhat different depending on the file system used.
|
||
# OPTIONAL STEP: If your disk is already partitioned and you
|
||
# have a spare primary partition on which you want to install
|
||
... | ... | |
# ad0s1b 4096m This will be your swap
|
||
# ad0s1d * All remaining space to your /; HAMMER
|
||
#
|
||
# HAMMER2 (fstype HAMMER2):
|
||
# ad0s1a 768m This will be your /boot; UFS
|
||
# ad0s1b 4096m This will be your swap
|
||
# ad0s1d * All remaining space to your /; HAMMER2
|
||
#
|
||
# An example disklabel can be found in /etc/disklabel.ad0s1.
|
||
#
|
||
disklabel -e ad0s1
|
||
... | ... | |
# HAMMER:
|
||
newfs /dev/ad0s1a
|
||
newfs_hammer -L ROOT /dev/ad0s1d
|
||
#
|
||
# HAMMER2:
|
||
newfs /dev/ad0s1a
|
||
newfs_hammer2 /dev/ad0s1d
|
||
# Mount the file systems.
|
||
#
|
||
... | ... | |
# Make HAMMER pseudo file systems (PFSs), and NULL mount them.
|
||
# All PFSs share all space in a HAMMER file system, but policy on how
|
||
# often to make snapshots, how long to keep them and general ability to
|
||
# delete them is per PFS. Also mirroring (e.g. for backup) is done
|
||
# delete them is per PFS. Also mirroring (e.g. for backup) is done
|
||
# per PFS. Typical setup is:
|
||
#
|
||
mkdir /mnt/pfs
|
||
... | ... | |
mount -t null /mnt/pfs/usr.obj /mnt/usr/obj
|
||
# add root file system to /boot/loader.conf
|
||
echo 'vfs.root.mountfrom="hammer:ad0s1d"' >> /mnt/boot/loader.conf
|
||
#
|
||
# HAMMER2:
|
||
mount -t hammer2 /dev/ad0s1d /mnt
|
||
mkdir /mnt/boot
|
||
mount /dev/ad0s1a /mnt/boot
|
||
# Make a HAMMER2 pseudo file system for /build, and NULL mount directories
|
||
# under it.
|
||
# A PFS share all space in a HAMMER2 file system, but policy on how
|
||
# often to make snapshots, how long to keep them and general ability to
|
||
# delete them is per PFS.
|
||
#
|
||
hammer2 -s /mnt pfs-create BUILD
|
||
mkdir /mnt/build
|
||
mount -t hammer2 /dev/ad0s1d@BUILD /mnt/build
|
||
mkdir /mnt/build/var.cache
|
||
mkdir /mnt/build/var.crash
|
||
mkdir /mnt/build/var.spool
|
||
mkdir /mnt/build/var.log
|
||
mkdir /mnt/build/var.tmp
|
||
mkdir /mnt/build/usr.obj
|
||
mkdir /mnt/var
|
||
mkdir /mnt/var/cache
|
||
mkdir /mnt/var/crash
|
||
mkdir /mnt/var/spool
|
||
mkdir /mnt/var/log
|
||
mkdir /mnt/var/tmp
|
||
mkdir /usr
|
||
mkdir /usr/obj
|
||
mount -t null /mnt/build/var /mnt/var
|
||
mount -t null /mnt/build/var.cache /mnt/var/cache
|
||
mount -t null /mnt/build/var.crash /mnt/var/crash
|
||
mount -t null /mnt/build/var.log /mnt/var/log
|
||
mount -t null /mnt/build/var.spool /mnt/var/spool
|
||
mount -t null /mnt/build/var.tmp /mnt/var/tmp
|
||
mkdir /mnt/usr
|
||
mkdir /mnt/usr/obj
|
||
mount -t null /mnt/build/usr.obj /mnt/usr/obj
|
||
# add root file system to /boot/loader.conf
|
||
echo 'vfs.root.mountfrom="hammer2:ad0s1d"' >> /mnt/boot/loader.conf
|
||
# UFS & HAMMER:
|
||
# UFS, HAMMER & HAMMER2 :
|
||
# Copy the CD onto the target. cpdup won't cross mount boundaries
|
||
# on the source (e.g. the TMPFS remounts) or destination, so it takes
|
||
# a few commands.
|