Skip to content

Add Raspberry Pi OS rootfs creation #8245

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

Merged
merged 3 commits into from
Dec 7, 2021
Merged

Add Raspberry Pi OS rootfs creation #8245

merged 3 commits into from
Dec 7, 2021

Conversation

directhex
Copy link
Contributor

@directhex directhex commented Dec 6, 2021

Raspberry Pi OS is the standard OS for use on Raspberry Pi single board computers. Primarily, it's a Debian distribution rebuilt to target ARMv6+VFPv2 instead of Debian's ARMv7+VFPv3-D16, to match the first-gen Raspberry Pi's Broadcom BCM2835 SoC.

Building anything (i.e. Hello World) using an ARMv7 crossrootfs will result in a SIGSEGV when executed on BCM2835.

Ref. dotnet/runtime#7764

debootstrap will try to authenticate Debian-based repos against a locally
installed Debian archive keyring, or Ubuntu-based repos against a locally
installed Ubuntu archive keyring. If there's no keyring packages installed
(as is the case in our CI) then the repos are blindly accepted without
auth. However, if you have a keyring installed and use a "weird" repo
which doesn't work with the expected default keyring (e.g. out of the box
it'll try to authenticate the Raspbery Pi OS repo against the Debian
keyring file) it fails.

So, for our Rasbian case, a) specify the path to the known-good Raspbian
archive keyring file and b) add a check where if a keyring is specified
but does not exist, drop it. This allows building the Raspbian rootfs
both locally on systems with debian-archive-keyring and in CI with no
keyrings available.

We should consider forcing keyring validation in general though, for
better build integrity as a whole.
@akoeplinger akoeplinger requested a review from wfurt December 7, 2021 11:15
Copy link
Member

@wfurt wfurt left a comment

Choose a reason for hiding this comment

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

LGTM

@directhex
Copy link
Contributor Author

Is there a process here, or should I smash the merge button?

@wfurt wfurt merged commit 42825a5 into dotnet:main Dec 7, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants