499 字
2 分钟
云编译 256M闪存的360t7路由器immoralwrt固件
原机是128M闪存,扩容到256M之后,云编译将ubi分区在原基础上扩大128M
- overlay 在 UBI 里
- 软件安装空间在 UBI 里
- rootfs_data 在 UBI 里
分区结构
原 128M分区:
| boot | ... | ubi (108M) | config | factory | log | 空6M |0x00000000 ------------------------------------ 0x08000000扩容 256M分区(扩大128M):
| boot | ... | ubi (108M + 128M) | config | factory | log | 空6M |0x00000000 ------------------------------------ 0x10000000immoralwrt 默认360t7的DTS配置
partition@580000 { label = "ubi"; reg = <0x0580000 0x6c00000>; #起始位置:0x0580000。分区大小:0x6c00000 compatible = "linux,ubi";
volumes { ubi_rootdisk: ubi-volume-fit { volname = "fit"; }; }; };
partition@7180000 { label = "config"; reg = <0x7180000 0x0100000>;#起始位置=前一分区结束位置=ubi起始+ubi大小=0x0580000+0x6c00000 read-only; };
partition@7280000 { label = "factory"; reg = <0x7280000 0x0080000>; read-only; };
partition@7300000 { label = "log"; reg = <0x7300000 0x0700000>; read-only; };简单计算扩128M
前提条件:除了ubi分区扩大之外,其他分区大小不变
128MB=0x800 0000
ubi分区:
- 起始=原来位置
- 大小=原来大小+扩大的128M=0x6c00000+128MB=0x6c00000+0x800 0000=0x0ec00000
config分区:
- 起始=ubi分区结束位置=ubi分区起始+ubi扩大128M后大小=0x0580000+0x0ec00000=0x0f180000
- 大小=不变
…
修改DTS
#!/bin/bashset -eux
cd openwrt
echo "==== 360T7 Flash 256MB Patch Start ===="
DTS="target/linux/mediatek/dts/mt7981b-qihoo-360t7.dts"if [ ! -f "$DTS" ]; then DTS="$(grep -RIl --include='*.dts' '360T7\|qihoo' target/linux/mediatek | head -n 1 || true)"fi[ -f "$DTS" ] || { echo "ERROR: Cannot find 360T7 DTS file"; exit 1; }echo "Using DTS: $DTS"
# 目标:256MiB=0x10000000,保留与原 128MiB 一样的尾部空洞 0x0600000# UBI: start 0x0580000, end 0x0f180000 => size 0x0ec00000# config: start 0x0f180000 size 0x0100000# factory:start 0x0f280000 size 0x0080000# log: start 0x0f300000 size 0x0700000 (end 0x0fa00000)# gap: 0x0fa00000 ~ 0x10000000 (0x0600000)
# 1) 扩大 UBIsed -i \ -e 's/reg = <0x0580000 0x6c00000>;/reg = <0x0580000 0x0ec00000>;/' \ "$DTS"
# 2) 移动尾部分区(同时改 node 名更干净;不改也能编,但建议改)sed -i \ -e 's/partition@7180000/partition@f180000/g' \ -e 's/reg = <0x7180000 0x0100000>;/reg = <0x0f180000 0x0100000>;/' \ "$DTS"
sed -i \ -e 's/partition@7280000/partition@f280000/g' \ -e 's/reg = <0x7280000 0x0080000>;/reg = <0x0f280000 0x0080000>;/' \ "$DTS"
sed -i \ -e 's/partition@7300000/partition@f300000/g' \ -e 's/reg = <0x7300000 0x0700000>;/reg = <0x0f300000 0x0700000>;/' \ "$DTS"
echo "==== Patch Result (key lines) ===="grep -nE 'label = "(ubi|config|factory|log)"|reg = <0x0580000' "$DTS" || trueecho "==== 360T7 Flash 256MB Patch Done ===="保存为diy_360t7_256m.sh,供action调用
文章分享
如果这篇文章对你有帮助,欢迎分享给更多人!
云编译 256M闪存的360t7路由器immoralwrt固件
https://blog.rax.pp.ua/posts/云编译-256m闪存的360t7路由器immoralwrt固件/ 最后更新于 2026-02-18,距今已过 36 天
部分内容可能已过时
Firefly