通过 Linux 救援系统在旧专用服务器上安装 FreeBSD

0 股票
0
0
0
0

介绍

Hetzner 已不再提供 FreeBSD 救援系统。对于完全支持 UEFI 的专用服务器,有一个教程演示了如何从 Linux 救援系统安装带有 OpenZFS 的 FreeBSD。对于仅支持最低限度 UEFI 且需要传统 BIOS 启动的旧服务器,还有另一种安装 FreeBSD 的方法。.

先决条件
  • Hetzner专用服务器已启动进入Linux救援模式,SSH访问正常。.
  • IPv6 网络配置参数

步骤 1 – 下载 FreeBSD 发行版归档文件

从 FreeBSD 下载 base.txz 和 kernel.txz:

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

我们使用 mfsBSD 虚拟机在系统驱动器上安装 FreeBSD。.

下载 ISO 镜像文件:

curl -O https://mfsbsd.vx.sk/files/iso/14/amd64/mfsbsd-14.0-RELEASE-amd64.iso

步骤 3 – 从 ISO 镜像启动 mfsBSD 虚拟机

服务器磁盘通过 virtio 作为 SCSI 设备传输到虚拟机。.

在以下命令中,根据需要替换 /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,您需要使用 SSH 转发端口 5900!

(qemu) set_password vnc mfsroot
(qemu) 

步骤 4 – 将分发文件复制到虚拟机

在 Linux 救援系统 root shell 中,运行以下命令:

scp -o Port=1022 base.txz kernel.txz root@localhost:

虚拟机内部的 root 密码是 mfsroot。.

步骤 5 – 登录虚拟机

使用 SSH 从救援系统的 shell 登录到虚拟机:

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

使用 zfsinstall 脚本安装 FreeBSD:

zfsinstall -d /dev/da0 -d /dev/da1 -r mirror -p zroot -s 16G -u .

这将使用 RAID-1(镜像)在 ZFS 池 zroot 上安装 FreeBSD,每个磁盘上都有 16GB 的交换空间。.

已安装的 FreeBSD 根文件系统挂载在 /mnt 上。由于我们是在虚拟机中运行当前版本的 FreeBSD,因此现在可以使用 chroot 来配置新安装:

mount -t devfs devfs /mnt/dev
chroot /mnt

步骤 7 – 配置 FreeBSD

一旦我们使用 chroot 在已安装的 FreeBSD 环境中运行 shell,我们就可以完成配置了。.

  • 设置根密码
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 نیاز ندارد.
发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

您可能也喜欢