mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-22 06:57:57 +00:00
lantiq: rework VG3503J image
Use the new image build code and remove the lzma loader. The lzma loader was used to cheat the signature validation of the bootloader and I found another way to do this. To migrate boards already using LEDE/OpenWrt to the new image the following steps need to be done once: VR9 # run reset_uboot_config VR9 # reset VR9 # setenv ethaddr AA:BB:CC:DD:EE:FF VR9 # setenv preboot ping 1.1.1.1\;bootm 0xb001f000 VR9 # saveenv VR9 # tftp 0x81000000 lede-lantiq-xrx200-VG3503J-squashfs-sysupgrade.bin VR9 # erase 0xb0020000 $(filesize) VR9 # cp.b 0x81000000 0xb0020000 $(filesize) The mac address is printed on the label at the bottom of the case. The following steps are need to be done during first install: VR9 # setenv preboot ping 1.1.1.1\;bootm 0xb001f000 VR9 # saveenv VR9 # tftp 0x81000000 lede-lantiq-xrx200-VG3503J-squashfs-sysupgrade.bin VR9 # erase 0xb0020000 $(filesize) VR9 # cp.b 0x81000000 0xb0020000 $(filesize) The image uses the uImage firmware splitter now instead of hardcoded kernel and rootfs partitions. The firmware partition size was extended to use flash space that was reserved for partitions required only by the ECI firmware. Due to the changes an upgrade to a later LEDE revision from a running LEDE is supported now. A default switch config was added and the device uses the same MAC addresses as the ECI firmware now instead of the same for all VG3503J. Signed-off-by: Mathias Kresin <dev@kresin.me>
This commit is contained in:
parent
0c3de24d92
commit
17094e9e64
@ -120,6 +120,13 @@ TDW8970|TDW8980)
|
|||||||
"0:lan:2" "2:lan:3" "4:lan:4" "5:lan:1" "6t@eth0"
|
"0:lan:2" "2:lan:3" "4:lan:4" "5:lan:1" "6t@eth0"
|
||||||
;;
|
;;
|
||||||
|
|
||||||
|
VG3503J)
|
||||||
|
lan_mac=$(mtd_get_mac_ascii uboot-env ethaddr)
|
||||||
|
wan_mac=$(macaddr_add "$lan_mac" 1)
|
||||||
|
ucidef_add_switch "switch0" \
|
||||||
|
"2:lan:1" "4:lan:2" "6t@eth0"
|
||||||
|
;;
|
||||||
|
|
||||||
VR200v)
|
VR200v)
|
||||||
wan_mac=$(macaddr_add "$(mtd_get_mac_binary romfile 61696)" 1)
|
wan_mac=$(macaddr_add "$(mtd_get_mac_binary romfile 61696)" 1)
|
||||||
ucidef_add_switch "switch0" \
|
ucidef_add_switch "switch0" \
|
||||||
|
@ -42,37 +42,12 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
partition@20000 {
|
partition@20000 {
|
||||||
label = "kernel";
|
label = "firmware";
|
||||||
reg = <0x20000 0x300000>;
|
reg = <0x20000 0x7d0000>;
|
||||||
};
|
|
||||||
|
|
||||||
partition@1a0000 {
|
|
||||||
label = "rootfs";
|
|
||||||
reg = <0x320000 0x420000>;
|
|
||||||
};
|
|
||||||
|
|
||||||
partition@740000 {
|
|
||||||
label = "btagent";
|
|
||||||
reg = <0x740000 0x80000>;
|
|
||||||
};
|
|
||||||
|
|
||||||
partition@7c0000 {
|
|
||||||
label = "pri_bfocus_cfg";
|
|
||||||
reg = <0x7c0000 0x10000>;
|
|
||||||
};
|
|
||||||
|
|
||||||
partition@7d0000 {
|
|
||||||
label = "sec_bfocus_cfg";
|
|
||||||
reg = <0x7d0000 0x10000>;
|
|
||||||
};
|
|
||||||
|
|
||||||
partition@7e0000 {
|
|
||||||
label = "sysconfig";
|
|
||||||
reg = <0x7e0000 0x10000>;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
partition@7f0000 {
|
partition@7f0000 {
|
||||||
label = "misc_cfg";
|
label = "uboot-env";
|
||||||
reg = <0x7f0000 0x10000>;
|
reg = <0x7f0000 0x10000>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@ -145,7 +120,7 @@
|
|||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
reg = <0>;
|
reg = <0>;
|
||||||
mac-address = [ 00 11 22 33 44 55 ];
|
|
||||||
lantiq,switch;
|
lantiq,switch;
|
||||||
ethernet@2 {
|
ethernet@2 {
|
||||||
compatible = "lantiq,xrx200-pdi-port";
|
compatible = "lantiq,xrx200-pdi-port";
|
||||||
|
@ -22,17 +22,6 @@ else
|
|||||||
UBIFS_OPTS := -m 2048 -e 126KiB -c 4096
|
UBIFS_OPTS := -m 2048 -e 126KiB -c 4096
|
||||||
endif
|
endif
|
||||||
|
|
||||||
LOADER_MAKE := $(NO_TRACE_MAKE) -C lzma-loader KDIR=$(KDIR)
|
|
||||||
|
|
||||||
define Image/BuildLoader/Template
|
|
||||||
-rm -rf $(KDIR)/lzma-loader
|
|
||||||
$(LOADER_MAKE) LOADER=loader$(2)-$(1).bin\
|
|
||||||
LZMA_TEXT_START=0x80a00000 \
|
|
||||||
LOADADDR=0x80002000 \
|
|
||||||
LOADER_DATA="$(KDIR)/vmlinux$(2)-$(1).lzma" BOARD="$(1)" \
|
|
||||||
compile loader.bin
|
|
||||||
endef
|
|
||||||
|
|
||||||
define Build/eva-image
|
define Build/eva-image
|
||||||
lzma2eva $(KERNEL_LOADADDR) $(KERNEL_LOADADDR) $@ $@.new
|
lzma2eva $(KERNEL_LOADADDR) $(KERNEL_LOADADDR) $@ $@.new
|
||||||
( dd if=$@.new bs=64k conv=sync; cat ./eva.dummy.squashfs; ) > $@
|
( dd if=$@.new bs=64k conv=sync; cat ./eva.dummy.squashfs; ) > $@
|
||||||
@ -98,12 +87,6 @@ define Image/BuildDGN3500B/squashfs
|
|||||||
endef
|
endef
|
||||||
|
|
||||||
|
|
||||||
define Image/BuildLoader/squashfs
|
|
||||||
dd if=$(KDIR)/loader-$(2).bin of=$(KDIR)/loader-$(2).bin.padded bs=3072k conv=sync
|
|
||||||
cat $(KDIR)/loader-$(2).bin.padded $(KDIR)/root.$(1) > $(BIN_DIR)/$(IMG_PREFIX)-$(2)-$(1).image
|
|
||||||
$(call prepare_generic_squashfs,$(BIN_DIR)/$(IMG_PREFIX)-$(2)-$(1).image)
|
|
||||||
endef
|
|
||||||
|
|
||||||
ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),)
|
ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),)
|
||||||
define Image/BuildKernel/InitramfsTemplate
|
define Image/BuildKernel/InitramfsTemplate
|
||||||
$(call PatchKernelLzma,$(1),-initramfs)
|
$(call PatchKernelLzma,$(1),-initramfs)
|
||||||
@ -119,32 +102,6 @@ define Image/BuildKernel/Template
|
|||||||
$(Image/BuildKernel/InitramfsTemplate)
|
$(Image/BuildKernel/InitramfsTemplate)
|
||||||
endef
|
endef
|
||||||
|
|
||||||
ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),)
|
|
||||||
define Image/BuildKernelLoader/InitramfsTemplate
|
|
||||||
$(CP) $(KDIR)/loader-initramfs-$(1).bin $(BIN_DIR)/$(IMG_PREFIX)-$(1)-vmlinux-initramfs-loader
|
|
||||||
$(CP) $(KDIR)/vmlinux-initramfs-$(1) $(BIN_DIR)/$(IMG_PREFIX)-$(1)-vmlinux-initramfs
|
|
||||||
endef
|
|
||||||
endif
|
|
||||||
|
|
||||||
define Image/BuildKernelLoader/Template
|
|
||||||
$(CP) $(KDIR)/loader-$(1).bin $(BIN_DIR)/$(IMG_PREFIX)-$(1)-vmlinux-loader
|
|
||||||
$(CP) $(KDIR)/vmlinux-$(1) $(BIN_DIR)/$(IMG_PREFIX)-$(1)-vmlinux
|
|
||||||
$(Image/BuildKernelLoader/InitramfsTemplate)
|
|
||||||
endef
|
|
||||||
|
|
||||||
ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),)
|
|
||||||
define Image/Prepare/InitramfsTemplate
|
|
||||||
$(call PatchKernelLzma,$(1),-initramfs)
|
|
||||||
$(call Image/BuildLoader/Template,$(1),-initramfs)
|
|
||||||
endef
|
|
||||||
endif
|
|
||||||
|
|
||||||
define Image/Prepare/Template
|
|
||||||
$(call PatchKernelLzma,$(1))
|
|
||||||
$(call Image/BuildLoader/Template,$(1))
|
|
||||||
$(Image/Prepare/InitramfsTemplate)
|
|
||||||
endef
|
|
||||||
|
|
||||||
### Kernel scripts ###
|
### Kernel scripts ###
|
||||||
define Build/mkbrncmdline
|
define Build/mkbrncmdline
|
||||||
mkbrncmdline -i $@ -o $@.new BRN-BOOT
|
mkbrncmdline -i $@ -o $@.new BRN-BOOT
|
||||||
@ -623,14 +580,11 @@ define Device/FRITZ7360SL
|
|||||||
endef
|
endef
|
||||||
TARGET_DEVICES += FRITZ7360SL
|
TARGET_DEVICES += FRITZ7360SL
|
||||||
|
|
||||||
Image/Prepare/Profile/VG3503J=$(call Image/Prepare/Template,VG3503J)
|
define Device/VG3503J
|
||||||
Image/BuildKernel/Profile/VG3503J=$(call Image/BuildKernelLoader/Template,VG3503J)
|
IMAGE_SIZE := 8000k
|
||||||
Image/Build/Profile/VG3503J=$(call Image/BuildLoader/$(1),$(1),VG3503J)
|
DEVICE_TITLE := BT OpenReach - ECI VDSL Modem
|
||||||
|
|
||||||
define LegacyDevice/VG3503J
|
|
||||||
DEVICE_TITLE := BT Openreak - ECI VDSL Modem
|
|
||||||
endef
|
endef
|
||||||
LEGACY_DEVICES += VG3503J
|
TARGET_DEVICES += VG3503J
|
||||||
|
|
||||||
include tp-link.mk
|
include tp-link.mk
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user