-
Notifications
You must be signed in to change notification settings - Fork 9
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
cmd: run simple riscv64 cross build as part of the integration tests #136
base: main
Are you sure you want to change the base?
Conversation
c56cca2
to
1528ffd
Compare
77d0c11
to
66d519c
Compare
test/test_container.py
Outdated
# XXX: we should encode this in images proper | ||
# note that we need the "fedora-toolbox" container as the regular one | ||
# does not contain python3 | ||
images_experimental_env = "IMAGES_EXPERIMENTAL=buildroot=fedora.riscv.rocks:3000/davidlt/fedora-toolbox:41" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This will need to use ghcr.io/mvo5/fedora-buildroot:41
which is just:
FROM fedora.riscv.rocks:3000/davidlt/fedora-toolbox:41
RUN dnf install -y selinux-policy-targeted policycoreutils dosfstools
# our hardcoded build.go:NewBuildrootFromContainer expects a /ostree
# in the selinux labeling. workaround here for now.
RUN mkdir -p /ostree
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I put them now into https://github.com/mvo5/buildroot-containers
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Note that this is an intermediate solution, once the upstream fedora-toolbox
container installs policycoreutils this container is no longer needed and we can use the upstream one.
af169e1
to
ba4e229
Compare
This commit skips the arch checks if the experimental "bootstrap" option is used. The main use-case of this option is to bootstrap a foreign architecture so just assume that and skip arch checks when set. This allows to write: ``` $ IMAGE_BUILDER_EXPERIMENTAL=buildroot=ghcr.io/mvo5/fedora-buildroot:41 \ ./image-builder build --arch=riscv64 minimal-raw --distro=fedora-41 ``` and do a riscv64 cross arch build.
This commit uses the new experimental `bootstrap` flag to perform a cross arch build for riscv64.
ba4e229
to
84e0dcd
Compare
This branch shows how to cross arch build traditional images. It also allows to skip
the cross-arch build restriction when
IMAGE_BUILDER_EXPERIMENTAL=bootstrap=...
is set.The not-so-nice part of this work is that we need to pick the the right container via
IMAGE_BUILDER_EXPERIMENTAL=bootstrap=...
currently. Fortunately almost any upstream container will do as long as it has rpm and setfiles (policycoreutils).We really should teach images to map containers to buildroots so that we don't need to do this.
Ideally this would be in "images" itself, I guess we will merge ibcli and images eventually anyway.