前項でファイルシステム構築済みであること。
# zfs list NAME USED AVAIL REFER MOUNTPOINT tank 16.0G 897G 21K legacy tank/home 21K 897G 21K legacy tank/ports 63K 897G 21K legacy tank/ports/distfiles 21K 897G 21K legacy tank/ports/packages 21K 897G 21K legacy tank/src 21K 897G 21K legacy tank/swap 16G 913G 16K - zroot 366K 46.8G 21K legacy zroot/system 210K 46.8G 21K legacy zroot/system/sysroot 21K 46.8G 21K legacy zroot/system/usr 21K 46.8G 21K legacy zroot/system/var 147K 46.8G 21K legacy zroot/system/var/crash 21K 46.8G 21K legacy zroot/system/var/db 42K 46.8G 21K legacy zroot/system/var/db/pkg 21K 46.8G 21K legacy zroot/system/var/empty 21K 46.8G 21K legacy zroot/system/var/mail 21K 46.8G 21K legacy zroot/system/var/run 21K 46.8G 21K legacy
# zfs list NAME USED AVAIL REFER MOUNTPOINT zroot 8.00G 905G 21K legacy zroot/home 21K 905G 21K legacy zroot/ports 63K 905G 21K legacy zroot/ports/distfiles 21K 905G 21K legacy zroot/ports/packages 21K 905G 21K legacy zroot/src 21K 905G 21K legacy zroot/swap 8G 913G 16K - zroot/system 252K 905G 21K legacy zroot/system/sysroot 21K 905G 21K legacy zroot/system/usr 21K 905G 21K legacy zroot/system/var 189K 905G 21K legacy zroot/system/var/crash 21K 905G 21K legacy zroot/system/var/db 42K 905G 21K legacy zroot/system/var/db/pkg 21K 905G 21K legacy zroot/system/var/empty 21K 905G 21K legacy zroot/system/var/log 21K 905G 21K legacy zroot/system/var/mail 21K 905G 21K legacy zroot/system/var/run 21K 905G 21K legacy zroot/system/var/tmp 21K 905G 21K legacy
# mkdir /t # mount -t zfs zroot/system/sysroot /t # cd /t # ls # mkdir /t/tmp # chmod 1777 /t/tmp # ls tmp # mkdir /t/usr # mount -t zfs zroot/system/usr /t/usr # ls tmp usr # mkdir /t/usr/home # mount -t zfs tank/home /t/usr/home # ln -s /t/usr/home /t/home # ls home tmp usr # mkdir /t/usr/ports # mount -t zfs tank/ports /t/usr/ports # mkdir /t/usr/ports/distfiles # mount -t zfs tank/ports/distfiles /t/usr/ports/distfiles # mkdir /t/usr/ports/packages # mount -t zfs tank/ports/packages /t/usr/ports/packages # mkdir /t/usr/src # mount -t zfs tank/src /t/usr/src # mkdir /t/var # mount -t zfs zroot/system/var /t/var # mkdir /t/var/crash # mount -t zfs zroot/system/var/crash /t/var/crash # mkdir /t/var/db # mount -t zfs zroot/system/var/db /t/var/db # mkdir /t/var/db/pkg # mount -t zfs zroot/system/var/db/pkg /t/var/db/pkg # mkdir /t/var/empty # mount -t zfs zroot/system/var/empty /t/var/empty # mkdir /t/var/mail # mount -t zfs zroot/system/var/mail /t/var/mail # mkdir /t/var/run # mount -t zfs zroot/system/var/run /t/var/run # mkdir /t/var/tmp # mount -t zfs zroot/system/var/tmp /t/var/tmp # chmod 1777 /t/var/tmp # mkdir /t/var/log
# mkdir /t # mount -t zfs zroot/system/sysroot /t # cd /t # ls # mkdir /t/tmp # chmod 1777 /t/tmp # ls tmp # mkdir /t/usr # mount -t zfs zroot/system/usr /t/usr # ls tmp usr # mkdir /t/usr/home # mount -t zfs zroot/home /t/usr/home # ln -s /t/usr/home /t/home # ls home tmp usr # mkdir /t/usr/ports # mount -t zfs zroot/ports /t/usr/ports # mkdir /t/usr/ports/distfiles # mount -t zfs zroot/ports/distfiles /t/usr/ports/distfiles # mkdir /t/usr/ports/packages # mount -t zfs zroot/ports/packages /t/usr/ports/packages # mkdir /t/usr/src # mount -t zfs zroot/src /t/usr/src # mkdir /t/var # mount -t zfs zroot/system/var /t/var # mkdir /t/var/crash # mount -t zfs zroot/system/var/crash /t/var/crash # mkdir /t/var/db # mount -t zfs zroot/system/var/db /t/var/db # mkdir /t/var/db/pkg # mount -t zfs zroot/system/var/db/pkg /t/var/db/pkg # mkdir /t/var/empty # mount -t zfs zroot/system/var/empty /t/var/empty # mkdir /t/var/log # mount -t zfs zroot/system/var/log /t/var/log # mkdir /t/var/mail # mount -t zfs zroot/system/var/mail /t/var/mail # mkdir /t/var/run # mount -t zfs zroot/system/var/run /t/var/run # mkdir /t/var/tmp # mount -t zfs zroot/system/var/tmp /t/var/tmp # chmod 1777 /t/var/tmp
# cd /8.2-* # setenv DESTDIR '/t'
# cd /8.2-* # setenv DESTDIR '/t' # env USER=root LOGNAME=root HOME=/root MAIL=/var/mail/root PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/root/bin TERM=xterm FTP_PASSIVE_MODE=YES BLOCKSIZE=K SHELL=/bin/csh SSH_CLIENT=192.168.xxx.xxx 1461 22 SSH_CONNECTION=192.168.xxx.xxx 1461 192.168.xxx.xxx 22 SSH_TTY=/dev/pts/0 HOSTTYPE=FreeBSD VENDOR=unknown OSTYPE=FreeBSD MACHTYPE=unknown SHLVL=1 PWD=/8.2-RELEASE GROUP=wheel HOST= REMOTEHOST=192.168.xxx.xxx EDITOR=vi PAGER=more DESTDIR=/t
# cd base/ # ./install.sh You are about to extract the base distribution into /t - are you SURE you want to do this over your installed system (y/n)? y # cd ../catpages/ # ./install.sh # cd ../dict/ # ./install.sh # cd ../doc/ # ./install.sh You are about to extract the doc distribution into /t - are you SURE you want to do this over your installed system (y/n)? y # cd ../info/ # ./install.sh # cd ../lib32/ # ./install.sh # cd ../manpages/ # ./install.sh # cd ../ports/ # ./install.sh Extracting ports tarball into /t/usr # cd ../proflibs/ # ./install.sh # cd ../src/ # ./install.sh all Extracting sources into /t/usr/src... Extracting source component: base Extracting source component: bin Extracting source component: cddl Extracting source component: contrib Extracting source component: crypto Extracting source component: etc Extracting source component: games Extracting source component: gnu Extracting source component: include Extracting source component: krb5 Extracting source component: lib Extracting source component: libexec Extracting source component: release Extracting source component: rescue Extracting source component: sbin Extracting source component: secure Extracting source component: share Extracting source component: sys Extracting source component: tools Extracting source component: ubin Extracting source component: usbin Done extracting sources. # cd ../kernels/ # ./install.sh generic # cd /t/boot/ # cp -Rlp GENERIC/* kernel/
# ls base catpages dict doc games info kernels lib32 manpages ports proflibs src # cd base # ./install.sh You are about to extract the base distribution into /t - are you SURE you want to do this over your installed system (y/n)? y # cd ../catpages/ # ./install.sh # cd ../dict/ # ./install.sh # cd ../doc/ # ./install.sh You are about to extract the doc distribution into /t - are you SURE you want to do this over your installed system (y/n)? y # cd ../info/ # ./install.sh # cd ../lib32/ # ./install.sh # cd ../manpages/ # ./install.sh # cd ../ports/ # ./install.sh Extracting ports tarball into /t/usr # cd ../proflibs/ # ./install.sh # cd ../src/ # ./install.sh all Extracting sources into /t/usr/src... Extracting source component: base Extracting source component: bin Extracting source component: cddl Extracting source component: contrib Extracting source component: crypto Extracting source component: etc Extracting source component: games Extracting source component: gnu Extracting source component: include Extracting source component: krb5 Extracting source component: lib Extracting source component: libexec Extracting source component: release Extracting source component: rescue Extracting source component: sbin Extracting source component: secure Extracting source component: share Extracting source component: sys Extracting source component: tools Extracting source component: ubin Extracting source component: usbin Done extracting sources. # cd ../kernels/ # ./install.sh generic # cd /t/boot/ # cp -Rlp GENERIC/* kernel/
# zfs set readonly=on zroot/system/var/empty
# zfs set readonly=on zroot/system/var/empty
予め、最低限の設定を施す。
# chroot /t
# chroot /t
# Device Mountpoint FStype Options Dump Pass# zroot/system/usr /usr zfs rw 0 0 zroot/system/var /var zfs rw 0 0 zroot/system/var/crash /var/crash zfs rw 0 0 zroot/system/var/db /var/db zfs rw 0 0 zroot/system/var/db/pkg /var/db/pkg zfs rw 0 0 zroot/system/var/empty /var/empty zfs ro 0 0 zroot/system/var/mail /var/mail zfs rw 0 0 zroot/system/var/run /var/run zfs rw 0 0 zroot/system/var/tmp /var/tmp zfs rw 0 0 tmpfs /tmp tmpfs rw,mode=1777,size=1073741824 0 0 tmpfs /var/log tmpfs rw,size=1073741824 0 0 #tmpfs /ports/tmp tmpfs rw,size=1073741824 0 0 tank/ports /usr/ports zfs rw 0 0 tank/ports/distfiles /usr/ports/distfiles zfs rw 0 0 tank/ports/packages /usr/ports/packages zfs rw 0 0 tank/src /usr/src zfs rw 0 0
# Device Mountpoint FStype Options Dump Pass# zroot/system/usr /usr zfs rw 0 0 zroot/system/var /var zfs rw 0 0 zroot/system/var/crash /var/crash zfs rw 0 0 zroot/system/var/db /var/db zfs rw 0 0 zroot/system/var/db/pkg /var/db/pkg zfs rw 0 0 zroot/system/var/empty /var/empty zfs ro 0 0 zroot/system/var/log /var/log zfs rw 0 0 zroot/system/var/mail /var/mail zfs rw 0 0 zroot/system/var/run /var/run zfs rw 0 0 zroot/system/var/tmp /var/tmp zfs rw 0 0 tmpfs /tmp tmpfs rw,mode=1777,size=1073741824 0 0 #tmpfs /ports/tmp tmpfs rw,size=1073741824 0 0 zroot/ports /usr/ports zfs rw 0 0 zroot/ports/distfiles /usr/ports/distfiles zfs rw 0 0 zroot/ports/packages /usr/ports/packages zfs rw 0 0 zroot/src /usr/src zfs rw 0 0
zfs_enable="YES" ifconfig_re0="inet 192.168.xxx.xxx netmask 255.255.255.0" defaultrouter="192.168.xxx.xxx" hostname="example.local" keymap="jp.106" powerd_enable="YES" powerd_flags="-a hiadaptive -b minimum -n hiadaptive" dumpdev="NO" sshd_enable="YES"
zfs_enable="YES" ifconfig_rl0="inet 192.168.xxx.xxx netmask 255.255.255.0" defaultrouter="192.168.xxx.xxx" hostname="example.local" keymap="jp.106" powerd_enable="YES" powerd_flags="-a hiadaptive -b minimum -n hiadaptive" dumpdev="NO" sshd_enable="YES"
ahci_load="YES" zfs_load="YES" vfs.root.mountfrom="zfs:zroot/system/sysroot"
ahci_load="YES" zfs_load="YES" vfs.root.mountfrom="zfs:zroot/system/sysroot" # For ZFS vm.kmem_size="1536M" vm.kmem_size_max="15360M" vfs.zfs.arc_max="3584M"
PermitRootLogin yes
PermitRootLogin yes
passwd, tzsetupでrootのパスワード・タイムゾーンの設定も忘れずに!
# cd /etc/mail && make aliases
# exit
# cp /boot/zfs/zpool.cache /t/boot/zfs/zpool.cache
# cp /boot/zfs/zpool.cache /t/boot/zfs/zpool.cache
# zfs set mountpoint=/usr/home tank/home
Done.