Hullo
We’ve been building packages for Raspbian; specifically varous Python wheels. The approach has been to use x86 based cloud vms with Resin.io’s docker stuff ‘resinio-xbuild&QEMU’ (http://bit.ly/2Ark1KI). This spins up a docker container within the vm that can run some commands in a qemu cpu emulator and others in the native cpu architecture of the host. However, given Raspian’s history, the images are all for 32bit ARM (v7).
Rather that dig out the magic for aarch64, I thought I’d ask whether the fedora build process uses this or another approach for building the binaries, to see if there are any other ideas that are worth checking.
tia
Tim
Hi TIm,
We’ve been building packages for Raspbian; specifically varous Python wheels. The approach has been to use x86 based cloud vms with Resin.io’s docker stuff ‘resinio-xbuild&QEMU’ (http://bit.ly/2Ark1KI). This spins up a docker container within the vm that can run some commands in a qemu cpu emulator and others in the native cpu architecture of the host. However, given Raspian’s history, the images are all for 32bit ARM (v7).
Rather that dig out the magic for aarch64, I thought I’d ask whether the fedora build process uses this or another approach for building the binaries, to see if there are any other ideas that are worth checking.
Fedora uses native compilation for all architectures and actually has a policy to do so, the cross toolchain is only really supported for thinks like the kernel/U-Boot and other such "not userspace" style binaries. I'm sure there are tools that would allow that style of build but the only one I know of that has this sort of thing is OBS (Open Build Service) from the SUSE guys, I'm not sure whether that extends to containers or is only rpms.
Peter
Thanks Peter. I can understand that policy. I’ll try to chase down the relevant magic number, then.
fwiw, the resin.io approach worked well for smallish builds as it means that we can set up CD pipelines on any cloud. An emergimg issue is going to be, I suspect, that some of our upstream Raspberry pi software will be only built for ARMv7. I’ll keep an eye out for the proportion of pypi wheels that are armv7 vs aarch64, and try to encourage wheel builders, and other binary builders to support both ;-)
Tim
On 23 Sep 2018, at 09:34, Peter Robinson pbrobinson@gmail.com wrote:
Hi TIm,
We’ve been building packages for Raspbian; specifically varous Python wheels. The approach has been to use x86 based cloud vms with Resin.io’s docker stuff ‘resinio-xbuild&QEMU’ (http://bit.ly/2Ark1KI). This spins up a docker container within the vm that can run some commands in a qemu cpu emulator and others in the native cpu architecture of the host. However, given Raspian’s history, the images are all for 32bit ARM (v7).
Rather that dig out the magic for aarch64, I thought I’d ask whether the fedora build process uses this or another approach for building the binaries, to see if there are any other ideas that are worth checking.
Fedora uses native compilation for all architectures and actually has a policy to do so, the cross toolchain is only really supported for thinks like the kernel/U-Boot and other such "not userspace" style binaries. I'm sure there are tools that would allow that style of build but the only one I know of that has this sort of thing is OBS (Open Build Service) from the SUSE guys, I'm not sure whether that extends to containers or is only rpms.
Peter _______________________________________________ IoT mailing list -- iot@lists.fedoraproject.org To unsubscribe send an email to iot-leave@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/iot@lists.fedoraproject.org
On Sun, Sep 23, 2018 at 8:11 PM Tim Coote tim+fedoraproject.org@coote.org wrote:
Thanks Peter. I can understand that policy. I’ll try to chase down the relevant magic number, then.
fwiw, the resin.io approach worked well for smallish builds as it means that we can set up CD pipelines on any cloud. An emergimg issue is going to be, I suspect, that some of our upstream Raspberry pi software will be only built for ARMv7. I’ll keep an eye out for the proportion of pypi wheels that are armv7 vs aarch64, and try to encourage wheel builders, and other binary builders to support both ;-)
Let me know if you run into any issues around that, Arm and other places may be able to assist us with issues with packages in pypi.
Tim
On 23 Sep 2018, at 09:34, Peter Robinson pbrobinson@gmail.com wrote:
Hi TIm,
We’ve been building packages for Raspbian; specifically varous Python wheels. The approach has been to use x86 based cloud vms with Resin.io’s docker stuff ‘resinio-xbuild&QEMU’ (http://bit.ly/2Ark1KI). This spins up a docker container within the vm that can run some commands in a qemu cpu emulator and others in the native cpu architecture of the host. However, given Raspian’s history, the images are all for 32bit ARM (v7).
Rather that dig out the magic for aarch64, I thought I’d ask whether the fedora build process uses this or another approach for building the binaries, to see if there are any other ideas that are worth checking.
Fedora uses native compilation for all architectures and actually has a policy to do so, the cross toolchain is only really supported for thinks like the kernel/U-Boot and other such "not userspace" style binaries. I'm sure there are tools that would allow that style of build but the only one I know of that has this sort of thing is OBS (Open Build Service) from the SUSE guys, I'm not sure whether that extends to containers or is only rpms.
Peter _______________________________________________ IoT mailing list -- iot@lists.fedoraproject.org To unsubscribe send an email to iot-leave@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/iot@lists.fedoraproject.org
IoT mailing list -- iot@lists.fedoraproject.org To unsubscribe send an email to iot-leave@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/iot@lists.fedoraproject.org