openwrt
- OpenWrt镜像:https://archive.openwrt.org/releases/22.03.2/targets/bcm27xx/bcm2711/openwrt-22.03.2-bcm27xx-bcm2711-rpi-4-ext4-factory.img.gz
- OpenWrt工具链:https://archive.openwrt.org/releases/22.03.2/targets/bcm27xx/bcm2711/openwrt-toolchain-22.03.2-bcm27xx-bcm2711_gcc-11.2.0_musl.Linux-x86_64.tar.xz
- 版本:22.03.2
安装
At the PC:
#unzip the Image
gzip -d openwrt-21.02.0-bcm27xx-bcm2708-rpi-squashfs-factory.img.gz
# insert SD-card and check the name, alternatively check dmesg
lsblk
# copy the Image 1:1 to the SD-card
sudo dd if=openwrt-21.02.0-bcm27xx-bcm2708-rpi-squashfs-factory.img of=/dev/mmcblk0 bs=1M conv=fsync
扩展文件系统
SSH into the Raspberry Pi:
opkg install kmod-usb-storage kmod-usb-ohci kmod-usb-uhci e2fsprogs fdisk resize2fs
fdisk /dev/mmcblk0
(also see the less finicky way by @SemperEnim below):
To make it clear what I entered, here the complete session of fdisk. Please note how the first sector remains unaltered:
Welcome to fdisk (util-linux 2.36.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help): p
Disk /dev/mmcblk0: 14.99 GiB, 16096690176 bytes, 31438848 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x5452574f
Device Boot Start End Sectors Size Id Type
/dev/mmcblk0p1 * 8192 139263 131072 64M c W95 FAT32 (LBA)
/dev/mmcblk0p2 147456 360447 212992 104M 83 Linux
Command (m for help): d
Partition number (1,2, default 2): 2
Partition 2 has been deleted.
Command (m for help): n
Partition type
p primary (1 primary, 0 extended, 3 free)
e extended (container for logical partitions)
Select (default p): p
Partition number (2-4, default 2): 2
First sector (2048-31438847, default 2048): 147456
Last sector, +/-sectors or +/-size{K,M,G,T,P} (147456-31438847, default 31438847):
Created a new partition 2 of type 'Linux' and of size 14.9 GiB.
Partition #2 contains a squashfs signature.
Do you want to remove the signature? [Y]es/[N]o: n
Command (m for help): p
Disk /dev/mmcblk0: 14.99 GiB, 16096690176 bytes, 31438848 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x5452574f
Device Boot Start End Sectors Size Id Type
/dev/mmcblk0p1 * 8192 139263 131072 64M c W95 FAT32 (LBA)
/dev/mmcblk0p2 147456 31438847 31291392 14.9G 83 Linux
Command (m for help): w
The partition table has been altered.
Syncing disks.
reboot and log in again
The device usage and sizes are now as follows (my SD-card is 16 GB in size). The size needs still needs to be adjusted:
df -h
Filesystem Size Used Available Use% Mounted on
/dev/root 4.3M 4.3M 0 100% /rom
tmpfs 217.9M 52.0K 217.9M 0% /tmp
/dev/loop0 92.7M 2.6M 83.1M 3% /overlay
overlayfs:/overlay 92.7M 2.6M 83.1M 3% /
/dev/mmcblk0p1 63.9M 17.3M 46.6M 27% /boot
tmpfs 512.0K 0 512.0K 0% /dev
Actually this was easier than expected, simply use resize2fs:
opkg update && opkg install resize2fs
resize2fs /dev/loop0
resize2fs 1.45.6 (20-Mar-2020)
Filesystem at /dev/loop0 is mounted on /overlay; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 120
The filesystem on /dev/loop0 is now 15641408 (1k) blocks long.
And now df -h returns the adjusted size:
df -h
Filesystem Size Used Available Use% Mounted on
/dev/root 4.3M 4.3M 0 100% /rom
tmpfs 217.9M 56.0K 217.9M 0% /tmp
/dev/loop0 14.5G 3.1M 13.9G 0% /overlay
overlayfs:/overlay 14.5G 3.1M 13.9G 0% /
/dev/mmcblk0p1 63.9M 17.3M 46.6M 27% /boot
tmpfs 512.0K 0 512.0K 0% /dev