开发者将 NetBSD 11 桌面系统装进树莓派 4
来源标题:NetBSD 11 desktop on a Raspberry Pi 4
一位开发者成功在 Raspberry Pi 4 上安装并运行 NetBSD 11 桌面系统,并公开了操作指南。步骤包括下载 NetBSD arm64 镜像、使用 Balena Etcher 写入 microSD 卡,以及准备树莓派 UEFI 固件。作者称 NetBSD 是目前唯一不含 AI 生成内容的主流开源系统。
以下正文由 AI 翻译自 Hacker News 最新(原文版权归原站所有),可能存在偏差,重要内容请以原文为准。
既然我把这个 capsule 迁到了 VPS 上,我的 Raspberry Pi 就空出来可以另作他用了。据我所知,NetBSD 是唯一一个还在开发、却没有掺入 AI 垃圾的开源操作系统。至少目前是这样?我决定试一试,把它装到 Pi 上。能有多难呢?结果发现,还真不算难。我把自己操作的步骤写成了一份小指南,也许能帮到别人。
我假设你是在 Linux 上为 Pi 准备 SD 卡。 https://nycdn.netbsd.org/pub/NetBSD-daily/netbsd-11/latest/evbarm-aarch64/binary/gzimg/arm64.img.gz 获取最新的 Raspberry Pi UEFI 固件: 获取 Balena 的 Etcher(如果你还没有的话): https://etcher.balena.io/#download-etcher 把 microSD 卡插入你的笔记本电脑(我用的是便宜的 USB 读卡器)。 解压 Etcher,进入其目录并以普通用户身份启动它: $ cd balenaEtcher-linux-x64/ $ ./balena-etcher 在界面中选择“Flash from file”,找到之前解压出来的 NetBSD arm64 镜像。目标设备选择 SD 卡(务必确认真的是 SD 卡!我这里是 /dev/sda)。刷入镜像(需要提供 sudo 权限)。 为固件文件创建一个目录,把压缩包移进去并解压: $ mkdir rpi_efi_firmware $ mv RPi4_UEFI_Firmware_v1.53.zip rpi_efi_firmware/ $ cd rpi_efi_firmware/ $ unzip RPi4_UEFI_Firmware_v1.53.zip 为 NetBSD 启动分区创建一个挂载目录: 把 SD 卡的第一个分区挂载到那里: $ sudo mount -t vfat /dev/sda1 /mnt/netbsd-boot 把 rpi_efi_firmware 目录下的所有文件复制到 /mnt/netbsd-boot(全部覆盖)。 这一步是必需的,这样 UEFI BIOS 才能真正引导 SD 卡上的 NetBSD 分区。 现在可以把 SD 卡插入 Raspberry Pi 了。 开机,按 ESC 进入设置菜单。 进入 Boot Maintenance Manager -> Delete Boot Option。把所有网络启动选项都标记为 X(SD 卡除外)。Commit Changes。在 Boot Order 列表中,用 + 键把 SD 卡移到最顶部。按 F10 保存。选择 continue 退出设置。 NetBSD 现在应该能启动了。启动后首先会调整根文件系统的大小。 完成后,你可以用 “root” 登录。 建议立刻创建一个用户,不过稍后再做也可以: $ useradd -m -G wheel youruser $ passwd youruser 如果输入 'ifconfig',我们看不到无线网卡。这是个问题。 不过在 dmesg 里,我们可以看到内核识别到了它、找到了它的驱动,但无法自动配置: $ dmesg | grep -iE 'bwfm|firmware|sdio|wifi' bwfm0: Found firmware file: brcmfmac43455-sdio.bin bwfm0: autoconfiguration error: NVRAM file not available $ cd /libdata/firmware/if_bwfm $ ln -s brcmfmac43455-sdio.raspberrypi,4-model-b.txt "brcmfmac43455-sdio.Raspberry Pi 4 Model B.txt" 现在 ifconfig 会显示 bwfm0 设备了。我们来配置 WiFi 接入点。 在文件末尾添加以下内容(注意大小写敏感): network={ ssid="Your_WiFi_SSID_name" psk="YourWifiPassword" scan_ssid=0 如果一切顺利,重启后(或重启 wpa supplicant 后)你应该就能上网了。 ifconfig 应该会显示 'status: active' 以及通过 dhcp 获取到的 IP 地址。 从这一步开始,如何配置系统、安装什么,就完全由你决定了。 以下是我做过的一些事,让它更好用一些。 NetBSD 有 pkg_src,这是一种从源码安装和构建软件包的方式,还有 pkgin,这是一种安装预编译二进制包的方式。 编辑 ~/.profile,去掉设置 PKG_PATH 的 export 行前面的注释,这样我们就能安装二进制包了。 然后用 'exit' 注销并重新登录。 我们来添加 pkgin,即二进制包管理器: $ pkgin update $ pkgin install nano fastfetch sudo $ visudo 找到写着 'Uncomment to allow members of group wheel to execute any command' 的那一行,去掉下一行开头的 #。 (在 Vi 中,按 ESC 退出交互模式,然后在要删除的字符上按 x 即可删除该字符。) 配置 X11 并启用图形登录管理器: $ cp /etc/X11/xinit/xinitrc ~/.xinitrc $ chmod u+w ~/.xinitrc $ ln -s .xinitrc ~/.xsession $ echo 'xdm=YES' >> /etc/rc.conf $ service xdm start https://www.netbsd.org/docs/guide/en/chap-x.html 用你的普通用户登录(输入用户名后按回车进入密码输入框)。 这会启动 NetBSD 内置的 ctwm 窗口管理器。它非常简单,但很高效。 不过,如果你想让它真正好用,我推荐 NsCDE,这是一个 CDE 风格的现代桌面环境,基于 fvwm: 首先,安装它需要的所有依赖: sudo pkgin install fvwm3 ksh93-1.0.10nb3 py313-yaml py313-qt5 py313-psutil coreutils xclip sudo pkgin install gtail ImageMagick xdotool dunst stalonetray gsed xterm git xscreensaver-615nb2 mkdir -p "$HOME/bin" ln -s /usr/pkg/bin/python3.13 "$HOME/bin/python3" export PATH="$HOME/bin:/usr/pkg/bin:/usr/pkg/sbin:/usr/X11R7/bin:$PATH" python3 --version 创建这个文件夹,因为 NsCDE 可能会用到它: cd /tmp git clone https://github.com/NsCDE/NsCDE.git cd NsCDE ./configure 检查是否有警告。如果还有缺失的软件包,就安装它。用以下命令查找可用的软件包: 现在编辑你用户主目录下的 .xinitrc,把 exec 行改成: 重启并用你的用户登录。NsCDE 的首次启动设置应该会启动,你可以在那里配置主题以及与 GTK 和 QT 的集成。 祝你玩这个新的小众操作系统玩得开心。 在 Raspberry Pi 上运行 NsCDE 的 NetBSD 11 [图片,png,250Kb]
正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。