Ray-D-Song's Blog

没有显示器如何初始化并连接 Linux 服务器和开发板

2025-1-30 4min

系统烧录

最近入手了一个香橙派zero3,但手头没有可以连接显示器的mini HDMI线材,所以需要在烧录系统后开启 ssh 功能并直接写入客户端设备的密钥。

首先正常烧录系统,balenaEtcherRaspberry Pi Imager都可以烧录自定义镜像。
我选择Raspberry Pi Imager,因为他比balenaEtcher 更轻量。

macOS 独有的问题

烧录成功后,如果你是 macOS 系统,会提示「此电脑不能读取你连接的磁盘。」,这是因为 macOS 原生不支持 ext4 文件格式,先点击忽略。
虽然你可能会惊讶,但这个问题在 Mac 上一直没有好的解决方案。
可用的方法包括:

这三种方案都不是很优雅,我推荐第一个,直接使用开源且免费的 UTM 虚拟机跑 Linux。

配置开机自动连接 WiFi

首先配置WiFi连接,需要编辑/etc/wpa_supplicant/wpa_supplicant.conf文件:

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=CN

network={
    ssid="你的WiFi名称"
    psk="你的WiFi密码"
    key_mgmt=WPA-PSK
}

接下来确保WiFi服务开机自启,编辑 /etc/network/interfaces 文件:

auto lo
iface lo inet loopback

auto wlan0
allow-hotplug wlan0
iface wlan0 inet dhcp
    wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
  1. 确保将上面配置中的 你的WiFi名称 和 你的WiFi密码 替换为实际的值
  2. WiFi接口名可能不是 wlan0,某些设备可能是 wlan1 或其他名称,你需要确认实际的接口名
  3. country=CN 是设置国家代码,这会影响到可用的WiFi频道

配置 ssh

大多数 Linux 发行版默认已经安装了 ssh 服务。
首先,确保SSH服务开机自启动,检查并编辑/etc/systemd/system/multi-user.target.wants/目录下是否有 ssh.service 的软链接。如果没有,你可以手动创建:

# 在SD卡中找到这个目录,创建软链接
ln -s /lib/systemd/system/ssh.service /etc/systemd/system/multi-user.target.wants/ssh.service

检查/etc/ssh/sshd_config文件,确保以下设置:

Port 22
PermitRootLogin yes
PasswordAuthentication yes

你还可以在SD卡的根目录创建一个名为ssh的空文件,在很多嵌入式Linux系统中这代表开机启动ssh服务。

touch ssh

ssh连接

接下来你可以通过路由器管理界面、命令行工具(arp -a)、Angry Ip Scanner 等方法获取开发板的内网ip,使用ssh命令连接。

ssh [email protected]

root 用户的密码一般会有一个默认值,比如armbian的默认密码是1234,香橙派是orangepi,树莓派的默认用户是pi密码raspberry。
具体可以参照系统的官方文档。