Skip to content
Snippets Groups Projects
Commit 8c88e23b authored by Thomas Nixon's avatar Thomas Nixon Committed by Mathias Kresin
Browse files

lantiq: fix DM200 boot with fake uImage headers


The latest bootloader versions load the firmware into memory and call
`chk_dniimg` (defined in Netgear GPL release), which expects to find
three consecutive block-aligned uImages. Add two fake uImage headers
after the kernel to fool this check.

This wastes up to 128k of space for alignment. The alternative would be
to put the rootfs in a second uImage, but this would limit the firmware
size to 0x710000 (the number of bytes loaded and verified by the
bootloader) instead of 0x7b0000 (the size of the firmware partition).

Signed-off-by: default avatarThomas Nixon <tom@tomn.co.uk>
parent ac1c31c2
No related branches found
No related tags found
No related merge requests found
...@@ -584,6 +584,10 @@ TARGET_DEVICES += bt_homehub-v5a ...@@ -584,6 +584,10 @@ TARGET_DEVICES += bt_homehub-v5a
define Device/netgear_dm200 define Device/netgear_dm200
DEVICE_DTS := DM200 DEVICE_DTS := DM200
IMAGES := sysupgrade.bin factory.img IMAGES := sysupgrade.bin factory.img
IMAGE/sysupgrade.bin := append-kernel | \
pad-offset 64k 64 | append-uImage-fakeroot-hdr | \
pad-offset 64k 64 | append-uImage-fakeroot-hdr | \
append-rootfs | pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE)
IMAGE/factory.img := $$(IMAGE/sysupgrade.bin) | netgear-dni IMAGE/factory.img := $$(IMAGE/sysupgrade.bin) | netgear-dni
IMAGE_SIZE := 7872k IMAGE_SIZE := 7872k
DEVICE_TITLE := Netgear DM200 DEVICE_TITLE := Netgear DM200
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment