树莓派3上的Plan9

树莓派3上的Plan9

July 2, 2024
RaspberryPi
Plan9, RaspberryPi, Raspi, UNIX, Rc, Git

Plan9 是贝尔实验室计算科学研究中心 (CSRC) 创建 UNIX 的同一小组的研究操作系统。它诞生于80年代,其早期开发与后来版本的 Research UNIX 的持续开发相吻合,下来讲一下如何把它安装在树莓派 3 中。

安装Plan9 #

安装 plan9 操作系统,需要一个至少 2GB 的MicroSD 卡。

需要以 root 身份登录才能运行以下命令:

检查MicroSD卡的名称:

fdisk -l

我的是 /dev/sdc

将SD卡格式化为FAT32:

mkfs.vfat -n 'Plan9' -I /dev/sdc

下载 plan9 映像并写入MicroSD卡,记得设置为你的设备名。国内下载地址9pi.img.gz

wget -O - https://9p.io/sources/contrib/miller/9pi.img.gz | \
  gunzip -c | dd bs=4M of=/dev/sdc status=progress

将制作好的MicroSD卡插入RaspberryPi,现在你已经准备好在树莓派上启动Plan9了。

树莓派使用Plan9 #

刚刚下载的 plan9 映像是完全可启动的映像,因此不需要进行安装操作。

启动树莓派,即可进入 Plan9 图形界面 rio。Rio 是一个极简主义的窗口管理器,它只是你在屏幕上绘制一堆矩形。

plan9rio

要使用 Plan9,您需要一个三键鼠标。按住右键,将鼠标悬停在New上并释放。再次按住右键,拖动一个足够大的矩形并松开。现在你就有了一个 shell,rc

下来检查互联网连接:

我正在使用以太网,wifi设备仅适用于像 9front 这样的 plan9 分支版。

ndb/dns # 启动 DNS 解析程序
ip/ipconfig # 使用 DHCP 配置接口并获取 IP 地址
ip/ping google.com # 检查互联网连接

rc中Ctrl+c快捷键无效, 使用Del键停止ping.

正如你所看到的,一些命令与UNIX的命令相似,但Plan9是一个完全不同的操作系统。你需要注意命名空间的概念,所有与 ip 相关的命令都在 ip/ 中,disk 在 disk/ 中,依此类推。

如果收到有关 dns 解析的错误,请尝试重新启动并运行 DNSSERVER=8.8.8.8,然后再执行上述命令。

现在让我们尝试使用 Web 浏览器。您在考虑 Chrome 吗?Firefox?不。Plan9 有自己的网络浏览器abaco

webfs # 启动处理 URL 的文件系统
abaco 'http://google.com/search?q=plan9'

abaco界面很丑,不支持css和js,但不影响一般使用。

重启系统后,上面的网络设置将会丢失,解决方法是将以上命令添加到 $home/lib/profile文件中即可

Plan9安装Git #

当前git并没有移植到 Plan9系统中,但David du Colombier编写了一个 rc 脚本来模仿原始的 git 命令,同过以下方法可以安装:

hget -o $home/bin/rc/git http://p9.pub/res/git
chmod +x $home/bin/rc/git

rc 脚本存储在$home/bin/rc目录中,并自动添加到/bin,因此您可以在全局系统中运行git。

Plan9安装Golang #

hget -o go1.10.tbz http://www.9legacy.org/download/go/go1.10-plan9-arm7-bootstrap.tbz
tar xvf go1.10.tbz && mv go-* go

# Go配置
mkdir -p gopath/bin
GOPATH=$home/gopath
GOBIN=$GOPATH/bin
GOROOT=$home/go
bind -a $GOROOT/bin /bin #将 Go bin文件追加到 /bin 条目的末尾
bind -a $GOBIN /bin

不要忘记将bindenvs添加到 $home/lib/profile

安装完Golang后检查下:

go env

参考资源

via https://mauri870.github.io/blog/posts/plan9-on-raspberry-pi-3/