openwrt/target/linux/at91/image/sam9x.mk
Petr Štetiar 3b669bc3f3 at91: sam9x,sama5: fix racy SD card image generation
We've few low spec (make -j3) build workers attached to the 22.03
buildbot instance which from time to time exhibit following build
failure during image generation (shortened for brewity):

 + dd bs=512 if=root.ext4 of=openwrt-22.03...sdcard.img.gz.img
 dd: failed to open 'root.ext4': No such file or directory

Thats happening likely due to the fact, that on buildbots we've
`TARGET_PER_DEVICE_ROOTFS=y` which produces differently named filesystem
image in the SD card image target dependency chain:

 make_ext4fs -L rootfs ... root.ext4+pkg=68b329da

and that hardcoded `root.ext4` image filename becomes available from
other Make targets in the later stages. So lets fix this issue by using
IMAGE_ROOTFS Make variable which should contain proper path to the root
filesystem image.

Fixing remaining subtargets ommited in commit 5c3679e39b ("at91:
sama7: fix racy SD card image generation").

Fixes: 5c3679e39b ("at91: sama7: fix racy SD card image generation")
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2023-01-11 15:23:18 +01:00

218 lines
5.2 KiB
Makefile

define Device/default-nand
BLOCKSIZE := 128k
PAGESIZE := 2048
SUBPAGESIZE := 512
MKUBIFS_OPTS := -m $$(PAGESIZE) -e 126KiB -c 2048
endef
define Build/at91-sdcard
$(if $(findstring ext4,$@), \
rm -f $@.boot
mkfs.fat -C $@.boot $(FAT32_BLOCKS)
mcopy -i $@.boot \
$(KDIR)/$(DEVICE_NAME)-fit-zImage.itb \
::$(DEVICE_NAME)-fit.itb
mcopy -i $@.boot \
$(BIN_DIR)/u-boot-$(if $(findstring sam9x60,$@),$(DEVICE_DTS:at91-%=%),at91sam9x5ek)_mmc/u-boot.bin \
::u-boot.bin
mcopy -i $@.boot \
$(BIN_DIR)/at91bootstrap-$(if $(findstring sam9x60,$@),$(DEVICE_DTS:at91-%=%),at91sam9x5ek)sd_uboot/at91bootstrap.bin \
::BOOT.bin
$(CP) uboot-env.txt $@-uboot-env.txt
sed -i '2d;3d' $@-uboot-env.txt
sed -i '2i board='"$(DEVICE_NAME)"'' $@-uboot-env.txt
sed -i '3i board_name='"$(firstword $(SUPPORTED_DEVICES))"'' $@-uboot-env.txt
mkenvimage -s 0x4000 -o $@-uboot.env $@-uboot-env.txt
mcopy -i $@.boot $@-uboot.env ::uboot.env
./gen_at91_sdcard_img.sh \
$@.img \
$@.boot \
$(IMAGE_ROOTFS) \
$(AT91_SD_BOOT_PARTSIZE) \
$(CONFIG_TARGET_ROOTFS_PARTSIZE)
gzip -nc9 $@.img > $@
rm -f $@.img $@.boot $@-uboot.env $@-uboot-env.txt)
endef
define Device/atmel_at91sam9263ek
$(Device/evaluation-dtb)
DEVICE_VENDOR := Atmel
DEVICE_MODEL := AT91SAM9263-EK
endef
TARGET_DEVICES += atmel_at91sam9263ek
define Device/atmel_at91sam9g15ek
$(Device/evaluation)
DEVICE_VENDOR := Atmel
DEVICE_MODEL := AT91SAM9G15-EK
endef
TARGET_DEVICES += atmel_at91sam9g15ek
define Device/atmel_at91sam9g20ek
$(Device/evaluation-dtb)
DEVICE_VENDOR := Atmel
DEVICE_MODEL := AT91SAM9G20-EK
endef
TARGET_DEVICES += atmel_at91sam9g20ek
define Device/atmel_at91sam9g20ek-2mmc
$(Device/evaluation-dtb)
DEVICE_VENDOR := Atmel
DEVICE_MODEL := AT91SAM9G20-EK
DEVICE_VARIANT := 2MMC
DEVICE_DTS := at91sam9g20ek_2mmc
SUPPORTED_DEVICES := atmel,at91sam9g20ek_2mmc
endef
TARGET_DEVICES += atmel_at91sam9g20ek-2mmc
define Device/atmel_at91sam9g25ek
$(Device/evaluation)
DEVICE_VENDOR := Atmel
DEVICE_MODEL := AT91SAM9G25-EK
endef
TARGET_DEVICES += atmel_at91sam9g25ek
define Device/atmel_at91sam9g35ek
$(Device/evaluation)
DEVICE_VENDOR := Atmel
DEVICE_MODEL := AT91SAM9G35-EK
endef
TARGET_DEVICES += atmel_at91sam9g35ek
define Device/atmel_at91sam9m10g45ek
$(Device/evaluation)
DEVICE_VENDOR := Atmel
DEVICE_MODEL := AT91SAM9M10G45-EK
endef
TARGET_DEVICES += atmel_at91sam9m10g45ek
define Device/atmel_at91sam9x25ek
$(Device/evaluation-dtb)
DEVICE_VENDOR := Atmel
DEVICE_MODEL := AT91SAM9X25-EK
$(Device/evaluation-sdimage)
endef
TARGET_DEVICES += atmel_at91sam9x25ek
define Device/atmel_at91sam9x35ek
$(Device/evaluation-dtb)
DEVICE_VENDOR := Atmel
DEVICE_MODEL := AT91SAM9X35-EK
$(Device/evaluation-sdimage)
endef
TARGET_DEVICES += atmel_at91sam9x35ek
define Device/microchip_sam9x60ek
$(Device/evaluation-dtb)
DEVICE_VENDOR := Microchip
DEVICE_MODEL := SAM9X60-EK
DEVICE_DTS := at91-sam9x60ek
$(Device/evaluation-sdimage)
endef
TARGET_DEVICES += microchip_sam9x60ek
define Device/calamp_lmu5000
$(Device/production)
DEVICE_VENDOR := CalAmp
DEVICE_MODEL := LMU5000
DEVICE_PACKAGES := kmod-rtc-pcf2123 kmod-usb-acm \
kmod-usb-serial-option kmod-usb-serial-sierrawireless \
kmod-pinctrl-mcp23s08-spi
endef
TARGET_DEVICES += calamp_lmu5000
define Device/calao_tny-a9260
$(Device/production-dtb)
DEVICE_VENDOR := Calao
DEVICE_MODEL := TNY A9260
DEVICE_DTS := tny_a9260
endef
TARGET_DEVICES += calao_tny-a9260
define Device/calao_tny-a9263
$(Device/production-dtb)
DEVICE_VENDOR := Calao
DEVICE_MODEL := TNY A9263
DEVICE_DTS := tny_a9263
SUPPORTED_DEVICES := atmel,tny-a9263
endef
TARGET_DEVICES += calao_tny-a9263
define Device/calao_tny-a9g20
$(Device/production-dtb)
DEVICE_VENDOR := Calao
DEVICE_MODEL := TNY A9G20
DEVICE_DTS := tny_a9g20
endef
TARGET_DEVICES += calao_tny-a9g20
define Device/calao_usb-a9260
$(Device/production-dtb)
DEVICE_VENDOR := Calao
DEVICE_MODEL := USB A9260
DEVICE_DTS := usb_a9260
endef
TARGET_DEVICES += calao_usb-a9260
define Device/calao_usb-a9263
$(Device/production-dtb)
DEVICE_VENDOR := Calao
DEVICE_MODEL := USB A9263
DEVICE_DTS := usb_a9263
SUPPORTED_DEVICES := atmel,usb-a9263
endef
TARGET_DEVICES += calao_usb-a9263
define Device/calao_usb-a9g20
$(Device/production-dtb)
DEVICE_VENDOR := Calao
DEVICE_MODEL := USB A9G20
DEVICE_DTS := usb_a9g20
endef
TARGET_DEVICES += calao_usb-a9g20
define Device/egnite_ethernut5
$(Device/evaluation)
DEVICE_VENDOR := egnite
DEVICE_MODEL := Ethernut 5
UBINIZE_OPTS := -E 5
endef
TARGET_DEVICES += egnite_ethernut5
define Device/exegin_q5xr5
$(Device/production-dtb)
DEVICE_VENDOR := Exegin
DEVICE_MODEL := Q5x
DEVICE_VARIANT := rev5
DEVICE_DTS := at91-q5xr5
KERNEL_SIZE := 2048k
DEFAULT := n
endef
TARGET_DEVICES += exegin_q5xr5
define Device/laird_wb45n
$(Device/evaluation-fit)
DEVICE_VENDOR := Laird
DEVICE_MODEL := WB45N
DEVICE_DTS := at91-wb45n
DEVICE_PACKAGES := \
kmod-mmc-at91 kmod-ath6kl-sdio ath6k-firmware \
kmod-usb-storage kmod-fs-vfat kmod-fs-msdos \
kmod-leds-gpio
BLOCKSIZE := 128k
PAGESIZE := 2048
SUBPAGESIZE := 2048
MKUBIFS_OPTS := -m $$(PAGESIZE) -e 124KiB -c 955
endef
TARGET_DEVICES += laird_wb45n