-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support using cross-compiler #7922
Comments
wander if you can fine a arm64 machine as the build environment? |
I think arm64 -> armhf would still technically be a cross-build. There may be some speed-ups that qemu-user-static can do since the instruction sets are more compatible but it'd still be slower than |
@xumia please take a look and evaluate |
@cpackham-atlnz , armhf can be built on arm64, should not a cross-build, it supports tests in the debian:armhf slave container. It takes time similar to amd64, about 5 hours, the same build takes 30+ hours using qemu. See armhf on arm64 build https://dev.azure.com/mssonic/build/_build/results?buildId=16912&view=results See instruction: https://thegeeklab.de/posts/run-arm32-docker-daemon-on-arm64-servers/ For cross build, it is another approach to reduce the build time. We have several meetings for the topic, we need to disable tests and do some change to support the feature. |
Description
It seems to take a really long time to build for a different architecture. This appears to be because the cross-compilation is done by making use of the qemu-user-static support for running foreign binaries which is several orders of magnitude slower that using a cross-compiler.
Steps to reproduce the issue:
make configure PLATFORM=marvell-armhf PLATFORM_ARCH=armhf
make target/sonic-marvell-armhf.bin
Describe the results you received:
Build takes a really long time
Describe the results you expected:
Build time should be comparable to a native build
Output of
show version
:N/A
Output of
show techsupport
:N/A
Additional information you deem important (e.g. issue happens only occasionally):
It makes sense to be able to re-use the pre-built debian packages for the non-SONiC bits of the OS but things that are built from source should be able to make use of a cross-compiler.
The text was updated successfully, but these errors were encountered: