前几天心血来潮买了个树莓派玩玩,准备安装kali和openwrt玩玩,在安装openwrt时遇见了很多困难,但最终都一一解决了,所以来这里记录一下,方便大家遇见相同问题可以解决。

遇见这么多坑的大多数原因都是因为无显示屏,因为在学校,没有多余的显示屏,而且也没必要买显示屏,所以如果你周围有显示器并且可以连接将会解决很多问题。但是对于我来说,因为不需要界面化,包括vnc我也没配置,使用web端管理或者ssh就可以了。

1. 固件的选择

如果将树莓派作为软路由,那直接可以使用
https://github.com/SuLingGG/OpenWrt-Rpi的固件,都是编译好现成的固件,这里

一般使用的是我上面红方框里的两个固件,他俩唯一的区别就是格式的不一样,

  • ext4 格式的固件更适合熟悉 Linux 系统的用户使用,在 Linux 下可以比较方便地调整 ext4 分区的大小;
  • 而 squashfs 格式的固件适用于 “不折腾” 的用户,其优点是可以比较方便地进行系统还原,哪怕你一不小心玩坏固件,只要还能进入控制面板或 SSH,就可以很方便地进行 “系统还原操作”。

但是这里我推荐使用squashfs的格式,具体我在后面会说明。

当然如果你不作为路由器而作为其他用处,非常不推荐使用官方的系统,撇开它是32位的不说,64位的系统也很拉。我推荐可以使用https://github.com/openfans-community-offical/Debian-Pi-Aarch64,安装基础系统Plus++(无桌面加强版)版可以直接在web端查看资源占用一级终端等功能。

2. 固件烧录

题外话:为什么叫”烧“录呢?因为这个词最早是用在一次性可编程只读存储器上,它会永久性地改变写入位置的物理组成。但是现在,很多非一次性的ROM出现了。写入的原理也不再是永久性的改变。但是因为依旧是写入ROM,所以烧这个词还是沿用了。

这里使用的软件是balenaEtcher,mac版和win版都有。

ps:如果是刷入后有问题,建议先刷入https://openwrt.cc/restore/这个,再进行烧录所需固件

3. 启动

树莓派启动后会自动创建一个名为Openwrt的wifi可以连接,
默认后台地址是192.168.1.1
用户名root
密码password

然后配置成和你路由器一个网段的ip,包括子网掩码,网关,dns等,但是我这里不能配置静态ip,因为我处于校园网环境,使用静态ip后不知道为什么无法使用dns解析域名,所以这里我只能使用dhcp,
而且这里我们关闭dhcp服务:

但是,使用DHCP后就无法获取树莓派的ip了,所以我写了一个开机脚本,将每次获取的ip地址使用sever酱推送到我手机上,

a=`ifconfig | grep inet | awk 'NR==1 {print$2}'`
curl 'https://sctapi.ftqq.com/xxxxxx.send?text='{$a}

将这个写入/etc/rc.local,每次开机的时候都会把ip推送过来。

后来我又发现一个更好的方法,利用arp也可以找到树莓派的ip地址

当配置完这些,就可以插入网线了,最好在重启一下

但是一般都是静态ip且有显示器,所以大部分人不会遇见这种问题

断电

一般关闭树莓派我都会直接断电,这就会导致一些问题,当你直接断电意外关机,再重启后系统文件变成了只读,这就回导致因为存储空间不足而无法保存配置,经过我的查找后在github上看到有人给出了解决方法:

e2fsck -y /dev/sda2

记得改成自己的磁盘。

  • 如果不想这么麻烦的话,建议刷squashfs的格式,这也就是前面推荐的。

后续

后续大家应该都是懂得都懂。有很多好玩的功能

最后修改:2021 年 06 月 26 日
如果觉得我的文章对你有用,请随意赞赏