树莓派和N1固件的养老选择

新年假期,陪伴家人之余,鼓捣平日吃灰的树莓派和斐讯N1,不得不说,平日自诩装机小达人的我,折腾起这两个单板小电脑来,还是在不断掉坑中挣扎了五六天,总结经验下方便有缘人。

捡垃圾捡出的数据中心一角

这种Linux单板硬件其实有巨多选择,像我这种业余选手,选哪一款来折腾其实原则就一个,随大流,踩坑小白多,添坑大佬多,软件生态就会好,一不留神树莓派4B 8G居然还成了理财产品,N1长期霸榜垃圾销冠,都和这个生态有关系。

隐藏于卧室的边缘计算终端

说说来历,吃灰前树莓派刷了个官方RetroPie模拟器,我甚至还专门为他配了两个蓝牙手柄,后来因为搭了emulatorjs,便携性迅速取代仪式感,遂吃灰。N1开箱卖家刷得是什么讯飞语音安卓盒子吧,因为已经有办宽带送的盒子,感觉略显鸡肋,我给刷了个armbian没顾上折腾就吃灰了。

终于进入正题,让这两个小朋友干点啥好呢,我有一台已经养老的POGOPLUG,就是上上图里那个脑袋上顶两个移动硬盘的大铁盒,话说这也是一件神机啊,自带SATA接口的板子,很早了,捡的时候默默无闻,我清楚地记得,捡完以后居然直接被OPENWRT官方支持了,看这个官方页面,说明开源大佬们也热爱捡垃圾么。老年盒子POGOPLUG最终停留在,Openwrt Chaos Calmer 15.05.1这个版本。

哪天一定尝试下这个调酒

话说官方支持确实稳,这个铁盒子上在跑了mjpg摄像头、开源airplay、transmission、aria2、smb36、hdparm等等七七八八的应用以后,老当益壮,连续开机了几年没有崩过,然而内存也开始捉襟见肘,我一直想要一个webdav服务方便远程挂载这个盒里的影片,左右试过,不甚理想。

啰嗦到此,第一个需求产生,我要webdav服务看片,n1先来,一顿搜索,armbian上资源丰富,安了File Browser和Jellyfin两个docker,测试表现正常,似乎又可以静好了,殊不知一坑已就绪,表现在,jellyfin看片看的经常卡住,一卡就卡的连ssh也连不了了,温度正常,得让缓几个小时,再连又能连上,这就费解么?难道ai都进化出躺平的本领了?换系统,换包,结果都如此,查日志,发现jellyfin有大量响应缓慢记录,是session卸载的问题么?为什么缓一缓又能耍了?换flippy大神的openwrt重开,挂docker重练,这次疗效更显著了,登进Luci网页管理界面,右上角一直有,未保存的配置,点进去选应用这些设置,出来刷新,发现还有这个提示,这是emmc存储出错了么?各种u盘启动了以后fsck,故障表现居然愈发严重,docker的daemon都启动不了了,尝试升级最新的80+o,发现install-to-emmc.sh执行的时候跳文件权限问题,看起来这是emmc要挂壁了阿,来接着折腾,不就是钢网、热风枪、锡膏、emmc么。

时值农历新年,物流歇菜,我终于有了几天走出魔怔的机会,搜到这个帖子,这位朋友出错的文件居然和我一毛一样,刹那间明白了,这个不是emmc损坏,否则我们坏到同样文件的几率几乎为0,看到有网友评论bootloader里有安卓部分才觉醒,原来n1用webpad大大的固件解锁u盘启动以后,底层最先执行的代码也是安卓的,无论你装armbian、openwrt还是其他的,你插上去的u盘,会最先被安卓轮一遍,粗浅的放在pc领域类比,相当于bios就是安卓的,你装啥都得经过安卓,这就能解释n1为啥我装啥总会有文件错误,这个坑的阴险之处在于,他坏的不典型,会出现各种各样的错误,而且初期几乎不会出现,很折腾吧。

看明白了这些,n1的解决就简单了,刷安卓,原生bootloader加原生系统总没错,实践表明,又bingo了,最终比较刷下来确定的是:

莉莉丝大佬的LiliN MOD 54

https://www.right.com.cn/forum/thread-4078508-1-1.html

刷机方法参照韩风大佬的

https://www.bilibili.com/video/BV19J411c7Zf/?spm_id_from=333.999.0.0

方法,最后一步上原厂固件时,替换为莉莉丝大佬的img。

把玩几天,装了点apk,表现稳定,恭喜我n1出坑成功!

树莓派可折腾的ROM就很多了,刷机简单,直接balena Etcher或者官方imager都可以,这里吐槽下ubuntu,非要整出个snap系统,各种权限兼容问题,是要从开源走向苹果么?从ubuntu arm64刷到ubuntu mate arm64,一直搞不定headless vnc,而且桌面很卡,原装的raspbian出厂也很卡,转身KALI,应该说,真正GEEK造出东西的质感就是——爽脆,根本没有这样那样的弯弯绕,搜一搜kali出来的都是官方文档直接告你如何操作,ubuntu包括原厂raspbian搜出来的都是小白和大神的隔空交流,你还得各种寻找蛛丝马迹。

来干货

搞定KALI分辨率问题:

https://forums.raspberrypi.com/viewtopic.php?t=56307

修改config.txt,使能disable_overscan=1。

vnc都是默认安装的,文档在:

https://www.kali.org/tools/tightvnc/

包装成服务自启方法,参考digitalocean的:

https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-vnc-on-ubuntu-22-04

注意如果你不打算使用ssh隧道的话,需要把服务启动脚本里的 -localhost 删掉。

还是感谢列为大神,以上。