Skip to content

Commit

Permalink
README: add some details about the arm64 builds
Browse files Browse the repository at this point in the history
Signed-off-by: Mahe Tardy <[email protected]>
  • Loading branch information
mtardy authored and kkourt committed Apr 12, 2024
1 parent d67ca79 commit d3ba149
Showing 1 changed file with 27 additions and 0 deletions.
27 changes: 27 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -86,3 +86,30 @@ results in images for the `bpf-next` version be build.
### Can I completely disable builds for a PR?

Yes, you can use the `gha-builds/justdont` label.

### How does the arm64 builds works?

The build of LVH and the kernel can be done using cross-compilation which
simplifies a lot the build of multi-arch images. Unfortunately, the part that
build the images relies libguestfs that cannot work as of now for different
target architectures than the host architecture. However switching to use only
mmdebstrap, which can easily cross-build images, and get rid of libguestfs
would solve this duality.


```mermaid
flowchart TD
subgraph "cross compilation"
A[kernel builder] --> B[kernel images]
E[little vm helper]
end
subgraph "native build"
C[root builder] --> D[root images]
B & D & E --> F[kind]
end
```

As of now, each steps to build an image (the left on the diagram above), for
example kind, are built on native runners and produce arch specific images
(with the `-<arch>` suffix in the tag), a multi-arch tag is then produced,
merging the architecture specific images, for the final result ease of use.

0 comments on commit d3ba149

Please sign in to comment.