Skip to content

树莓派安装 openwrt 扩容教程

已知问题

  1. ext4 分区格式扩容失败,启动后分区大小没有变(我也不知道为啥)
  2. 使用 parted 修改分区后无法启动,因为分区的 uuid 变了需要同步修改 /boot/cmdline.txt > 详见

下载固件从以下网址搜索对应固件然后下载

https://firmware-selector.immortalwrt.org/

下载解压

bash
wget https://downloads.immortalwrt.org/releases/24.10.4/targets/bcm27xx/bcm2710/immortalwrt-24.10.4-bcm27xx-bcm2710-rpi-3-squashfs-factory.img.gz
gzip -kd immortalwrt-24.10.4-bcm27xx-bcm2710-rpi-3-squashfs-factory.img.gz
cp immortalwrt-24.10.4-bcm27xx-bcm2710-rpi-3-squashfs-factory.img immortalwrt-24.10.4-bcm27xx-bcm2710-rpi-3-squashfs-factory.ext.img

扩容镜像和分区

bash
# 扩容镜像
truncate -s +14G immortalwrt-24.10.4-bcm27xx-bcm2710-rpi-3-squashfs-factory.ext.img
# 修改分区大小
parted immortalwrt-24.10.4-bcm27xx-bcm2710-rpi-3-squashfs-factory.ext.img
  print
  resizepart 2 100%
  print
  quit

挂载 boot 分区

bash
# 挂载镜像文件
losetup -f -P immortalwrt-24.10.4-bcm27xx-bcm2710-rpi-3-squashfs-factory.ext.img

# 查找 boot 分区(可根据SIZE确认是那个设备我的是 loop0p1 )
lsblk
#  NAME                      MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
#  loop0                       7:0    0  14.4G  0 loop
#  ├─loop0p1                 259:0    0    64M  0 part
#  └─loop0p2                 259:1    0  14.3G  0 part
#  loop1                       7:1    0  73.9M  1 loop /snap/core22/2133
#  loop2                       7:2    0 140.6M  1 loop /snap/docker/3221
#  loop3                       7:3    0 140.6M  1 loop /snap/docker/3265
#  loop4                       7:4    0  73.9M  1 loop /snap/core22/2139
#  loop5                       7:5    0  50.8M  1 loop /snap/snapd/25202
#  loop6                       7:6    0  50.9M  1 loop /snap/snapd/25577
#  sda                         8:0    0   100G  0 disk
#  ├─sda1                      8:1    0     1G  0 part /boot/efi
#  ├─sda2                      8:2    0     2G  0 part /boot
#  └─sda3                      8:3    0  96.9G  0 part
#    └─ubuntu--vg-ubuntu--lv 252:0    0  96.9G  0 lvm  /
#  sr0                        11:0    1     3G  0 rom

# 挂载 loop0p1 修改 cmdline.txt
mkdir mnt
mount /dev/loop0p1 ./mnt/

修改 /boot/cmdline.txt

bash
# 查看分区 uuid
blkid immortalwrt-24.10.4-bcm27xx-bcm2710-rpi-3-squashfs-factory.ext.img
#  immortalwrt-24.10.4-bcm27xx-bcm2710-rpi-3-squashfs-factory.ext.img: PTUUID="2612ffb4" PTTYPE="dos"

# 修改 cmdline.txt uuid 为 2612ffb4
vim ./mnt/cmdline.txt
cat mnt/cmdline.txt
#  console=tty1 console=serial0,115200 root=PARTUUID=2612ffb4-02 rootfstype=squashfs,squashfs rootwait

# 取消挂载
umount mnt
losetup -d /dev/loop0

# 压缩镜像
gzip -k immortalwrt-24.10.4-bcm27xx-bcm2710-rpi-3-squashfs-factory.ext.img

下载到本机使用树莓派官方镜像工具刷入镜像

https://www.raspberrypi.com/software/

bash
scp root@192.168.1.11:/root/opwrt/immortalwrt-24.10.4-bcm27xx-bcm2710-rpi-3-squashfs-factory.ext.img.gz ./Downloads