如何无显示器在树莓派上安装 NetBSD

0x00 Why

树莓派吃灰多年,总要用一下的( 然后作为 sdf.org 的用户却发现自己从来没有摸过 NetBSD,于是想自己本地装一个。 什么,你说虚拟机?

结果看了一下官方文档,默认安装方法是不能外部 ssh login 的…… 没有多余的显示器,瞬间抓狂了。然后突然想起来还可以用串行接口!

0x01 Get Started

你需要

这里以 Windows 系统作例子,使用软件为 XShell 6 + rufus。

0x02 Installation Process

镜像下载

首先去官网下载镜像包。在写这篇文章的时候,最新版本是 NetBSD 8。 根据 Wiki 的说明,你可以自己 Build,也可以使用官方的镜像,还可以使用 ebijun 的镜像。

为了省事,在这里直接使用官方镜像。

等一下,我们是不是忘了什么……

树莓派怎么连接电脑?!

连接电脑

根据资料来看,我们需要接线 Pin 6、Pin 8 和 Pin 10。

其中,接线对应以下:

Pin 6: GND -> GND
Pin 8: RXD -> TXD0
Pin 10: TXD -> RXD0

一般都是这样的?

之后,在设备管理器里把波特率设置为 115200。其它保持默认即可。

接下来,打开 XShell,新建一个 SERIAL 连接,在 连接 > SERIAL 里设置好即可为后续的连接做好准备。

写入镜像

我们在这里下载专门为树莓派 2B 打造的镜像。

随后直接用 rufus 写入就行啦!

最后准备

写入完成,不要慌!

因为我们是用串口连接,而官方镜像默认使用的是 HDMI 输出,所以我们需要挂载其中的 FAT32 分区,找到 cmdline.txt删去 console=fb。

接下来就可以插到树莓派上启动啦!第一次启动后将会重启一次,然后就可以登陆了。

0x03 References

0x04 Questions

genfb0 at obio0: switching to framebuffer console

如果显示以下内容的话,说明它”去另一个世界了”:

genfb0 at obio0: switching to framebuffer console

解决方法:上文说过了,要**删去 **console=fb。或者再加一行 fb=disabled ?

第一次开机出现 ntpd[772]: ntp_rlimit: Cannot set RLIMIT_STACK: Invalid argument

如果显示以下内容:

ntpd[772]: ntp_rlimit: Cannot set RLIMIT_STACK: Invalid argument

根据邮件列表,没有什么大碍(?

0x05 Other Unnecessary Notes

Raspberry Pi 1 uses "earmv6hf".
Raspberry Pi 2 uses "earmv7hf".
Raspberry Pi 3 uses "earmv7hf".

我到现在也没搞懂 earmv7hfeb 后面的这个 eb 是什么……


如果喜欢本文,欢迎点击下方的「鼓掌」按钮!

如果上面没有加载出任何东西,可以点击这里