# 18.2 树莓派 FreeBSD 使用

本章详细介绍树莓派上 FreeBSD 系统安装完成后的基本配置流程与使用方法，内容涵盖 SSH 远程登录、时区配置、时间同步机制以及系统监控等常用运维操作。

## SSH 登录方法

本节介绍树莓派 FreeBSD 系统的 SSH（安全外壳协议，Secure Shell）远程登录流程。使用 XShell 等终端模拟软件登录树莓派时，默认用户名和密码均为 `freebsd`。若需获取 root 权限进行系统管理操作，请在登录成功后执行 `su` 命令，并输入 root 用户的密码进行身份验证。

## 时区设置的重要性与方法

时区配置是系统初始化配置中的关键环节，正确的时区设置能够确保系统时间与本地时间保持一致，这对于日志记录、定时任务执行等功能至关重要。本节介绍系统时区的配置方法。

执行以下命令启动时区配置工具：

```sh
# tzsetup
```

在交互式配置界面中，依次选择以下选项：`No` → `5 Asia` → `9 China` → `1 Beijing Time`。当系统提示“Does the abbreviation CST look reasonable?”时，选择 `Yes` 确认配置。

## NTP 服务配置

完成时区配置后，需进一步配置系统时间同步机制，以确保系统时间的准确性。需要注意的是，树莓派 5 及此前的所有型号均未配备板载实时时钟（Real Time Clock，RTC）硬件模块，因此系统时间的维持完全依赖网络时间协议（Network Time Protocol，NTP）服务进行网络校时。若系统时间不准确，可能会影响 SSL/TLS 证书验证、日志时间戳准确性以及多项网络服务的正常运行。

在 `/etc/rc.conf` 文件中添加以下配置：

```ini
ntpd_enable="YES"               # 启用 NTP 守护进程
ntpdate_enable="YES"            # 启用系统启动时使用 ntpdate 同步时间
ntpdate_program="ntpdate"       # 指定使用的时间同步程序
ntpdate_flags="0.cn.pool.ntp.org"   # 指定 NTP 服务器地址
```

启动 `ntpdate` 服务以同步系统时间：

```sh
# service ntpdate start
```

查看当前系统日期和时间：

```sh
# date
Tue Aug  1 16:45:55 CST 2023
```

### 主机名配置

主机名是系统在网络环境中的标识符，设置具有语义化的主机名有助于网络管理和设备识别。本节介绍主机名的配置方法。在 `/etc/rc.conf` 配置文件中，可以修改 `hostname` 参数，例如将 `hostname="generic"` 中的 `generic` 替换为实际所需的主机名。

## 频率调节机制配置

合理配置 CPU 频率动态调节机制，可在计算性能与功耗之间取得平衡，有助于延长设备的使用寿命并降低运行能耗。本节介绍如何配置 CPU（中央处理器，Central Processing Unit）频率调节功能，其可调频率范围通常为 600 MHz 至 1500 MHz（具体取决于硬件型号）。

执行以下命令启用并配置 `powerd` 服务：

```sh
# sysrc powerd_enable="YES"     # 设置开机时启用 powerd 服务，以实现 CPU 频率的动态调节
# service powerd restart        # 重启 powerd 服务，使配置立即生效
```

## 温度信息查询方法

持续监控 CPU 温度有助于及时发现散热异常问题，避免因过热导致的硬件损坏或系统性能降频。本节介绍如何查询 CPU 温度信息。执行以下命令列出所有系统内核参数，并筛选出包含温度信息的条目：

```sh
# sysctl -a | grep temperature
hw.cpufreq.temperature: 50598
dev.cpu.0.temperature: 51.0C
```

若需要单独查看各个 CPU 核心的温度信息，可执行以下命令：

```sh
# sysctl dev.cpu | grep temperature
dev.cpu.0.temperature: 50.1C
```

## CPU 频率等级与当前频率

了解 CPU 当前的工作频率以及可用的频率等级，有助于评估系统的性能状态与功耗策略。本节介绍如何查询 CPU 频率相关信息。执行以下命令显示 CPU 核心 0 的可用频率等级列表：

```sh
# sysctl dev.cpu.0.freq_levels
dev.cpu.0.freq_levels: 2000/-1 600/-1
```

## htop 系统监控工具

### 安装与配置

htop 是一款功能丰富的交互式系统监控工具，能够以直观的方式实时显示系统资源使用情况。本节介绍 htop 的安装与配置方法。

**使用 pkg 二进制包管理器安装：**

```sh
# pkg install htop
```

**或使用 Port 从源码构建安装：**

```sh
# cd /usr/ports/sysutils/htop/ 
# make install clean
```

### htop 配置持久化

htop 的配置可通过界面或配置文件进行持久化设置。需注意：在默认配置下，使用 F10 保存后无法通过 `Ctrl + C` 退出，必须选择 `quit` 选项才能确保配置保存；此外，也可直接通过编辑配置文件进行设置。

编辑用户目录下的 `~/.config/htop/htoprc` 配置文件，添加以下内容以启用 CPU 频率和温度显示功能：

```ini
show_cpu_frequency=1     # 启用 CPU 当前频率显示
show_cpu_temperature=1   # 启用 CPU 温度显示
```

## 参考文献

* ioogithub. Settings are not saved\[EB/OL]. \[2026-03-25]. <https://github.com/htop-dev/htop/issues/949>. 讨论了 htop 配置保存的常见问题与解决方案。
* FreeBSD Project. FreeBSD/ARM on the Raspberry Pi family\[EB/OL]. \[2026-03-25]. <https://wiki.freebsd.org/arm/Raspberry%20Pi>. FreeBSD 官方 wiki 关于树莓派 ARM 架构支持的详细文档。
* FreeBSD 中文社区. Raspberry Pi 树莓派中文文档\[EB/OL]. \[2026-03-25]. <https://rpicn.bsdcn.org>. 是树莓派在 FreeBSD 上的安装、配置与使用指南。

## 课后习题

1. 查找 FreeBSD 电源管理机制的相关文档，重构树莓派 CPU 频率调节机制的最小配置脚本，完善树莓派在 FreeBSD 下的电源管理。
