无需外设初始化树莓派3B/3B+
introduce
前几天按照官方教程把树莓派3b从 jessie 升级到 stretch 的时候不幸成砖,升完一堆报错,重启后就再也无法启动了。反正数据还在 sd 卡里,备份好资料干脆抹盘重装吧。于是就有了这篇安装指南,这是你没有看过的船新版本。迄今为止无需任何外设初始化树莓派的最佳实践(当然 sd 卡和充电器还是需要的(@_@))。
steps
- 下载最新的 raspbian 镜像 官方网址
aria2c https://downloads.raspberrypi.org/raspbian_latest
- 把镜像写入到 sd 卡,我是直接用读卡器插到 macbook 上。(什么?你用的新款 mac 没有读卡器?你用的 windows10 怎么办?请点右上角叉叉)理论上其它 linux 发行版也可以,因为写卡我们需要使用
dd
命令。 首先找到你的 sd 卡所在分区,执行以下命令,然后找到容量是你卡容量的那个分区
diskutil list
我的是 /dev/disk3
,然后就开始写入镜像,注意写入的时候为了加速需要改成 /dev/rdisk3
diskutil unmountDisk /dev/disk3
sudo dd bs=1m if=2018-04-18-raspbian-stretch.img of=/dev/rdisk3 conv=sync
等一会,大概三分钟左右会提示 success。然后就可以看到自动 mount 了一个 boot
分区。
- 通常接下来就应该连接网线,插电开机了。不,这太不优雅了。我们不需要网线,3b是有无线网卡的,我们可以修改配置开机自动联网。因为需要访问
ext4
分区,所以需要安装一个插件 fuse-ext2,linux原生可以访问,可以跳过插件安装。
sudo mount -t fuse-ext2 /dev/disk3s2 /Volumes/rpi 或者
sudo fuse-ext2 /dev/disk3s2 /Volumes/rpi -o force
这时候 pi 的系统分区就挂载成功可以访问了。接下来就可以修改网络配置自动连wifi了。
sudo vim /Volumes/rpi/etc/network/interfaces
在最后加上以下配置,启用 eth0
, wlan0
的 DHCP,并且使用配置文件 /etc/wpa_supplicant/wpa_supplicant.conf
配置 wlan0
auto wlan0
iface lo inet loopback
iface eth0 inet dhcp
allow-hotplug wlan0
iface wlan0 inet dhcp
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp
然后修改 /etc/wpa_supplicant/wpa_supplicant.conf
加入 wifi 的配置
sudo vim /Volumes/rpi/etc/wpa_supplicant/wpa_supplicant.conf
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="ASUS_B1C0"
psk="your_password"
priority=1
}
如果你有多个 wifi 热点,可以复制 network 块追加更多配置,priority
字段表示优先级,值大的优先连接。
至此,开机自动连 wifi 的配置就完成了。
- 打开 ssh,官方镜像的 ssh 功能默认是关闭的。为了开机能在电脑上 ssh 上去操作,需要提前设置打开。这个很简单,根据官方文档,在
/boot
分区新建一个空的ssh
的文件就可以了。 - 接下来就是见证奇迹的时刻,通电后等两分钟,就可以在路由器管理后台看到
raspberrypi
的设备已经连上 wifi 了。接下来就可以 ssh 上去进行初始化了。参考 raspi-config.md
ssh pi@192.168.123.32
sudo raspi-config