|
这两天折腾了一下R3P,最终选定了个人认为最稳妥的pb-boot替换小米原厂那个抽象的uboot。
自编译了Padvan4.4纯净固件以及237提供的mt7621闭源固件,二者都完美支持pb-boot启动。
两份固件所使用的源码如下
padavan4.4: https://github.com/MeIsReallyBa/padavan-4.4
237闭源7621: https://github.com/padavanonly/immortalwrt
注意①
使用官方uboot或者魔改breed,请仔细对比padavan4.4源码中r3p.dts以及r3p-pbboot.dts的分区表,确定自己的设备是否支持!
注意②
使用pb-boot可以直接刷入MI-R3P-PB_4.4.198.9-100.trx,刷入237闭源7621固件需要先刷入squashfs-factory作为底包,然后在web界面选择squashfs-sysupgrade不保留配置升级!
注意③
经过实机测试,pb-boot可以刷入x-wrt提供的squashfs-breed-factory.bin作为底包,然后通过web界面选择squashfs-sysupgrade.bin不保留配置升级。实测可以通过breed-factory作为底包,通过web界面选择lede源码编译得到的squashfs-sysupgrade固件不保留配置强制升级!
注意④
237源码编译得到的固件不支持使用openwrt官方的sys修改方法启动,实测使用小米原厂uboot修改sys启动之后无法引导,只能拆机上ttl救砖!
想要深入研究R3P启动机制的朋友,可以自行对比immortalwrt、lede、padavanonly三份源码中的mt7621.mk以及3-pro.dts文件。
在这里贴一下三份源码中的mt7621.mk。
#immortalwrt源码
define Device/xiaomi_mi-router-3-pro
$(Device/nand)
$(Device/uimage-lzma-loader)
IMAGE_SIZE := 255488k
DEVICE_VENDOR := Xiaomi
DEVICE_MODEL := Mi Router 3 Pro
IMAGES += factory.bin
IMAGE/factory.bin := append-kernel | pad-to $$(KERNEL_SIZE) | append-ubi | \
check-size
DEVICE_PACKAGES := kmod-mt7615-firmware kmod-usb3 kmod-usb-ledtrig-usbport
SUPPORTED_DEVICES += xiaomi,mir3p
endef
TARGET_DEVICES += xiaomi_mi-router-3-pro
#lede源码
define Device/xiaomi_mi-router-3-pro
$(Device/dsa-migration)
$(Device/uimage-lzma-loader)
BLOCKSIZE := 128k
PAGESIZE := 2048
KERNEL_SIZE:= 4096k
UBINIZE_OPTS := -E 5
IMAGE_SIZE := 255488k
DEVICE_VENDOR := Xiaomi
DEVICE_MODEL := Mi Router 3 Pro
IMAGES += factory.bin
IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
IMAGE/factory.bin := append-kernel | pad-to $$(KERNEL_SIZE) | append-ubi | \
check-size
DEVICE_PACKAGES := kmod-mt7615-firmware kmod-usb3 \
kmod-usb-ledtrig-usbport uboot-envtools
SUPPORTED_DEVICES += xiaomi,mir3p
endef
TARGET_DEVICES += xiaomi_mi-router-3-pro
#padavanonly源码
define Device/xiaomi_mi-router-3-pro
$(Device/dsa-migration)
$(Device/uimage-lzma-loader)
BLOCKSIZE := 128k
PAGESIZE := 2048
KERNEL_SIZE:= 4096k
UBINIZE_OPTS := -E 5
IMAGE_SIZE := 255488k
DEVICE_VENDOR := Xiaomi
DEVICE_MODEL := Mi Router 3 Pro
IMAGES += factory.bin
IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
IMAGE/factory.bin := append-kernel | pad-to $$(KERNEL_SIZE) | \
append-kernel | pad-to $$(KERNEL_SIZE) | \
append-ubi | check-size
DEVICE_PACKAGES := kmod-mt7615d luci-app-mtwifi kmod-usb3 \
kmod-usb-ledtrig-usbport uboot-envtools
SUPPORTED_DEVICES += xiaomi,mir3p
endef
TARGET_DEVICES += xiaomi_mi-router-3-pro
|
|