The GOARCH and the GOARM environment variables being provided were conflicting: if we are using arm64, then GOARM is ignored. If we really wanted v7, then we should use GOARCH=arm and GOARM={5, 6, 7}. See: https://go.dev/wiki/GoArm for further documentation on ARM.
To align the development environment to what we actually ship through OBS, I have been more explicit on using arm64 v8, which is the latest version from the ARM family of microprocessors. I also thought on allowing this to be configureable, just in case a developer wanted to mess with older ARM devices, but we actually introduced some 64-bit dependencies when we added magic numbers like BTRFS_SUPER_MAGIC.
Because all of this, I have added further comments just in case we decide to go the extra mile for this architecture in the future.
The GOARCH and the GOARM environment variables being provided were conflicting: if we are using
arm64
, then GOARM is ignored. If we really wantedv7
, then we should use GOARCH=arm and GOARM={5, 6, 7}. See: https://go.dev/wiki/GoArm for further documentation on ARM.To align the development environment to what we actually ship through OBS, I have been more explicit on using arm64 v8, which is the latest version from the ARM family of microprocessors. I also thought on allowing this to be configureable, just in case a developer wanted to mess with older ARM devices, but we actually introduced some 64-bit dependencies when we added magic numbers like
BTRFS_SUPER_MAGIC
.Because all of this, I have added further comments just in case we decide to go the extra mile for this architecture in the future.