Top > FreeBSD > Install FreeBSD 8.2-Release on pure ZFS (i386+512M)
celeron D 2.53Ghz + 512Mb のPCをサーバーにした時のまとめです
Install FreeBSD 8.2-RC3 on pure ZFSにほぼあるとおりですが
FreeBSD で ZFS を使う為の調整: uyota 匠の一手
以上のサイトを参考にさせていただいております
The FreeBSD Projectから必要なイメージをダウンロードします
celeron D 2.53Ghz なのでi386を選択
DVDからインストールするので、FreeBSD-8.2-RELEASE-i386-dvd1.iso.xzを解凍し".iso"をファイルを取り出してからDVDに書き込みます
".xz"の解凍は7z を使用します
DVDから起動すると通常のインストール画面になりますので環境に合わせて設定します
110 Japan を選択
Japanese 106 を選択
Fixit を選択
起動したメディアに合わせて、CDROM/DVDかUSBを選択
# dmesg | grep "[ad][ad][0-9]" ad0: 76319MB <WDC WD800BB-60JKC0 05.01C05> at ata0-master UDMA100 da0: <JetFlash Transcend 8G 1100> Removable Direct Access SCSI-0 device
# dd if=/dev/zero of=/dev/da0 count=1 bs=1m
# gpart create -s gpt /dev/da0
# gpart add -s 64k -t freebsd-boot da0
# gpart add -t freebsd-zfs -l usb0 da0
# gpart bootcode -b /mnt2/boot/pmbr -p /mnt2/boot/gptzfsboot -i 1 da0
# gpart show da0 => 34 15826877 da0 GPT (7.5G) 34 128 1 freebsd-boot (64K) 162 15826749 2 freebsd-zfs (7.5G)
# kldload /mnt2/boot/kernel/opensolaris.ko # kldload /mnt2/boot/kernel/zfs.ko
# mkdir /boot/zfs
# zpool create tank0 gpt/usb0
# zfs set checksum=fletcher4 tank0
# zfs set atime=off tank0
# zfs set mountpoint=legacy tank0
# zfs create tank0/system # zfs create tank0/system/sysroot # zfs create tank0/system/tmp # zfs create tank0/system/usr # zfs create tank0/system/var # zfs create tank0/system/var/crash # zfs create tank0/system/var/db # zfs create tank0/system/var/db/pkg # zfs create tank0/system/var/empty # zfs create tank0/system/var/log # zfs create tank0/system/var/mail # zfs create tank0/system/var/run # zfs create tank0/system/var/tmp # zfs create tank0/src # zfs create tank0/ports # zfs create tank0/home
# zfs set compression=gzip tank0/system/var/crash # zfs set compression=gzip tank0/system/var/db/pkg # zfs set compression=gzip tank0/system/var/log # zfs set compression=gzip tank0/system/var/mail # zfs set compression=gzip tank0/system/var/tmp # zfs set compression=gzip tank0/src # zfs set compression=gzip tank0/ports
# zfs set exec=off tank0/system/var/crash # zfs set exec=off tank0/system/var/db # zfs set exec=off tank0/system/var/empty # zfs set exec=off tank0/system/var/log # zfs set exec=off tank0/system/var/mail # zfs set exec=off tank0/src
# zfs set setuid=off tank0/system/var/crash # zfs set setuid=off tank0/system/var/db # zfs set setuid=off tank0/system/var/db/pkg # zfs set setuid=off tank0/system/var/empty # zfs set setuid=off tank0/system/var/log # zfs set setuid=off tank0/system/var/mail # zfs set setuid=off tank0/system/var/tmp # zfs set setuid=off tank0/src # zfs set setuid=off tank0/ports
# zpool set bootfs=tank0/system/sysroot tank0
# mkdir /t # mount -t zfs tank0/system/sysroot /t # mkdir /t/tmp # chmod 1777 /tmp # mount -t zfs tank0/system/tmp /t/tmp # chmod 1777 /t/tmp # mkdir /t/usr # mount -t zfs tank0/system/usr /t/usr # mkdir /t/usr/home # mount -t zfs tank0/home /t/home # ln -s /home /t/usr/home # mkdir /t/usr/ports # mount -t zfs tank0/ports /t/usr/ports # mkdir /t/usr/src # mount -t zfs tank0/src /t/usr/src # mkdir /t/var # mount -t zfs tank0/system/var /t/var # mkdir /t/var/crash # mount -t zfs tank0/system/var/crash /t/var/crash # mkdir /t/var/db # mount -t zfs tank0/system/var/db /t/var/db # mkdir /t/var/db/pkg # mount -t zfs tank0/system/var/db/pkg /t/var/db/pkg # mkdir /t/var/empty # mount -t zfs tank0/system/var/empty /t/var/empty # mkdir /t/var/log # mount -t zfs tank0/system/var/log /t/var/log # mkdir /t/var/mail # mount -t zfs tank0/system/var/mail /t/var/mail # mkdir /t/var/run # mount -t zfs tank0/system/var/run /t/var/run # mkdir /t/var/tmp # mount -t zfs tank0/system/var/tmp /t/var/tmp # chmod 1777 /t/var/tmp
構成は "minimal" + ports + src にしています
# cd /dist/8.2-* # export DESTDIR=/t
# cd base # ./install.sh
# cd ../src # ./install.sh all
# cd ../ports # ./install.sh
# cd ../kernels # ./install.sh generic # cd /t/boot ; cp -Rlp GENERIC/* /t/boot/kernel/
# zfs set readonly=on tank0/system/var/empty
# chroot /t
# Device Mountpoint FStype Options Dump Pass # tank0/system/usr /usr zfs rw 0 0 tank0/system/var /var zfs rw 0 0 tank0/system/var/crash /var/crash zfs rw 0 0 tank0/system/var/db /var/db zfs rw 0 0 tank0/system/var/db/pkg /var/db/pkg zfs rw 0 0 tank0/system/var/empty /var/empty zfs ro 0 0 tank0/system/var/log /var/log zfs rw 0 0 tank0/system/var/mail /var/mail zfs rw 0 0 tank0/system/var/run /var/run zfs rw 0 0 tank0/system/var/tmp /var/tmp zfs rw 0 0 tank0/system/tmp /tmp zfs rw 0 0 tank0/src /usr/src zfs rw 0 0
echo 'zfs_enable="YES"' >> /etc/rc.conf echo 'hostname="zfsroot.localdomain"' >> /etc/rc.conf echo 'ifconfig_bge0="DHCP"' >> /etc/rc.conf echo 'keymap="jp.106"' >> /etc/rc.conf echo 'clear_tmp_enable="YES"' >> /etc/rc.conf
echo 'kern.cam.boot_delay=10000' >> /boot/loader.conf echo 'zfs_load="YES"' >> /boot/loader.conf echo 'vfs.root.mountfrom="zfs:tank0/system/sysroot"' >> /boot/loader.conf
echo 'vfs.zfs.prefetch_disable=1' >> /boot/loader.conf echo 'vm.kmem_size="256M"' >> /boot/loader.conf echo 'vm.kmem_size_max="256M"' >> /boot/loader.conf echo 'vfs.zfs.arc_max="30M"' >> /boot/loader.conf echo 'vfs.zfs.vdev.cache.size="5M"' >> /boot/loader.conf
# tzsetup Asiaを選択 Japanを選択
# cd /etc/mail # make aliases
# exit
再作成 # mkdir /boot/zfs; zfs export tank0; zfs import tank0 コピー # cp /boot/zfs/zpool.cache /t/boot/zfs/zpool.cache
# exit
# zfs set mountpoint=/home tank0/home