最近几天,我在Redmi Book Pro 14s
上安装了FreeBSD 14.1-RELEASE
,也算是体验了一把UNIX哲学,但因FreeBSD的驱动太过匮乏了,导致我的安装并不顺利,也就有了这篇文章
bhyve
bhyve,发音为“beehive”,是 FreeBSD 的虚拟机管理程序 / 虚拟机管理器,支持带有“POPCNT”(POPulation Count)功能的 Intel 和 AMD 处理器上的多种客户操作系统,以及在实验中支持 gic0:ARM Generic Interrupt Controller v3.0 功能的 ARM64/aarch64 处理器
bhyve 支持多种存储和网络后端、UEFI、FreeBSD 加载器和 GRUB 启动、PCI 直通 (PPT)、集成 VNC 和 9pfs 服务器以及更多功能
Wifibox
bhyve supports passing of host PCI devices to a virtual machine for its exclusive use of them.
Wifibox则是借助其PCI直通技术,部署了一个 Linux 客户机,借助 PCI 直通技术驱动 FreeBSD 主机系统上的无线网卡
Wifibox的日志位于/var/run/wifibox/appliance/log
,可以很方便地观察它的运行状态
配置
我的网卡是RTL8852be
,用ifconfig
查看只有一个设备,其ip为127.0.0.1
,若网卡在FreeBSD下有驱动支持,则需要额外禁用自带驱动
安装 Wifibox
- 因为安装需要网络,我们将数据线插入电脑,开启USB网络共享,用
ifconfig
查看是否识别到设备ue0
|
|
连接完后安装 Wifibox
|
|
- 用
pciconf -lv | less
查看设备,找到class
为network
的设备,并将其填写至/usr/local/etc/wifibox/bhyve.conf
|
|
比如我这里显示为0:1:0:0
,就将1/0/0
填写到/usr/local/etc/wifibox/bhyve.conf
的passthru=
中
- 在
/etc/rc.conf
中写入以下配置启用Wifibox
|
|
一些教程中会将以下两条配置也添加进/etc/rc.conf
,但在我的设备中会导致网络不可用
|
|
最后,将以下内容添加到/boot/loader.conf
|
|
- 使用 wpa_passphrase 生成网络配置
|
|
将配置复制到 Wifibox
|
|
-
这时候就应该重启了,但在我的网卡上,必须在启动时获取
Wifibox0
的ip,否则网络将无法工作
根据作者的方法,需要将/sbin/dhclient wifibox0
添加进/etc/rc.local
以解决此问题
总结
FreeBSD对无线网卡的支持尚不及Linux,通过wifibox能间接让FreeBSD吃上Linux的驱动,若想尝试FreeBSD但苦于没有驱动支持,可以尝试此项目
Last modified on 2024-08-08