在GPT盘的ZFS上安装FreeBSD8

在GPT盘的ZFS上安装FreeBSD8

本文参考了Installing FreeBSD Root on ZFS using GPT

通过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分区(计划通过md加载/tmp,所以在这里没有建立/tmp)

zfs create zroot/var
zfs create zroot/usr
zfs create zroot/home

安装系统

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

基础配置文件

/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"
tmpmfs="YES"
tmpsize="512M"
zfs_enable="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
exit

原文链接:http://wiki.freebsdchina.org/doc/z/8_gpt_zfs

发表评论

电子邮件地址不会被公开。 必填项已用*标注