Skip to content
This repository was archived by the owner on May 30, 2023. It is now read-only.

enable arm64 SDK bootstrap#1130

Merged
jepio merged 7 commits intomainfrom
jepio/arm64-sdk-support
Aug 3, 2021
Merged

enable arm64 SDK bootstrap#1130
jepio merged 7 commits intomainfrom
jepio/arm64-sdk-support

Conversation

@jepio
Copy link
Copy Markdown
Contributor

@jepio jepio commented Jul 23, 2021

enable arm64 SDK bootstrap

This PR adjusts profiles and ebuild keywords to enable arm64 SDK to be bootstrapped. There is some stuff that needed fixing in the rust ebuild as well.

How to use

Provision powerful arm64 machine.
Fetch flatcar/scripts#134
Fetch stage4 from flatcar/Flatcar#319 (comment).
./bootstrap_sdk --seed_tarball=...

jepio added 6 commits July 19, 2021 15:08
Where the packages are part of coreos-overlay, I keyworded the ebuilds
directly to the same level of stability as amd64. Other packages have
been keyworded through the profile, as close to the amd64 level as I
could manage.

Signed-off-by: Jeremi Piotrowski <jpiotrowski@microsoft.com>
kola-data and google-cloud-sdk install pre-built amd64 binaries, so
there's no point installing them right now. Both could be made to work
at a later time. iucode and syslinux and are x86 specific and won't
build. selinux related packages *currently* don't work/build on arm64
but could be made to work.

Signed-off-by: Jeremi Piotrowski <jpiotrowski@microsoft.com>
glib-utils are used during the build so they need to be part of host
dependencies for update_engine. This only really pops up during a repeat
bootstrap, when update_engine is being built from source but glib has
been installed from a binary. BDEPEND would be the correct variable but
that requires EAPI=7, so additionally added it to DEPEND for now.

Signed-off-by: Jeremi Piotrowski <jpiotrowski@microsoft.com>
…profile

So that it can apply to both arm64 and amd64 sdk profiles.

Signed-off-by: Jeremi Piotrowski <jpiotrowski@microsoft.com>
grub refuses to build these targets when host is arm64.

Signed-off-by: Jeremi Piotrowski <jpiotrowski@microsoft.com>
This does not work because the host and cross rust targets share the
same name. This needs to be reworked to (potentially) enable x86 cross
targets for aarch64 targets.

Signed-off-by: Jeremi Piotrowski <jpiotrowski@microsoft.com>
Sysroot-wrappers contains binaries installed to /usr/lib64/sysroot-wrappers,
but the profile referenced them through the 'lib -> lib64' symlink. Stop
relying on that symlink, which is not present in arm64 profiles, and is
not part of 17.1 amd64 profiles.

Signed-off-by: Jeremi Piotrowski <jpiotrowski@microsoft.com>
Copy link
Copy Markdown
Contributor

@dongsupark dongsupark left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. I managed to build an arm64 SDK from the PRs.
Though I am not sure when we should merge the PRs, as we could start building another set of releases soon.
I will let @sayanchowdhury share some thoughts.

@jepio
Copy link
Copy Markdown
Contributor Author

jepio commented Aug 3, 2021

Merging this one before the release as well, I verified that this doesn't break amd64.

@jepio jepio merged commit 6a8b474 into main Aug 3, 2021
@jepio jepio deleted the jepio/arm64-sdk-support branch August 3, 2021 12:28
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants