When building e.g. armv6l or armv7l images with kiwi, an aarch64 kernel has to be used to run on modern hardware (CPU supports 32bit userspace but not kernels). The images build fine, but the resulting binaries claim they are for "armv8l".
This is because kiwi uses platform.machine from python by default, which evaluates to armv8l in this context. It can be overridden by setting --target-arch.
OBS already supports this option, but it's only used for true cross builds (target is a non native arch).
When building e.g. armv6l or armv7l images with kiwi, an aarch64 kernel has to be used to run on modern hardware (CPU supports 32bit userspace but not kernels). The images build fine, but the resulting binaries claim they are for "armv8l".
This is because kiwi uses
platform.machine
from python by default, which evaluates toarmv8l
in this context. It can be overridden by setting--target-arch
.OBS already supports this option, but it's only used for true cross builds (target is a non native arch).