[CentOS-devel] Building ARM64 RPMs on AMD64?

Sat Dec 5 20:33:09 UTC 2020
Simon Matter <simon.matter at invoca.ch>

> On Sat, Dec 5, 2020 at 2:35 PM Mihai Moldovan <ionic at ionic.de> wrote:
>>
>> [Resent this message to the list without aa GPG signature, since my
>> signature
>> blows the message up past the 50 KB mark... meh.]
>>
>> * On 12/5/20 8:15 PM, Simon Matter wrote:
>> > [...]
>> > We are thinking about adding ARM64 based devices to our systems.
>> >
>> > As we are using CentOS almost everywhere and have quite a number of
>> > inhouse RPM packages in our company repository, we'd like to enhance
>> it
>> > and add ARM64 alias aarch64 to it.
>> >
>> > What I'm still wondering is how to run the build environment for the
>> new
>> > arch?
>> >
>> > How does the CentOS project do it, run ARM64 hardware or using
>> emulation?
>> > Or to ask differently, is it an option to run the build system
>> emulated
>> > with QEMU?
>>
>> I cannot speak for the CentOS project, but I'm doing something along
>> those
>> lines, albeit in a Debian-context with sbuild chroots (which are static,
>> compared to mock's chroots, so getting this stuff working with mock
>> could be
>> painful).
>>
>> Essentially, you can leverage the binfmt_misc Linux kernel feature inn
>> tandem
>> with qemu-static-user binaries. The Fedora package name for that is
>> qemu-user-static, I believe it's the same for CentOS.
>
> I'd use "mock" on an arm64 architecture host. If I lack spare
> hardware, I'd grab an AWS account and run mock in a CentOS 8 AMI. The
> mock provided for Amazon Linux is, I'm afraid, a bit out of date and
> tricky to manage due to "createrepo" versus "createrepo_c"
> dependencies.

Thanks for all who answered so far.
We're not using mock but use our own build system to build for a number of
distributions. It still uses an older python based createrepo which I
hoped would also work for the aarch64 packages. Will it work at all for
aarch64 RPMs?

Will running a whole ARM64 VM going to be stable enough, I mean one with
QEMU?

Thanks,
Simon