前言说明:
树莓派就是一块使用 ARM 芯片的开发板,就是一块接口丰富( HDMI 、I2C 、USB X 4 、POE 模块等等)的电路板,相当于配置较低的手机,手机能做的事情,树莓派都能做。一般用于嵌入式开发,比如机器人,路由器和监控等等。
FreeBSD 对架构的支持是按照等级划分的,ARM 属于二级架构,所以软件支持上不如 AMD64,一些软件无法通过 ports 以源码的形式进行编译,比如编译 X11/xorg 就会遇到很多错误(已经报告 bug 列表)。
树莓派 3B+是目前配置比较高的型号,由于 FreeBSD 的 SDIO 驱动并未完全支持,所以板载的蓝牙和 WIFI 均无法使用(可购买无线网卡,推荐 16 块钱的 COMFAST CF-WU810N )。
自树莓派 3B+开始,无需任何改动,系统即可从 U 盘启动,我测试了 FreeBSD12/13 都是支持的,但是速度非常慢,一方面树莓派使用 USB2.0 极大的限制的总线速度,另一方面可能是玄学问题。(我人丑?我用的是东芝( TOSHIBA ) 64GB USB3.0 U 盘 U364 高速迷你车载 U 盘),因此不建议使用 U 盘启动。
材料准备:
- 树莓派 3B+板子一块
- 存储卡一枚
- FreeBSD 13 镜像
- USB无线网卡 COMFAST CF-WU810N
镜像下载地址:
备用镜像地址:
https://mirrors.huaweicloud.com/freebsd/snapshots/ISO-IMAGES/13.0
操作步骤:
(1):镜像下载后解压缩,使用 rufus 刻录。
(2):插入网线,将存储卡插入树莓派,通电等待约五分钟,查看路由器后台获取 IP 。
(3):使用 XShell 即可登录树莓派。用户名密码均为 freebsd 。root 需要登录后输入 su,密码为 root 。可通过更改/etc/ssh/sshd_config文件来开启 root 账户的 ssh 远程登录权限。
编辑 /etc/sh/sshd_config (注意是 sshd 不是 ssh !这是两个文件),修改或者加入
PermitRootLogin yes #允许 root 登录
PasswordAuthentication yes # 设置是否使用口令验证。
(也可以把对应行前面的注释#去掉,注意 PermitRootLogin 一行默认是 no,去掉后要改成 yes 。即 PermitRootLogin yes )。
然后重启服务:
server sshd restart
(4):设置时间
树莓派没有板载的纽扣电池确保 CMOS 时钟准确。所以完全依靠 NTP 服务来校正时间,如果时间不准确,将影响很多服务的运行,比如无法执行 portsnap fetch 命令。
在 /etc/rc.conf 中加入
ntpd_enable="YES"
ntpdate_enable="YES"
ntpdate_program="ntpdate"
ntpdate_flags="0.cn.pool.ntp.org"
(5):开启时间服务器:
server ntpdate start
输入 date 查看时间,完成校时。我国使用 UTC+8 北京时,虽然不更改不会影响软件使用,但看起来不方便,可通过 bsdconfig 命令将地区调整到亚洲 /中国 /上海。
树莓派应该会自动接通互联网,所以不必考虑联网问题。
(6):自动连接WiFi功能
/boot/loader.conf 中写入
rtwn_usb_load="YES"
legal.realtek.license_ack=1
在 /etc/rc.conf 中写入
wlans_rtwn0="wlan0"
ifconfig_wlan0="WPA DHCP"
注意在 /etc/wpa_supplicant.conf 文件中(没有就自己通 touch 命令新建一个)写入
network={ ssid="wifi 名字,别搞什么中文" psk="密码" }
保存重启即可。能够实现开机自动连接 wifi 。
(7)安装GUI
pkg install xorg mate
默认 HDMI 是可以直接输出的无需调整,对于一般 linux 所使用的参数,freebsd 也同样支持,比如超频。文件位置,改动也相同