Image name format

I have a Makefile that automates imagebuilder. It expects the result will be
bin/targets/${TARGET}/${SUBTARGET}/openwrt-${RELEASE}-${TARGET}-${SUBTARGET}-${PLATFORM}-${IMAGE}

where

RELEASE=19.07.4
TARGET=mvebu
SUBTARGET=cortexa9
PLATFORM=linksys_wrt1900ac
IMAGE=squashfs-sysupgrade.bin

for example. And it works fine for different devices, except

TARGET=x86
SUBTARGET=64
PLATFORM=Generic
IMAGE=combined-squashfs.img.gz

as make image PLATFORM=Generic produces
openwrt-19.07.4-x86-64-combined-squashfs.img.gz
instead of
openwrt-19.07.4-x86-64-Generic-combined-squashfs.img.gz

Is this an error of imagebuilder or in my logic? How to fix it?

There's no platform in the image name for the 19.07 branch and x86/64 target:

% make info
...
Available Profiles:

Generic:
    Generic

and rootfs is generic: https://downloads.openwrt.org/releases/19.07.4/targets/x86/64/openwrt-19.07.4-x86-64-generic-rootfs.tar.gz

1 Like

The snapshots have proper naming:

So it looks like an imagebuilder error.

1 Like

https://downloads.openwrt.org/snapshots/targets/x86/64/openwrt-imagebuilder-x86-64.Linux-x86_64.tar.xz produces openwrt-x86-64-generic-combined-squashfs.img.gz

You are overestimating the uniformity of the image naming between different targets, calling this an error is a bit far fetched. Yes, there are some (recent) efforts to streamline image generation between targets (and to augment that with JSON meta data), but there are no strict guarantees about the naming (patches harmonizing this further are likely to be accepted for master, but there's nothing to 'fix').

1 Like