mirror of
https://github.com/openwrt/openwrt.git
synced 2025-01-02 20:16:59 +00:00
ab8a5f2ea0
While cleaning up the makefiles for the realtek target, the order of the
default image generating commands was accidentally changed. This caused
the image signature to end up somewhere in the middle, misaligning the
rootfs. As a result, sysupgrade couldn't verify upgrade images anymore,
and devices end up in a boot loop due to the unaligned (and not found)
rootfs.
Fixes: 94d8b4852b
("realtek: Cleanup Makefiles")
Signed-off-by: Sander Vanheule <sander@svanheule.net>
115 lines
2.7 KiB
Makefile
115 lines
2.7 KiB
Makefile
# SPDX-License-Identifier: GPL-2.0-only
|
|
|
|
include $(TOPDIR)/rules.mk
|
|
include $(INCLUDE_DIR)/image.mk
|
|
|
|
KERNEL_LOADADDR = 0x80000000
|
|
KERNEL_ENTRY = 0x80000400
|
|
|
|
DEVICE_VARS += \
|
|
CAMEO_BOARD_VERSION \
|
|
CAMEO_CUSTOMER_SIGNATURE \
|
|
CAMEO_KERNEL_PART \
|
|
CAMEO_ROOTFS_PART \
|
|
DLINK_KERNEL_PART_SIZE \
|
|
H3C_DEVICE_ID \
|
|
H3C_PRODUCT_ID \
|
|
ZYXEL_VERS
|
|
|
|
define Build/zyxel-vers
|
|
( echo VERS;\
|
|
for hw in $(ZYXEL_VERS); do\
|
|
echo -n "V9.99($$hw.0) | ";\
|
|
date -d @$(SOURCE_DATE_EPOCH) +%m/%d/%Y;\
|
|
done ) >> $@
|
|
endef
|
|
|
|
define Build/dlink-cameo
|
|
$(SCRIPT_DIR)/cameo-tag.py $@ $(DLINK_KERNEL_PART_SIZE)
|
|
endef
|
|
|
|
define Build/dlink-version
|
|
echo -n "OpenWrt" >> $@
|
|
dd if=/dev/zero bs=25 count=1 >> $@
|
|
endef
|
|
|
|
define Build/dlink-headers
|
|
dd if=$@ bs=$(DLINK_KERNEL_PART_SIZE) count=1 of=$@.kernel_part; \
|
|
dd if=$@ bs=$(DLINK_KERNEL_PART_SIZE) skip=1 of=$@.rootfs_part; \
|
|
$(SCRIPT_DIR)/cameo-imghdr.py $@.kernel_part $@.kernel_part.hex \
|
|
"$(DEVICE_MODEL)" os $(CAMEO_KERNEL_PART) \
|
|
$(CAMEO_CUSTOMER_SIGNATURE) \
|
|
$(CAMEO_BOARD_VERSION) \
|
|
$(KERNEL_LOADADDR); \
|
|
$(SCRIPT_DIR)/cameo-imghdr.py $@.rootfs_part $@.rootfs_part.hex \
|
|
"$(DEVICE_MODEL)" squashfs $(CAMEO_ROOTFS_PART) \
|
|
$(CAMEO_CUSTOMER_SIGNATURE) \
|
|
$(CAMEO_BOARD_VERSION); \
|
|
cat $@.kernel_part.hex $@.rootfs_part.hex > $@
|
|
endef
|
|
|
|
define Build/7z
|
|
$(STAGING_DIR_HOST)/bin/7zr a $(@).new -t7z -m0=lzma $(@)
|
|
mv $@.new $@
|
|
endef
|
|
|
|
define Build/h3c-image
|
|
$(STAGING_DIR_HOST)/bin/mkh3cimg \
|
|
-i $(@) \
|
|
-o $(@).new \
|
|
-c 7z \
|
|
-p $(H3C_PRODUCT_ID) \
|
|
-d $(H3C_DEVICE_ID)
|
|
mv $@.new $@
|
|
endef
|
|
|
|
define Build/h3c-vfs
|
|
$(STAGING_DIR_HOST)/bin/mkh3cvfs \
|
|
-i $(@) \
|
|
-o $(@).new \
|
|
-f openwrt-kernel.bin
|
|
mv $@.new $@
|
|
endef
|
|
|
|
define Build/relocate-kernel
|
|
rm -rf $@.relocate
|
|
$(CP) ../../generic/image/relocate $@.relocate
|
|
$(MAKE) -j1 -C $@.relocate KERNEL_ADDR=$(KERNEL_LOADADDR) LZMA_TEXT_START=0x82000000 \
|
|
CROSS_COMPILE=$(TARGET_CROSS)
|
|
( \
|
|
dd if=$@.relocate/loader.bin bs=32 conv=sync && \
|
|
perl -e '@s = stat("$@"); print pack("N", @s[7])' && \
|
|
cat "$@" \
|
|
) > "$@.new"
|
|
mv "$@.new" "$@"
|
|
rm -rf $@.relocate
|
|
endef
|
|
|
|
define Device/Default
|
|
PROFILES = Default
|
|
KERNEL := \
|
|
kernel-bin | \
|
|
append-dtb | \
|
|
gzip | \
|
|
uImage gzip
|
|
KERNEL_INITRAMFS := \
|
|
kernel-bin | \
|
|
append-dtb | \
|
|
gzip | \
|
|
uImage gzip
|
|
DEVICE_DTS_DIR := ../dts-$(KERNEL_PATCHVER)
|
|
DEVICE_DTS = $$(SOC)_$(1)
|
|
IMAGES := sysupgrade.bin
|
|
IMAGE/sysupgrade.bin := \
|
|
append-kernel | \
|
|
pad-to 64k | \
|
|
append-rootfs | \
|
|
pad-rootfs | \
|
|
check-size | \
|
|
append-metadata
|
|
endef
|
|
|
|
include $(SUBTARGET).mk
|
|
|
|
$(eval $(call BuildImage))
|