前边总得说点什么
最近每次在Win10上写代码需要启动Redis,残血Redis For Windows有卡死系统的bug。由于主机内存不大够用(已经扩到顶了),开虚拟机运行Redis更别提了。。想起自己还有个吃灰的4B,打开发现忘了密码还连不上自己的Wi-Fi(主要是忘了,没记录),就有了这篇折腾树莓派4B的记录文。
本文假设读者已经使用官方的pi-imager烧录好系统到内存卡,并且使用读卡器插到正常工作的电脑上,Windows会显示两个盘:boot和移动U盘,千万不要按提示格式化!
连接Wi-Fi
在boot下创建 wpa_supplicant.conf
文件,添加如下内容,修改ssid/psk/priority等值。
country=CN ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 network={ ssid="WiFi-A" psk="PasswordA" priority=10 } network={ ssid="WiFi-B" psk="PasswordB" priority=5 }
每个network块是一个Wi-Fi连接信息,单个网络情况删除第2个,ssid是Wi-Fi名称,psk为密码,priority值越高越优先连接此Wi-Fi。
启用SSH
在boot下创建名为 SSH
的空文件
创建新用户与密码
由于2022.04.04版本的系统镜像不再有默认的pi用户了,用新方式创建用户。
这里用Git Bash生成的加密密码:
#生成加密密码,注意替换 `密码` 为你想要的密码 echo '密码' | openssl passwd -6 -stdin
在boot下创建 userconf
文件,内容为用户名:加密密码
如果只是想要原来的pi用户和默认密码raspberry,则内容为:
pi:$6$oWBGuugnMGBEtFg8$3tWELGFx4qz8f0G83k9Xf0JKL8crIsPy9IKVeCjRmtMLjltu5FqlQK3byINsohnhs0nHAEr11hkLFYJGVPKL/.
笔者踩过的坑
背景:连的公司Wi-Fi,看到不路由器后台
卸载内存卡装回树莓派,给电开机,通过Win10的CMD arp -a
命令查看局域网中的IP。
这里我吃了点亏,arp表生成是有缓存的,如果没发arp请求就不会缓存。
怀疑是根本没连接Wi-Fi成功,我又重写了个Wi-Fi优先级最高的是我手机的热点,另一个才是要用的Wi-Fi。手机热点连接成功后记录了下树莓派的mac地址,再关掉手机热点,用 arp -a
查了缓存arp表,没找到指定mac地址!
没辙了,把内存卡挂载到Linux虚拟机上,查第2分区(树莓派根分区),在/var/log/syslog找到wlan0连接成功的日志,看到它已经拿到IP了。。
卸载内存卡装好重新给电,查arp表还没更新,我手动ping通了树莓派,再查arp表已更新。。
总结
就是简单记录下,如果有啥获取到树莓派的IP的方法欢迎评论告知,要是能看到路由器后台也不至于这么折腾。。