Введение
Hetzner больше не предлагает систему восстановления FreeBSD. Для выделенных серверов с полной поддержкой UEFI существует руководство, показывающее, как установить FreeBSD с OpenZFS из системы восстановления Linux. Для старых серверов с минимальной поддержкой UEFI и требующих загрузки с устаревшей версией BIOS существует другой способ установки FreeBSD.
Предпосылки
- Выделенный сервер Hetzner загружен в режиме восстановления Linux с работающим доступом по SSH.
- Параметры конфигурации сети IPv6
Шаг 1 — Загрузите архив дистрибутива FreeBSD
Загрузите base.txz и kernel.txz из FreeBSD:
curl -O http://ftp2.de.freebsd.org/pub/FreeBSD/releases/amd64/14.0-RELEASE/base.txz
curl -O http://ftp2.de.freebsd.org/pub/FreeBSD/releases/amd64/14.0-RELEASE/kernel.txzШаг 2 — Загрузите контейнер виртуальной машины и установите mfsBSD
Для установки FreeBSD на системные диски мы используем виртуальную машину mfsBSD.
Загрузить образ ISO:
curl -O https://mfsbsd.vx.sk/files/iso/14/amd64/mfsbsd-14.0-RELEASE-amd64.isoШаг 3 — Запуск виртуальной машины mfsBSD из образа ISO
Диски сервера переносятся в виртуальную машину как устройства SCSI с помощью virtio.
В следующей команде замените /dev/nvme0n1 и /dev/nvme1n1 по мере необходимости:
qemu-system-x86_64 -net nic -net user,hostfwd=tcp::1022-:22 -m 2048M -enable-kvm \
-cpu host,+nx -M pc -smp 2 -vga std -k en-us \
-cdrom ./mfsbsd-14.0-RELEASE-amd64.iso \
-device virtio-scsi-pci,id=scsi0 \
-drive file=/dev/nvme0n1,if=none,format=raw,discard=unmap,aio=native,cache=none,id=n0 \
-device scsi-hd,drive=n0,bus=scsi0.0 \
-drive file=/dev/nvme1n1,if=none,format=raw,discard=unmap,aio=native,cache=none,id=n1 \
-device scsi-hd,drive=n1,bus=scsi0.0 \
-boot once=d -vnc 127.0.0.1:0,password=on -monitor stdioСлужба SSH внутри виртуальной машины доступна на порту 1022 системы восстановления.
Установите пароль VNC для разрешения доступа к VNC (необязательно)
Для подключения к VNC вам необходимо перенаправить порт 5900 с помощью SSH!
(qemu) set_password vnc mfsroot
(qemu) Шаг 4 — Копирование файлов дистрибутива на виртуальную машину
В корневой оболочке системы восстановления Linux выполните следующую команду:
scp -o Port=1022 base.txz kernel.txz root@localhost:Пароль root внутри виртуальной машины — mfsroot.
Шаг 5 — Войдите в виртуальную машину
Используйте SSH для входа в виртуальную машину из оболочки на спасательной системе:
ssh -p 1022 root@localhostПароль — mfsroot.
Проверьте, видны ли диски:
dmesg | grep QEMU
cd0: <QEMU QEMU DVD-ROM 2.5+> Removable CD-ROM SCSI device
da0: <QEMU QEMU HARDDISK 2.5+> Fixed Direct Access SPC-3 SCSI device
da1: <QEMU QEMU HARDDISK 2.5+> Fixed Direct Access SPC-3 SCSI deviceШаг 6 — Установка FreeBSD
Установите FreeBSD с помощью скрипта zfsinstall:
zfsinstall -d /dev/da0 -d /dev/da1 -r mirror -p zroot -s 16G -u .Это установит FreeBSD на пул ZFS zroot с использованием RAID-1 (зеркалирование) на обоих дисках с 16 ГБ пространства подкачки на каждом диске.
Корневая файловая система установленной FreeBSD смонтирована в /mnt. Поскольку мы используем текущую версию FreeBSD в виртуальной машине, теперь мы можем использовать chroot для настройки новой установки:
mount -t devfs devfs /mnt/dev
chroot /mntШаг 7 — Настройка FreeBSD
После того как мы использовали chroot для запуска оболочки в установленной среде FreeBSD, мы можем завершить настройку.
- Установить пароль root
passwd- Включить вход root с паролем
echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
echo "PasswordAuthentication yes" >> /etc/ssh/sshd_config- Задайте имя хоста и включите sshd и наш недавно созданный скрипт autodhcpd.
Создайте файл /etc/rc.conf со следующим содержимым:
cat << EOF > /etc/rc.conf
zfs_enable="YES"
hostname="myhost.mydomain"
sshd_enable="YES"
EOFШаг 8 — Настройка параметров сети
Если на вашем сервере используется сетевая карта RealTec, имя вашего интерфейса, скорее всего, re0. Если на сервере используется сетевая карта Intel, она называется em0 или igb0. Если вы сомневаетесь, воспользуйтесь Google, чтобы узнать, как называется ваша сетевая карта во FreeBSD.
Добавьте следующие строки в файл /etc/rc.conf:
cat <<EOF >>/etc/rc.conf
ifconfig_em0="192.168.0.2/27"
static_routes="gateway default"
route_gateway="-host 192.168.0.1 -interface em0"
route_default="default 192.168.0.1"
ifconfig_em0_ipv6="inet6 2a01:4f8:0:0::2/64"
ipv6_defaultrouter="fe80::1%em0"
EOFШаг 9 – Очистка
Выйдите из среды chroot и отмонтируйте файловые системы.
exit
sync
umount /mnt/dev
umount /mnt/var
umount /mnt/tmp
umount /mntВы можете завершить работу виртуальной машины QEMU или завершить процесс QEMU. После настройки всех компонентов можно перезапустить сервер на вашем дистрибутиве FreeBSD:
rebootРезультат
تبریک می گویم! شما اکنون یک نصب FreeBSD دارید که به پشتیبانی کامل UEFI نیاز ندارد.









