siderolabs / sidero

Sidero Metal is a bare metal provisioning system with support for Kubernetes Cluster API.
https://www.sidero.dev
Mozilla Public License 2.0
403 stars 63 forks source link

Sidero kernel pkgs potentially outdated on RPi #872

Open xunholy opened 2 years ago

xunholy commented 2 years ago

I'm trying to run the following versions and having zero success (previously worked on older version)

Clustetctl - v1.1.3 Talosctl - v1.x.x Talos - v1.0.5

Sidero is able to PXE boot the device however the device is hanging as mentioned here in this Slack thread https://taloscommunity.slack.com/archives/CMARMBC4E/p1653993378651399

linuxmaniac commented 11 months ago

I have a working environment with four rpi4 with no issues using recent versions of sidero and talos

blackliner commented 10 months ago

@linuxmaniac can you share your kind: Environment for the raspi4? I found absolutely no docu or guides about Environments.

This is what I am using for now, trying to get a PI PXE booted etc:

apiVersion: metal.sidero.dev/v1alpha2
kind: Environment
metadata:
  name: raspberry
spec:
  initrd:
    url: https://github.com/siderolabs/talos/releases/download/v1.5.4/initramfs-arm64.xz
  kernel:
    args:
      - console=tty0
      - console=ttyS0
      - consoleblank=0
      - earlyprintk=ttyS0
      - ima_appraise=fix
      - ima_hash=sha512
      - ima_template=ima-ng
      - init_on_alloc=1
      - initrd=initramfs.xz
      - nvme_core.io_timeout=4294967295
      - printk.devkmsg=on
      - pti=on
      - slab_nomerge=
      - talos.platform=metal
      - talos.board=rpi_generic
    url: https://github.com/siderolabs/talos/releases/download/v1.5.4/vmlinuz-arm64
linuxmaniac commented 10 months ago

@blackliner https://github.com/linuxmaniac/home-ops/tree/main/infrastructure/sidero-system

blackliner commented 10 months ago

@xUnholy I assume your issue is kexec_core being stuck, caused by the missing talos.board=rpi_generic, which will lead to another very important flag, set here: https://github.com/siderolabs/talos/blob/cc0c3ab69c7807236955eb53ccac4cc70fcca32a/internal/app/machined/pkg/runtime/v1alpha1/board/rpi_generic/rpi_generic.go#L51

I guess this is not supported by Raspberries: https://github.com/raspberrypi/linux/issues/27

blackliner commented 10 months ago

@blackliner https://github.com/linuxmaniac/home-ops/tree/main/infrastructure/sidero-system

Amazing, thanks! But how does it work without talos.board=rpi_generic?

EDIT: found it, you sneaky 😆 https://github.com/linuxmaniac/home-ops/blob/main/infrastructure/sidero-system/server-class/rpi4-server.yaml#L24

blackliner commented 10 months ago

Hmm, it looks like the environment settings will not change what happens after the installation, as can be seen in this picture. The kernel parameter sysctl.kernel.kexec_load_disabled=1 is set, but it still does a kexec reboot image