树莓派安装 OpenWrt 及扩容教程

时隔多年再次重装 OpenWrt,早已忘记当初的安装方法。许多教程已经过时或缺少关键细节,因此记录本文以便日后查阅,也方便有需要的人参考。如有问题,欢迎在评论区讨论。本文仅作为参考,请谨慎操作,数据风险自负。

本文将演示如何在树莓派4B上安装 ImmortalWrt 并进行扩容。

1. 安装 ImmortalWrt

ImmortalWrt 是 OpenWrt 的一个分支 ,它移植了更多的软件包,支持更广泛的设备,默认优化了配置文件,并为中国大陆用户进行了本地化修改。

1.1 下载 ImmortalWrt

前往 ImmortalWrt 固件选择工具 下载对应固件:

搜索设备型号,查找对应固件。

每个设备一般会对应四个固件:

  • SYSUPGRADE vs. FACTORY:
    • FACTORY 固件是用于首次安装ImmortalWrt。
    • SYSUPGRADE 固件是用于升级已经运行ImmortalWrt的设备,它会保留你的配置。
  • EXT4 vs. SQUASHFS:
    • EXT4 是一个可读写的日志文件系统,更灵活,可以更方便地修改系统文件。
    • SQUASHFS 是一个只读的压缩文件系统,通常与一个小的可写分区(如JFFS2或UBI)结合使用。它在系统稳定性、节省空间和抗意外修改方面有优势。如果系统被破坏,可以更容易地恢复到初始状态。

首次安装,选择 FACTORY 版本,树莓派设备推荐使用 EXT4。

下载 FACTORY(EXT4) 的版本。

1.2 烧录 ImmortalWrt

利用 rufus 工具将上一步得到的 immortalwrt-[版本号]-bcm27xx-bcm2711-rpi-4-ext4-factory.img.gz 直接烧录到内存卡,保持 rufus 默认设置即可。

2. 初始化系统

2.1 连接与首次登录

ImmortalWrt 不再默认创建 Wi-Fi 热点,所以需要通过有线的方式连接到它。

把内存卡插到树莓派中,接通电源。然后用一个网线连接树莓派和电脑。

在电脑上访问 192.168.1.1。默认账号名为 root,密码为空。

登录后按照提示修改默认密码。

2.2 配置网络

进入 “网络” - “接口”,然后编辑默认 lan 接口。

根据实际需求配置网络。

由于我将其作为旁路由使用,所以设置了静态 IP 地址,并指定了相应的网关和 DNS。且在“DHCP 服务器”界面,勾选“忽略此接口”。

确认无误后,点击“保存并应用”,并强制执行。

然后,就可以用网线将树莓派连接到路由器了。

3. 扩容分区

完成后上述步骤后,ImmortalWrt 就能正常使用了。但是默认 ImmortalWrt 只用了 300MB 的储存,并没有用完整张储存卡。所以可用空间很少,并且被浪费。

接下来我们来扩容。

  1. 安装需要用到的工具

    opkg update  
    opkg install fdisk resize2fs losetup
  2. 查看当前分区状况

    fdisk -l

    你会看到类似下面的输出(120GB 的内存卡,只用了 64MB + 300MB):

  3. 重新分区

    进入 fdisk 工具:

    fdisk /dev/mmcblk0

    输入 p 查看分区表,记住第二分区开始的位置:

    输入 d 删除第二个分区:

    输入 n 重新创建分区:

    • 分区类型:选择 p ,或直接回车使用默认值。
    • 分区序号:选择 2 ,或直接回车使用默认值。
    • 起始扇区:输入之前记录的 147456(根据实际情况替换,使用原起始扇区)。
    • 结束扇区:可以指定大小,或直接回车使用默认值,默认值是占用所有剩余空间。
    • 当提示是否移除标识:输入 N

    最后,输入 w 确认并执行变更:

  4. 再次查询分区情况,可以看到第二个分区现在已经扩大。

    fdisk -l
  5. 接下来还需要让系统能够识别这个分区:

    先查看当前是否有循环设备:

    losetup

    此时,输出可能为空。或者有一些设备。在下个命令中,不要与已有设备冲突,可以用 loop1 或其他未使用的编号。

    创建循环设备:

    losetup /dev/loop0 /dev/mmcblk0p2

    扩展文件系统到分区全部空间:

    resize2fs -f /dev/loop0
  6. 重启系统,网页访问树莓派,可以看到扩容成功,磁盘空间大小已经更新。

    reboot

4. 参考链接

https://blog.caliburn.work/archives/1709726837347