Switch突然奇怪了,可以充电,可以docking,就是不能使用usb data,测量d+ d-正常,网购了一套夹具,自己动手开搞:



实践再次证明,我又一次愚蠢的用爱好挑战了专业,然而也有收获,总结下来就是,吸锡带要怼宽了才能用,吸锡枪按下手柄的圆形按钮可以打开清洁,不懂电路不认识原件就上手替换盲赌需要至少五艘忒修斯之船。
Switch突然奇怪了,可以充电,可以docking,就是不能使用usb data,测量d+ d-正常,网购了一套夹具,自己动手开搞:
实践再次证明,我又一次愚蠢的用爱好挑战了专业,然而也有收获,总结下来就是,吸锡带要怼宽了才能用,吸锡枪按下手柄的圆形按钮可以打开清洁,不懂电路不认识原件就上手替换盲赌需要至少五艘忒修斯之船。
新年假期,陪伴家人之余,鼓捣平日吃灰的树莓派和斐讯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 删掉。
还是感谢列为大神,以上。
人一忙就容易变懒,距离上次更新博文已经超过一年,在这一年里,无需赘言,我们都经历了太多。我逐渐感受到成长给人留下的印记,不但不再有什么个人追求,对于横空而来的各种负担,我们都习惯了坦然面对,连呻吟都是多余了。
Anyway,前段时间通过frps自托管了两台主机,内存插到满,一台装了个Kali,顺道部署了和孩子一起玩的Minecraft服务,另一台装了Ubuntu Server以后一直闲置,在逛一个叫做awesome-selfhosted的github的时候,发现了一个很不错的publisher,叫linuxserver,这个组织维护着大量docker镜像,主要为自建服务的用户提供方便,他们的一个容器瞬间引起了我的注意。
于是立即着手pull,拖下来这个镜像以后,研究了一番文档,按照官方给的docker-cli运行:
docker run -d \
--name=emulatorjs \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Asia/Shanghai \
-e SUBFOLDER=/ #optional \
-p 3000:3000 \
-p 80:80 \
-p 4001:4001 #optional \
-v /path/to/config:/config \
-v /path/to/data:/data \
--restart unless-stopped \
lscr.io/linuxserver/emulatorjs:latest
跑起来了,注意那个80:80如果你没有国内备案主机的话,需要修改端口,登上3000的后台,要我通过内建的IPFS服务下载前端的美术素材,点了Download没有反应,一直卡在下载NDS.mp4这个文件,一开始怀疑是IPFS的问题,又去研究容器内科学上网,折腾一番以后容器里已经可以curl到科学IP,可是还是卡这个下载,于是用netstat看容器里的链接情况,连接各种peers没有问题,又在容器内部试了下IPFSdaemon的自测功能,发现可以抓下文件,映射的两个目录data和config也都通过chmod改了权限,PUID/PGID也调整过了,这就很费解么?去discord提问,无解,搜了半天发现只有一个人提问遇到有类似问题,但是似乎答案也不明确。继续回去爬官方文档,直到发现:
Umask for running applications
For all of our images we provide the ability to override the default umask settings for services started within the containers using the optional -e UMASK=022
setting. Keep in mind umask is not chmod it subtracts from permissions based on it's value it does not add. Please read up here before asking for support.
这段说明似乎每一个linuxserver的发行里都有,从来没有特别注意过,由于不是linux专业用户,对于这些复杂概念也没有了解,本着死马活马都能吃的原则,在docker-cli里加入这行参数,下载成功!Voila~~~
接下来是补充,这个容器本身没有身份校验的模块,如果担心好事者搞乱你辛苦肝来RPG的存档,你可以尝试自己在docker内置的nginx里加两行验证。
对于几乎在每一台客户端都部署retrogaming然而极少玩耍的我而言,这个host的意义是显而易见的,你终于可以整合你的碎片时间,交替利用各种不同的terminal,肝完对于过去,对于现在,包括将来而言都极为奢侈的RPG大作。
感谢linuxserver和原作ethanobrien,愿你和我永远年轻。
陪儿子练琴,Youtube、Bilibili看了不少钢琴视频,自己也练会了两首练习曲。有一天发现我当年的Casiotone CT-640居然支持MIDI,淘宝了一个USB-Midi适配器,插在一个Centrino一代电脑上,两件古董配合Syhthesia,效果拔群!
另外,苹果的MOV格式居然不被HTML5支持,只能用Youtube当图床,视频不好直接从手机发了,这个WP想玩起来还是需要研究。
我记得在奥维尔的设计中,核心党员在一定时间内是可以关掉电幕的,作为非核心的同志,我们还是得从adb、bootloader、root学起,学习下重灌cynogenmod,加载mock gps,必要的话,上个编程器写下芯片还是可以搞定老大哥的。