Skip to content
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

[Draft] Introduce riscv64 image from Ubuntu LTS #104

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

TimePrinciple
Copy link
Collaborator

@TimePrinciple TimePrinciple commented Jul 16, 2024

Summary of the PR

This PR is to be considered when AWS has riscv64 machines available.

For introducing viable CIs and bringing riscv64 architecture related code into rust-vmm community on riscv64 platforms, an according docker image is required. This PR covers both upgrading of ubuntu base image from 22.04 to 24.10 (which has native support on riscv64) and modifications are architectural related.

Requirements

Before submitting your PR, please make sure you addressed the following
requirements:

  • All commits in this PR have Signed-Off-By trailers (with
    git commit -s), and the commit message has max 60 characters for the
    summary and max 75 characters for each description line.
  • All added/changed functionality has a corresponding unit/integration
    test.
  • All added/changed public-facing functionality has entries in the "Upcoming
    Release" section of CHANGELOG.md (if no such section exists, please create one).
  • Any newly added unsafe code is properly documented.

@TimePrinciple TimePrinciple changed the title Upgrade to ubuntu 24.10 Upgrade to ubuntu 24.10 and introduce riscv64 image Jul 16, 2024
@stsquad
Copy link
Collaborator

stsquad commented Jul 16, 2024

I'm guessing 24.04 doesn't have riscv64 support? My only concern is loosing coverage for the LTS builds and effectively only tracking the development build of Ubuntu. 24.10 isn't even released yet right?

@TimePrinciple
Copy link
Collaborator Author

TimePrinciple commented Jul 16, 2024

I'm guessing 24.04 doesn't have riscv64 support? My only concern is loosing coverage for the LTS builds and effectively only tracking the development build of Ubuntu. 24.10 isn't even released yet right?

Thanks for reviewing. Indeed ubuntu 24.04 image doesn't have a riscv64 tag. I will be actively following the related maintaining works. As of LTS builds, I should be working on upgrading the images once a LTS is available for riscv64. For Ubuntu 24.10, it is yet released, I'm hoping it to be supported until 24.04 is made available for riscv64.

Moreover, with this riscv64 image available, we could start working on bringing riscv64 CIs to community, and quickly replace it once LTS is available while other CI logic remains functioning.

@TimePrinciple
Copy link
Collaborator Author

I've thought through suggestions made by @stsquad, and decided to use Ubuntu 24.10 solely for riscv64 architecture, since the code relates to riscv64 are in development anyway, thus avoiding the influences on amd64 and arm64 while moving the riscv64 forward a bit.

I might need some help on getting GitHub Actions to work properly for the newly added Dockerfile.riscv64 by the way.

@TimePrinciple TimePrinciple changed the title Upgrade to ubuntu 24.10 and introduce riscv64 image Introduce riscv64 image from Ubuntu 24.10 Jul 17, 2024
@TimePrinciple TimePrinciple force-pushed the upgrade-to-ubuntu-24.10 branch 2 times, most recently from 1fbcd61 to 52ce7bb Compare July 22, 2024 07:43
Since Ubuntu 24.10 has native support on `riscv64`, introduce the image
as a temporary solution for enabling the CIs on code related to
`riscv64` architecture.

Signed-off-by: Ruoqing He <[email protected]>
@TimePrinciple TimePrinciple changed the title Introduce riscv64 image from Ubuntu 24.10 [Draft] Introduce riscv64 image from Ubuntu LTS Aug 5, 2024
@TimePrinciple TimePrinciple mentioned this pull request Aug 5, 2024
4 tasks
TimePrinciple added a commit to TimePrinciple/rust-vmm-container that referenced this pull request Aug 7, 2024
Add build scripts for v6.10 riscv64 kernel, qemu-system-riscv64 and
opensbi required to boot qemu-system inside docker container.

With this approach, we are able to run tests inside qemu-system, while
preserving the original output as much as possbile with ssh.

This work was inspired by the work done by @endeneer in PR rust-vmm#91, and is
the third draft proceeds rust-vmm#101, rust-vmm#104. It is expected to be replaced by

Signed-off-by: Ruoqing He <[email protected]>
TimePrinciple added a commit to TimePrinciple/rust-vmm-container that referenced this pull request Aug 7, 2024
Add build scripts for v6.10 riscv64 kernel, qemu-system-riscv64 and
opensbi required to boot qemu-system inside docker container.

With this approach, we are able to run tests inside qemu-system, while
preserving the original output as much as possbile with ssh.

This work was inspired by the work done by @endeneer in PR rust-vmm#91, and is
the third draft proceeds rust-vmm#101, rust-vmm#104. It is expected to be replaced by

Signed-off-by: Ruoqing He <[email protected]>
TimePrinciple added a commit to TimePrinciple/rust-vmm-container that referenced this pull request Aug 7, 2024
Add build scripts for v6.10 riscv64 kernel, qemu-system-riscv64 and
opensbi required to boot qemu-system inside docker container.

With this approach, we are able to run tests inside qemu-system, while
preserving the original output as much as possbile with ssh.

This work was inspired by the work done by @endeneer in PR rust-vmm#91, and is
the third draft proceeds rust-vmm#101, rust-vmm#104. It is expected to be replaced by
the second draft rust-vmm#104 in the future which standardise `riscv64`.

Signed-off-by: Ruoqing He <[email protected]>
TimePrinciple added a commit to TimePrinciple/rust-vmm-container that referenced this pull request Aug 8, 2024
Add build scripts for v6.10 riscv64 kernel, qemu-system-riscv64 and
opensbi required to boot qemu-system inside docker container.

With this approach, we are able to run tests inside qemu-system, while
preserving the original output as much as possbile with ssh.

This work was inspired by the work done by @endeneer in PR rust-vmm#91, and is
the third draft proceeds rust-vmm#101, rust-vmm#104. It is expected to be replaced by
the second draft rust-vmm#104 in the future which standardise `riscv64`.

Signed-off-by: Ruoqing He <[email protected]>
TimePrinciple added a commit to TimePrinciple/rust-vmm-container that referenced this pull request Aug 12, 2024
Add build scripts for v6.10 riscv64 kernel, qemu-system-riscv64 and
opensbi required to boot qemu-system inside docker container.

With this approach, we are able to run tests inside qemu-system, while
preserving the original output as much as possbile with ssh.

This is the third draft proceeds rust-vmm#101, rust-vmm#104. It is expected to be
replaced by the second draft rust-vmm#104 in the future which standardise
`riscv64`.

Signed-off-by: Ruoqing He <[email protected]>
TimePrinciple added a commit to TimePrinciple/rust-vmm-container that referenced this pull request Aug 27, 2024
Add build scripts for v6.10 riscv64 kernel, qemu-system-riscv64 and
opensbi required to boot qemu-system inside docker container.

With this approach, we are able to run tests inside qemu-system, while
preserving the original output as much as possbile with ssh.

This is the third draft proceeds rust-vmm#101, rust-vmm#104. It is expected to be
replaced by the second draft rust-vmm#104 in the future which standardise
`riscv64`.

Signed-off-by: Ruoqing He <[email protected]>
TimePrinciple added a commit to TimePrinciple/rust-vmm-container that referenced this pull request Aug 27, 2024
Add build scripts for v6.10 riscv64 kernel, qemu-system-riscv64 and
opensbi required to boot qemu-system inside docker container.

With this approach, we are able to run tests inside qemu-system, while
preserving the original output as much as possbile with ssh.

This is the third draft proceeds rust-vmm#101, rust-vmm#104. It is expected to be
replaced by the second draft rust-vmm#104 in the future which standardise
`riscv64`.

Signed-off-by: Ruoqing He <[email protected]>
stefano-garzarella pushed a commit that referenced this pull request Aug 27, 2024
Add build scripts for v6.10 riscv64 kernel, qemu-system-riscv64 and
opensbi required to boot qemu-system inside docker container.

With this approach, we are able to run tests inside qemu-system, while
preserving the original output as much as possbile with ssh.

This is the third draft proceeds #101, #104. It is expected to be
replaced by the second draft #104 in the future which standardise
`riscv64`.

Signed-off-by: Ruoqing He <[email protected]>
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.

2 participants