freebsd:install:mfsbsd_zroot_install
Это старая версия документа!
Содержание
Ручная установка FreeBSD на ZFS mirror с использованием mfsbsd
Статья находиться в процессе написания!
Введение
Установка FreeBSD это довольно таки простая задача, и ее можно выполнить разными способами. В данной статье мы рассмотрим возможность удаленной установки при помощи ssh. Этот вариант я предпочитаю потому что, при установки системы на ZFS обычно приходится вводить очень много длинный команд и это гораздо проще сделать при помощи copy/paste.
Устанавливать будем на ZFS mirror. За основу взята статья Installing FreeBSD Root on ZFS using GPT.
Так же потребуется загрузочная флешка с mfsbsd
Установка
Загружаемся с mfsbsd, застраиваем сетевое подключение и логинемся по ssh
Разметка диска
Создаем схему GPT на обоих дисках
gpart create -s gpt ada0 gpart create -s gpt ada1
UEFI
gpart add -a 4k -s 800K -t efi ada0 gpart add -a 4k -s 800K -t efi ada1 gpart bootcode -p /boot/boot1.efifat -i 1 ada0 gpart bootcode -p /boot/boot1.efifat -i 1 ada1
Legacy
gpart add -b 40 -s 512k -t freebsd-boot ada0 gpart add -b 40 -s 512k -t freebsd-boot ada1 gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 ada0 gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 ada1
gpart add -a 1m -s 4G -t freebsd-swap -l swap0 ada0 gpart add -a 1m -t freebsd-zfs -l disk0 ada0 gpart add -a 1m -s 4G -t freebsd-swap -l swap1 ada1 gpart add -a 1m -t freebsd-zfs -l disk1 ada1
swapon /dev/gpt/swap0
Создание ZFS пула
zpool create -o cachefile=/boot/zfs/zpool.cache -o altroot=/mnt zroot /dev/gpt/disk0 /dev/gpt/disk1 zfs create -o mountpoint=none zroot/ROOT zfs create -o mountpoint=/ -o canmount=noauto -o quota=1G zroot/ROOT/default mount -t zfs zroot/ROOT/default /mnt zpool set bootfs=zroot/ROOT/default zroot
zfs set checksum=fletcher4 zroot
zfs create -o compression=on -o exec=on -o setuid=off -o mountpoint=/tmp -o quota=5G zroot/tmp
zfs create -o mountpoint=/usr -o quota=30G zroot/usr zfs create -o mountpoint=/usr/home zroot/home zfs create -o compression=lzjb -o setuid=off zroot/usr/ports zfs create -o compression=off -o exec=off -o setuid=off zroot/usr/ports/distfiles zfs create -o compression=off -o exec=off -o setuid=off zroot/usr/ports/packages zfs create -o compression=lzjb -o exec=off -o setuid=off zroot/usr/src
zfs create -o mountpoint=/var -o quota=10G zroot/var zfs create -o compression=lzjb -o exec=off -o setuid=off zroot/var/crash zfs create -o exec=off -o setuid=off zroot/var/db zfs create -o compression=lzjb -o exec=on -o setuid=off zroot/var/db/pkg zfs create -o exec=off -o setuid=off zroot/var/empty zfs create -o compression=lzjb -o exec=off -o setuid=off zroot/var/log zfs create -o compression=gzip -o exec=off -o setuid=off zroot/var/mail zfs create -o exec=off -o setuid=off zroot/var/run zfs create -o compression=lzjb -o exec=on -o setuid=off zroot/var/tmp
ln -s /usr/home /mnt/home chmod 1777 /mnt/tmp chmod 1777 /mnt/var/tmp
cd /tmp/ fetch http://ftp.ru.freebsd.org/pub/FreeBSD/releases/amd64/12.1-RELEASE/base.txz fetch http://ftp.ru.freebsd.org/pub/FreeBSD/releases/amd64/12.1-RELEASE/kernel.txz
cd /mnt tar xvJf /tmp/base.txz tar xvJf /tmp/kernel.txz rm /tmp/*.txz
echo 'zfs_load="YES" \ vfs.root.mountfrom="zfs:zroot/ROOT/default"' >> boot/loader.conf
echo 'zfs_enable="YES"\ hostname="tst"\ ifconfig_em0="DHCP"\ sshd_enable="YES"' > etc/rc.conf
cat > etc/fstab <<EOF /dev/gpt/swap0 none swap sw 0 0 /dev/gpt/swap1 none swap sw 0 0 EOF
chroot /mnt passwd pw useradd -n andrei -g wheel -d /usr/home/andrei -m -s /bin/sh passwd andrei exit
cp /boot/zfs/zpool.cache boot/zfs/ cd ~ zpool export zroot
reboot
freebsd/install/mfsbsd_zroot_install.1592826728.txt.gz · Последнее изменение: — andrei
