mediatek: mt7622: modernize Linksys E8450 / Belkin RT3200 UBI build
Move fip and factory into UBI static volumes. Use fitblk instead of partition parser. !! RUN INSTALLER FIRST !! Existing users of previous OpenWrt releases or snapshot builds will have to **re-run the updated installer** before upgrading to firmware after this commit. DO NOT flash or run even just the initramfs image unless you have run the updated installer which moves the content of the 'factory' partition into a UBI volume. tl;dr: DON'T USE YET! Signed-off-by: Daniel Golle <daniel@makrotopia.org>
This commit is contained in:
@@ -10,6 +10,11 @@
|
||||
aliases {
|
||||
label-mac-device = &wan;
|
||||
};
|
||||
|
||||
chosen {
|
||||
rootdisk = <&ubi_rootfs>;
|
||||
bootargs = "earlycon=uart8250,mmio32,0x11002000 console=ttyS0,115200n1 swiotlb=512 ubi.block=0,fit root=/dev/fit0";
|
||||
};
|
||||
};
|
||||
|
||||
&snand {
|
||||
@@ -25,45 +30,70 @@
|
||||
};
|
||||
|
||||
partition@80000 {
|
||||
label = "fip";
|
||||
reg = <0x80000 0x140000>;
|
||||
read-only;
|
||||
};
|
||||
label = "ubi";
|
||||
reg = <0x80000 0x7f80000>;
|
||||
compatible = "linux,ubi";
|
||||
|
||||
factory: partition@1c0000 {
|
||||
label = "factory";
|
||||
reg = <0x1c0000 0x100000>;
|
||||
read-only;
|
||||
|
||||
nvmem-layout {
|
||||
compatible = "fixed-layout";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
macaddr_factory_7fff4: macaddr@7fff4 {
|
||||
reg = <0x7fff4 0x6>;
|
||||
volumes {
|
||||
ubi-volume-ubootenv {
|
||||
volname = "ubootenv";
|
||||
nvmem-layout {
|
||||
compatible = "u-boot,env-redundant-bool-layout";
|
||||
};
|
||||
};
|
||||
|
||||
macaddr_factory_7fffa: macaddr@7fffa {
|
||||
reg = <0x7fffa 0x6>;
|
||||
ubi-volume-ubootenv2 {
|
||||
volname = "ubootenv2";
|
||||
nvmem-layout {
|
||||
compatible = "u-boot,env-redundant-bool-layout";
|
||||
};
|
||||
};
|
||||
|
||||
ubi_rootfs: ubi-volume-fit {
|
||||
volname = "fit";
|
||||
};
|
||||
|
||||
ubi_factory: ubi-volume-factory {
|
||||
volname = "factory";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
partition@300000 {
|
||||
label = "ubi";
|
||||
reg = <0x300000 0x7d00000>;
|
||||
&ubi_factory {
|
||||
nvmem-layout {
|
||||
compatible = "fixed-layout";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
eeprom_factory_0: eeprom@0 {
|
||||
reg = <0x0 0x4da8>; /* actual length 0x400 */
|
||||
};
|
||||
|
||||
eeprom_factory_5000: eeprom@5000 {
|
||||
reg = <0x5000 0xe00>;
|
||||
};
|
||||
|
||||
macaddr_factory_7fff4: macaddr@7fff4 {
|
||||
reg = <0x7fff4 0x6>;
|
||||
};
|
||||
|
||||
macaddr_factory_7fffa: macaddr@7fffa {
|
||||
reg = <0x7fffa 0x6>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&wmac {
|
||||
mediatek,mtd-eeprom = <&factory 0x0>;
|
||||
nvmem-cells = <&eeprom_factory_0>;
|
||||
nvmem-cell-names = "eeprom";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&wmac1 {
|
||||
mediatek,mtd-eeprom = <&factory 0x5000>;
|
||||
nvmem-cells = <&eeprom_factory_5000>;
|
||||
nvmem-cell-names = "eeprom";
|
||||
};
|
||||
|
||||
&gmac0 {
|
||||
|
||||
@@ -256,7 +256,7 @@ define Device/linksys_e8450-ubi
|
||||
DEVICE_ALT0_VARIANT := UBI
|
||||
DEVICE_DTS := mt7622-linksys-e8450-ubi
|
||||
DEVICE_DTS_DIR := ../dts
|
||||
DEVICE_PACKAGES := kmod-mt7915-firmware kmod-usb3
|
||||
DEVICE_PACKAGES := fitblk kmod-mt7915-firmware kmod-usb3
|
||||
UBINIZE_OPTS := -E 5
|
||||
BLOCKSIZE := 128k
|
||||
PAGESIZE := 2048
|
||||
@@ -270,8 +270,10 @@ define Device/linksys_e8450-ubi
|
||||
IMAGES := sysupgrade.itb
|
||||
IMAGE/sysupgrade.itb := append-kernel | fit gzip $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-static-with-rootfs | append-metadata
|
||||
ARTIFACTS := preloader.bin bl31-uboot.fip
|
||||
ARTIFACT/preloader.bin := bl2 snand-1ddr
|
||||
ARTIFACT/preloader.bin := bl2 snand-ubi-1ddr
|
||||
ARTIFACT/bl31-uboot.fip := bl31-uboot linksys_e8450
|
||||
DEVICE_COMPAT_VERSION := 2.0
|
||||
DEVICE_COMPAT_MESSAGE := SPI-NAND flash layout changes require bootloader update
|
||||
endef
|
||||
TARGET_DEVICES += linksys_e8450-ubi
|
||||
|
||||
|
||||
@@ -8,6 +8,9 @@ case "$(board_name)" in
|
||||
bananapi,bpi-r64)
|
||||
ucidef_set_compat_version "1.2"
|
||||
;;
|
||||
linksys,e8450-ubi)
|
||||
ucidef_set_compat_version "2.0"
|
||||
;;
|
||||
esac
|
||||
|
||||
board_config_flush
|
||||
|
||||
@@ -9,6 +9,10 @@ case "$(board_name)" in
|
||||
uci set system.@system[0].compat_version="1.1"
|
||||
uci commit system
|
||||
;;
|
||||
linksys,e8450-ubi)
|
||||
uci set system.@system[0].compat_version="2.0"
|
||||
uci commit system
|
||||
;;
|
||||
esac
|
||||
|
||||
exit 0
|
||||
|
||||
@@ -22,6 +22,7 @@ platform_do_upgrade() {
|
||||
|
||||
case "$board" in
|
||||
bananapi,bpi-r64|\
|
||||
linksys,e8450-ubi|\
|
||||
ubnt,unifi-6-lr-v1-ubootmod|\
|
||||
ubnt,unifi-6-lr-v2-ubootmod|\
|
||||
ubnt,unifi-6-lr-v3-ubootmod)
|
||||
@@ -66,10 +67,6 @@ platform_do_upgrade() {
|
||||
xiaomi,redmi-router-ax6s)
|
||||
nand_do_upgrade "$1"
|
||||
;;
|
||||
linksys,e8450-ubi)
|
||||
CI_KERNPART="fit"
|
||||
nand_do_upgrade "$1"
|
||||
;;
|
||||
linksys,e8450)
|
||||
if grep -q mtdparts=slave /proc/cmdline; then
|
||||
PART_NAME=firmware2
|
||||
|
||||
@@ -257,6 +257,7 @@ CONFIG_MTD_UBI=y
|
||||
CONFIG_MTD_UBI_BEB_LIMIT=20
|
||||
CONFIG_MTD_UBI_BLOCK=y
|
||||
CONFIG_MTD_UBI_FASTMAP=y
|
||||
CONFIG_MTD_UBI_NVMEM=y
|
||||
CONFIG_MTD_UBI_WL_THRESHOLD=4096
|
||||
# CONFIG_MTK_CMDQ is not set
|
||||
# CONFIG_MTK_CQDMA is not set
|
||||
|
||||
Reference in New Issue
Block a user