Skip to content

Conversation

@pl4nty
Copy link

@pl4nty pl4nty commented Dec 31, 2025

The first dependency for running Talos on RISC-V, cc @shanduur. We've spoken about upstreaming my patches, then keeping CI/releases (and maybe bug reports?) on my forks to reduce the maintenance burden for Sidero Labs.

Not sure about terminology, maybe "experimental support for" or "enable building for"? So it's clear that official build artefacts and support won't be available.

I'm happy to remove the .kres changes too if preferred, so it's more like "support linux/riscv64 build targets".

Comment on lines +9 to +11
FROM --platform=linux/amd64 ghcr.io/siderolabs/ca-certificates:v1.12.0 AS image-ca-certificates

FROM ghcr.io/siderolabs/fhs:v1.12.0 AS image-fhs
FROM --platform=linux/amd64 ghcr.io/siderolabs/fhs:v1.12.0 AS image-fhs
Copy link
Author

@pl4nty pl4nty Dec 31, 2025

Choose a reason for hiding this comment

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

ca-certificates and fhs appear to be circular dependencies, because they're built from pkgs using bldr. Instead of needing to bootstrap riscv64 builds in ghcr.io/siderolabs, I've just pinned them to linux/amd64 because their contents is architecture-independent. I'm happy to PR this to kres if it's suitable.

Alternatively, the images could be passed as Makefile variables and leave bootstrapping to the user.

Copy link
Member

Choose a reason for hiding this comment

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

this file is auto-generated, so this change won't work anyways.

I don't know how riscv64 would be bootstrapped even as we don't have any hardware in any foreseeable future, nor that I'm convinced any risc is powerful enough to build Talos without cross-compiling

Copy link
Author

@pl4nty pl4nty Jan 10, 2026

Choose a reason for hiding this comment

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

yeah, I left the PR as a draft because this change would need to happen in kres. it's mostly a workaround for the hardcoded ghcr.io/siderolabs.

everywhere else, I just set USERNAME and PLATFORM to pull/push with a different registry when building for riscv64. this approach worked for toolchain/tools/pkgs/talos on native hardware. it's very slow, but faster than qemu

Allows overriding with `-ldflags`

Signed-off-by: Tom Plant <[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