重刷树莓派到最新版本(Raspberry Pi OS Lite)

一直想打造一个家庭工作助手——其实就是把杂七杂八的功能放到一台独立的主机上并全天候运行。虽然我有一台大服务器在家运行,但是我希望这些功能和它分开。

WeChat Image_20211120121108.jpg

其实也不是没有这样的小主机,现在就两个香蕉派(Banana Pi)M3在运行着,但是其中一个经常死机,另外一个还算好用,但是系统好久没有更新了(官方弃管了)。

我还尝试过用一个NUC小主机来做这个小助手,又是升级BIOS,又是加内存,又是装系统,结果跑着没两天,SSD硬盘坏掉了,哎,想想就累。我一直想重新购买个高配的NUC来做这个助手,奈何钱包它不允许呀。

直到有一天,我注意我放在钢琴上方的树莓派4B(8G版),咦,这么强大的设备我竟然一直让它在那吃灰,简直就是造孽呀,必须、马上、立刻把它利用起来。

其实这个树莓派也不算闲置,我之前用它搞了个室内监控,全家出门旅游的时候可以远程连上来,查看家里(客厅)的情况。但是全家出门的情况毕竟不多,用上千元的设备做这个(可能一年就开三两下)实在是极大的浪费呀。

还有就是,就算我把它做成我的家庭工作助手,也不耽误它做监控呀?助手嘛,就是啥杂活都能干,都得去干,这样才算合格。嗯,就这么愉快地决定了。

可是当我再次把这个树莓派4B开机并连上去,才发现这上运行的竟然是十分老旧的Raspberry Pi OS 桌面版,基于Debian 11 (bullseye),属于OLDOLD版本(oldoldstable)啦。现在最新的稳定版则是Debian 13 (trixie/崔茜?)

所以我要做几件事:一,使用Lite版本而不是Desktop版(因为我不打算用桌面);升级到Raspberry Pi OS最新版本(trixie);还有就是将当前在用的32G闪迪TF卡换成128G的闪迪至尊超极速TF卡。

这样就没啥纠结的啦,必须用新的大容量闪迪至尊超极速TF卡重刷最新的Raspberry Pi OS Lite版本。

烧写Raspberry Pi OS Lite

因为当前工作机上没有Raspberry Pi Imager,所以先到这里下载一个:

133437bb5c11939725eaeefa9d51ff4a.png

软件安装使用几乎是傻瓜式的,所以就不逐步介绍了,这里需要说一下不同硬件与不同版本OS的适配情况,详情参考这里,选择硬件匹配且自己需要的版本就好。

我使用的是Raspberry Pi OS Lite(64-bit)
976fb7a63e772551d54c4f43b2658671.png

f45577d6a483e653b7b6ab6e54ee1ec2.png

选择完版型、系统、存储
b0cb86ea4b783a8fa410ead702f18020.png

接下来会有一个设置选项
61d6808b7232234006c776cc92faff76.png

在这可以设置初始的用户名、WIFI网络等等
344df7a187804e00e317e1848928e56f.png

以及可以开启SSH服务
baec50a02f2faba27c30b4eee35c31e6.png

应用设置
598fd55f495101263c67dfcbcd73bc42.png

开干
fa9554535ae57d5ca4c5aac06253d232.png

写卡中
d8c25f9ead98e4883831fb9ca5c0ab66.png

搞定
4b53d146bcec104600b3b3813b7f0a9a.png

遇到的问题

烧写完成之后,将写好的卡插入树莓派4B,上电,就等着一切OK了。结果却发现没那么简单,遇到了好些问题。

获取树莓派IP

虽然烧写的时候可以设置WIFI网络,但是并没有提供设置IP的功能,所以首先我们要找到树莓派的IP。尽管我路由器有网络MAP功能,但是刷新N次也没发现树莓派。

所以只好请出nmap大神啦;

nmap -sn 192.168.1.0/24

看,一下子就找到啦:
5a00b20382c98f8720527da772f8df66.png

无法连接树莓派IP

烧写的过程还在感慨呢,现在软件都这么智能(傻瓜式)啦。

不用我再通过手工设置一些配置文件来实现网络连接之类的。甚至用户名密码也都不用我登录后手动改,还贴心地帮我启动了SSH服务。

baec50a02f2faba27c30b4eee35c31e6.png

结果我用Putty用相应的用户名去连树莓派,直接就给我踢出来,提示信息大概就是只支持密钥登陆,不支持用户名密码!

啥,我明明设置的是Use password authentication呀,难道要我重新烧写一遍,可是若是重新烧写后还无法登陆呢?

突然回想起,设置的时候,它好像自动读入了一个公钥,会不会是这个原因导致的呢?那我在Windows命令行里登陆一下试试呢?

结果竟然奇迹般的登陆上去啦,毫无疑问,这是Raspberry Pi Imager的一个大BUG,话说去报BUG会有奖金不?😍

只要能登陆上就一切好办了,我通过修改sshd_config,给相应用户增加了密码登陆的权限,一切OK了。

静态IP的问题

接下来要解决的是固定IP的问题啦,毕竟不能每次都去路由器中查看IP,抑或请出nmap大神呀。

以前的版本要搞定这个很简单,只需编辑/etc/dhcpcd.conf,添加类似如下内容并重启就好:

interface wlan0
static ip_address=192.168.1.4/24
static routers=192.168.1.254
static domain_name_servers=192.168.1.254 8.8.8.8

但当我走完全部流程且重启之后,竟然发现我设置的IP根本没有生效!😡这又是怎么一回事呢?🧐

查了一下,原来编辑dhcpcd.conf的方式已经过时啦,新系统可能根本不启用dhcpcd,比如我这里:
sudo systemctl restart dhcpcd

会提示:
6c888c868a519f3939b0041781a984ab.png
(Failed to restart dhcpcd.service: Unit dhcpcd.service not found.)

所以设置dhcpcd.conf当然就无效啦,与时俱进的方法是使用NetworkManager CLI (nmcli),操作步骤如下:

nmcli device status

9e78b35a645de09dad948a6bf258e957.png

sudo nmcli con mod "preconfigured" ipv4.method manual ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.dns "8.8.8.8,1.1.1.1"

对了,这个"preconfigured" 看着有点难受,可以用如下指令修改成自己喜欢的名字:

sudo nmcli connection edit preconfigured

详细步骤如下:

nmcli> set connection.id MyWIFI-5G
nmcli> save
Connection 'MyWIFI-5G' (9xxxxxxxx) successfully updated.
nmcli> quit

搞定,这样看着舒服多啦
46bf47e084bd81d3e1a2afeda43f0281.png

至此,之前要达成的三大目标(切换到Lite版,更新到最新版,使用128G TF卡)已经完成,并且可以正常连接操作了。

接下来就是将其仔细打磨,让它帮我干更多的事情,比如跑一些HIVE脚本之类的。当然了,之前的监控系统也要重新运行起来,不然岂不是白白地浪费了我的树莓派摄像头呢。

相关链接

Sort:  

后续查看文档时,发现树莓派支持mDNS

可以直接通过如下指令获取IP:

ping raspberrypi.local

又学到了

人工置顶

啊哈哈 就认出了发错的那个截图 😆😆

哈哈,弄了一整天,晕头转向的
不小心发群里去了😳

👍🏻👍🏻

O哥厉害👍

就是折腾

看不懂,但觉得很厉害,懂程序编程这些技术的都莫名的崇拜🤩

其实非常简单的

最近o哥走修理工风格啦🤣

啊,这咋就成修理工了呢?

傻瓜式的安装使用招人喜欢,看到树莓很容易想到之前友哥分享的水果,看标题时差点儿以为吃的嘞

这真是应了那句话:仁者见仁智者见智。

These little machines are so useful. I have a few around here.

My only complaint is the ARM architecture. Some apps won't run on it without a special port for the raspberry pi. So using x86 processors is preferred.

image.png

In addition to this Raspberry Pi 4B and the two Banana Pi M3 boards I’m currently using, I’ve got a whole bunch of other single-board computers lying around — they’re just so much fun to play with. It’s a pity I don’t have enough time and energy these days to really make good use of them.

The ARM architecture does make some apps incompatible, so pairing them with an Intel NUC mini PC makes for a perfect setup.