通过DVD或者Memstick启动,选择Fixit。
硬盘gpt分区
创建gpt盘
gpart create -s gpt ad0
创建引导区
gpart add -s 64K -t freebsd-boot ad0
创建swap分区(标记label,避免将来硬盘接口改变导致无法识别)
gpart add -s 8G -t freebsd-swap -l swap0 ad0
创建用于zfs的分区
gpart add -t freebsd-zfs ad0
写入freebsd的zfs引导
gpart bootcode -b /mnt2/boot/pmbr -p /mnt2/boot/gptzfsboot -i 1 ad0
创建zpool
加载zfs模块
kldload /mnt2/boot/kernel/opensolaris.ko kldload /mnt2/boot/kernel/zfs.ko
创建zpool
mkdir /boot/zfs zpool create zroot ad0p3 zpool set bootfs=zroot zroot
创建zfs分区
zfs create zroot/var zfs create zroot/usr zfs create zroot/home zfs create zroot/tmp chmod 1777 /zroot/tmp
安装系统
export DESTDIR="/zroot"
cd /dist/8.*
cd base && ./install.sh
cd ../lib32 && ./install.sh
cd ../manpages && ./install.sh
cd ../src && ./install.sh all
cd ../kernels && ./install.sh generic
cp -Rlpv /zroot/boot/GENERIC/* /zroot/boot/kernel/
配置基础系统和zfs引导配置
chroot /zroot
基础配置文件
chroot /zroot
基础配置文件
编辑/etc/src.conf
LOADER_ZFS_SUPPORT=YES
编辑/boot/loader.conf
zfs_load="YES" vfs.root.mountfrom="zfs:zroot" vfs.root.mountfrom.options="rw" vfs.zfs.prefetch_disable=0
编辑/etc/rc.conf
hostname="gptzfsboot.freebsd.org" defaultrouter="10.0.0.1" ifconfig_re0="inet 10.0.0.1 netmask 255.255.255.0" zfs_enable="YES" sshd_enble="YES"
编辑/etc/resolv.conf
nameserver 8.8.8.8
编辑/etc/fstab
/dev/gpt/swap0 none swap sw 0 0
编译安装支持zfs的bootloader
mount -t devfs devfs /dev
export DESTDIR=""
cd /usr/src/sys/boot/
make obj && make depend && make
cd i386/loader
make install
基础的设置命令
passwd
tzsetup
cd /etc/mail && make aliases
退出chroot
umount /dev
exit
完成安装
cp /boot/zfs/zpool.cache /zroot/boot/zfs/
export LD_LIBRARY_PATH=/mnt2/lib
zfs unmount -a
zfs set mountpoint=legacy zroot
zfs set mountpoint=/usr zroot/usr
zfs set mountpoint=/var zroot/var
zfs set mountpoint=/home zroot/home
zfs set mountpoint=/tmp zroot/tmp
exit
passwd
tzsetup
cd /etc/mail && make aliases
退出chroot
umount /dev
exit
完成安装
cp /boot/zfs/zpool.cache /zroot/boot/zfs/
export LD_LIBRARY_PATH=/mnt2/lib
zfs unmount -a
zfs set mountpoint=legacy zroot
zfs set mountpoint=/usr zroot/usr
zfs set mountpoint=/var zroot/var
zfs set mountpoint=/home zroot/home
zfs set mountpoint=/tmp zroot/tmp
exit
cp /boot/zfs/zpool.cache /zroot/boot/zfs/ export LD_LIBRARY_PATH=/mnt2/lib zfs unmount -a zfs set mountpoint=legacy zroot zfs set mountpoint=/usr zroot/usr zfs set mountpoint=/var zroot/var zfs set mountpoint=/home zroot/home zfs set mountpoint=/tmp zroot/tmp exit