Skip to content

Support to build armhf/arm64 platforms on arm based system#8458

Merged
xumia merged 1 commit intosonic-net:202012from
xumia:arm-on-arm-202012
Aug 13, 2021
Merged

Support to build armhf/arm64 platforms on arm based system#8458
xumia merged 1 commit intosonic-net:202012from
xumia:arm-on-arm-202012

Conversation

@xumia
Copy link
Collaborator

@xumia xumia commented Aug 13, 2021

Why I did it

Support to build armhf/arm64 platforms on arm based system without qemu simulator.
When building the armhf/arm64 on arm based system, it is not necessary to use qemu simulator.

How I did it

Build armhf on armhf system, or build arm64 on arm64 system, by default, qemu simulator will not be used.
When building armhf on arm64, and you have enabled armhf docker, then it will build images without simulator automatically. It is based how the docker service is run.

Docker base image change:
For amd64, change from debian:to amd64/debian:
For arm64, change from multiarch/debian-debootstrap:arm64- to arm64v8/debian:
For armhf, change from multiarch/debian-debootstrap:armhf- to arm32v7/debian:
See https://github.com/docker-library/official-images#architectures-other-than-amd64
The mapping relations:
arm32v6 --- armel
arm32v7 --- armhf
arm64v8 --- arm64

Docker image armhf deprecated info: https://hub.docker.com/r/armhf/debian, using arm32v7 instead.

How to verify it

Which release branch to backport (provide reason below if selected)

  • 201811
  • 201911
  • 202006
  • 202012

Description for the changelog

A picture of a cute animal (not mandatory but encouraged)

…#7731)

Why I did it
Support to build armhf/arm64 platforms on arm based system without qemu simulator.
When building the armhf/arm64 on arm based system, it is not necessary to use qemu simulator.

How I did it
Build armhf on armhf system, or build arm64 on arm64 system, by default, qemu simulator will not be used.
When building armhf on arm64, and you have enabled armhf docker, then it will build images without simulator automatically. It is based how the docker service is run.

Docker base image change:
For amd64, change from debian:to amd64/debian:
For arm64, change from multiarch/debian-debootstrap:arm64- to arm64v8/debian:
For armhf, change from multiarch/debian-debootstrap:armhf- to arm32v7/debian:
See https://github.com/docker-library/official-images#architectures-other-than-amd64
The mapping relations:
arm32v6 --- armel
arm32v7 --- armhf
arm64v8 --- arm64

Docker image armhf deprecated info: https://hub.docker.com/r/armhf/debian, using arm32v7 instead.
@xumia xumia requested a review from qiluo-msft August 13, 2021 01:57
@xumia xumia added the Build label Aug 13, 2021
@xumia xumia requested a review from liushilongbuaa August 13, 2021 05:57
@qiluo-msft
Copy link
Collaborator

Should this PR go on master branch first? and cherry-pick to 202012?

@xumia
Copy link
Collaborator Author

xumia commented Aug 13, 2021

Should this PR go on master branch first? and cherry-pick to 202012?

Yes, it has already merged in the master branch. There is a small conflict, so send a PR for it.

@xumia xumia merged commit b1c2659 into sonic-net:202012 Aug 13, 2021
@xumia xumia deleted the arm-on-arm-202012 branch August 13, 2021 11:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants