lantiq: use new image build process for brnImages

LZMA compress the kernel without dictionary, otherwise brnboot fails to
uncompress the kernel.

The filesystem parameter of mkbrncmdline was dropped since the used
filesystem isn't exported in the kernel build step and at least in my
tests everything works without the parameter. If the parameter is
required for some reason, the static keyword "squashfs" can be used.

Signed-off-by: Mathias Kresin <openwrt@kresin.me>

SVN-Revision: 49241
This commit is contained in:
John Crispin 2016-04-26 11:43:28 +00:00
parent 2d255ac8d9
commit 517a6fab5f

View file

@ -39,12 +39,6 @@ define PatchKernelLzma
$(call CompressLzma,$(KDIR)/vmlinux$(2)-$(1).tmp,$(KDIR)/vmlinux$(2)-$(1).lzma) $(call CompressLzma,$(KDIR)/vmlinux$(2)-$(1).tmp,$(KDIR)/vmlinux$(2)-$(1).lzma)
endef endef
define MkBrnImage
mkbrncmdline -i $(KDIR)/vmlinux-$(5) -o $(KDIR)/vmlinux-$(5)-brn BRN-BOOT $(7)
$(call CompressLzma,$(KDIR)/vmlinux-$(5)-brn,$(KDIR)/vmlinux-$(5)-brn.lzma)
mkbrnimg -s $(1) -m $(2) -p $(3) -o $(4) $(KDIR)/vmlinux-$(5)-brn.lzma $(KDIR)/root.$(6)
endef
define MkImageLzma define MkImageLzma
mkimage -A mips -O linux -T kernel -a 0x80002000 -C lzma \ mkimage -A mips -O linux -T kernel -a 0x80002000 -C lzma \
-e 0x80002000 -n 'MIPS OpenWrt Linux-$(LINUX_VERSION)' \ -e 0x80002000 -n 'MIPS OpenWrt Linux-$(LINUX_VERSION)' \
@ -61,7 +55,6 @@ endef
define Image/Build/squashfs define Image/Build/squashfs
cat $(KDIR)/uImage-$(2) $(KDIR)/root.$(1) > $(BIN_DIR)/$(IMG_PREFIX)-$(2)-$(1).image cat $(KDIR)/uImage-$(2) $(KDIR)/root.$(1) > $(BIN_DIR)/$(IMG_PREFIX)-$(2)-$(1).image
$(call prepare_generic_squashfs,$(BIN_DIR)/$(IMG_PREFIX)-$(2)-$(1).image) $(call prepare_generic_squashfs,$(BIN_DIR)/$(IMG_PREFIX)-$(2)-$(1).image)
$(if $(3),$(call MkBrnImage,$(3),$(4),$(5),$(BIN_DIR)/$(IMG_PREFIX)-$(2)-$(3)-brnImage,$(2),$(1),$(6)))
endef endef
define Image/BuildNAND/squashfs define Image/BuildNAND/squashfs
@ -268,6 +261,14 @@ define Build/mktplinkfw2
-o $@ -o $@
endef endef
define Build/mkbrncmdline
mkbrncmdline -i $@ -o $@.new BRN-BOOT
mv $@.new $@
endef
define Build/mkbrnimg
mkbrnimg -s $(SIGNATURE) -m $(MAGIC) -p $(CRC32_POLY) -o $@ $(word 1,$^) $(word 2,$^)
endef
# Shared device definition: applies to every defined device # Shared device definition: applies to every defined device
define Device/Default define Device/Default
@ -291,6 +292,13 @@ define Device/lantiqTpLink
IMAGE/tplink := mktplinkfw2 IMAGE/tplink := mktplinkfw2
endef endef
define Device/lantiqBrnImage
KERNEL := kernel-bin | append-dtb | mkbrncmdline | lzma-no-dict
IMAGES := factory.bin
IMAGE/factory.bin := mkbrnimg
endef
DEVICE_VARS += SIGNATURE MAGIC CRC32_POLY
define lantiqTpLink define lantiqTpLink
define Device/$(1) define Device/$(1)
$$(Device/lantiqTpLink) $$(Device/lantiqTpLink)
@ -310,6 +318,17 @@ define lantiqImage
TARGET_DEVICES += $(1) TARGET_DEVICES += $(1)
endef endef
define lantiqBrnImage
define Device/$(1)
$$(Device/lantiqBrnImage)
DEVICE_PROFILE := $(1)
DEVICE_DTS := $(1)
SIGNATURE := $(2)
MAGIC := $(3)
CRC32_POLY := $(4)
endef
TARGET_DEVICES += $(1)
endef
ifeq ($(CONFIG_TARGET_lantiq_falcon),y) ifeq ($(CONFIG_TARGET_lantiq_falcon),y)
@ -404,14 +423,9 @@ $(eval $(call lantiqTpLink,TDW8970,TD-W8970v1))
$(eval $(call lantiqTpLink,TDW8980,TD-W8980v1)) $(eval $(call lantiqTpLink,TDW8980,TD-W8980v1))
$(eval $(call lantiqTpLink,VR200v,ArcherVR200V)) $(eval $(call lantiqTpLink,VR200v,ArcherVR200V))
$(eval $(call lantiqImage,VGV7510KW22NOR)) $(eval $(call lantiqImage,VGV7510KW22NOR))
$(eval $(call lantiqBrnImage,VGV7510KW22BRN,BRNDA6431,0x12345678,0x04c11db7))
Image/BuildKernel/Profile/VGV7510KW22BRN=$(call Image/BuildKernel/Template,VGV7510KW22BRN,$(1))
Image/Build/Profile/VGV7510KW22BRN=$(call Image/Build/$(1),$(1),VGV7510KW22BRN,BRNDA6431,0x12345678,0x04c11db7,$(1))
$(eval $(call lantiqImage,VGV7519NOR)) $(eval $(call lantiqImage,VGV7519NOR))
$(eval $(call lantiqBrnImage,VGV7519BRN,5D00008000,0x12345678,0x2083b8ed))
Image/BuildKernel/Profile/VGV7519BRN=$(call Image/BuildKernel/Template,VGV7519BRN,$(1))
Image/Build/Profile/VGV7519BRN=$(call Image/Build/$(1),$(1),VGV7519BRN,5D00008000,0x12345678,0x2083b8ed,$(1))
define Image/Prepare define Image/Prepare
$(call Image/Prepare/Profile,$(PROFILE)) $(call Image/Prepare/Profile,$(PROFILE))