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: Thomas Nixon <tom@tomn.co.uk>
This commit is contained in:
parent
ac1c31c259
commit
8c88e23b99
1 changed files with 4 additions and 0 deletions
|
@ -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
|
||||||
|
|
Loading…
Reference in a new issue