Selaa lähdekoodia

ramips: fix build error in ubnt-erx initramfs factory image

Build initramfs kernel image, but skip factory image if initramfs size
is too big.

Signed-off-by: Felix Fietkau <[email protected]>
Felix Fietkau 9 vuotta sitten
vanhempi
sitoutus
201dbb9fe8
2 muutettua tiedostoa jossa 5 lisäystä ja 4 poistoa
  1. 1 1
      target/linux/ramips/image/Makefile
  2. 4 3
      target/linux/ramips/image/mt7621.mk

+ 1 - 1
target/linux/ramips/image/Makefile

@@ -22,7 +22,7 @@ define Image/Build/Initramfs
 	$(call Image/Build/Profile/$(PROFILE),initramfs)
 endef
 
-DEVICE_VARS += DTS IMAGE_SIZE
+DEVICE_VARS += DTS IMAGE_SIZE KERNEL_SIZE
 
 loadaddr-y := 0x80000000
 loadaddr-$(CONFIG_TARGET_ramips_rt288x) := 0x88000000

+ 4 - 3
target/linux/ramips/image/mt7621.mk

@@ -12,7 +12,7 @@ define Build/seama-seal
 endef
 
 define Build/ubnt-erx-factory-image
-	if [ -e $(KDIR)/tmp/$(KERNEL_INITRAMFS_IMAGE) ]; then \
+	if [ -e $(KDIR)/tmp/$(KERNEL_INITRAMFS_IMAGE) -a "$$(stat -c%s $@)" -lt "$(KERNEL_SIZE)" ]; then \
 		echo '21001:6' > $(1).compat; \
 		$(TAR) -cf $(1) --transform='s/^.*/compat/' $(1).compat; \
 		\
@@ -30,6 +30,8 @@ define Build/ubnt-erx-factory-image
 		$(TAR) -rf $(1) --transform='s/^.*/version.tmp/' $(1).version; \
 		\
 		$(CP) $(1) $(BIN_DIR)/; \
+	else \
+		echo "WARNING: initramfs kernel image too big, cannot generate factory image" >&2; \
 	fi
 endef
 
@@ -155,8 +157,7 @@ define Device/ubnt-erx
   KERNEL_SIZE := 3145728
   KERNEL := $(KERNEL_DTB) | uImage lzma
   IMAGES := sysupgrade.tar
-  KERNEL_INITRAMFS := $$(KERNEL) | check-size $$(KERNEL_SIZE) | \
-			ubnt-erx-factory-image $(KDIR)/tmp/$$(KERNEL_INITRAMFS_PREFIX)-factory.tar
+  KERNEL_INITRAMFS := $$(KERNEL) | ubnt-erx-factory-image $(KDIR)/tmp/$$(KERNEL_INITRAMFS_PREFIX)-factory.tar
   IMAGE/sysupgrade.tar := sysupgrade-nand
   DEVICE_TITLE := Ubiquiti EdgeRouter X
   DEVICE_PACKAGES := -kmod-mt76 -kmod-rt2800-pci -kmod-cfg80211 -wpad-mini -iwinfo