siderolabs / talos

Talos Linux is a modern Linux distribution built for Kubernetes.
https://www.talos.dev
Mozilla Public License 2.0
5.77k stars 467 forks source link

Odroid support #6404

Closed dl1ch closed 2 days ago

dl1ch commented 1 year ago

Feature Request

Support Hardkernel odroid SBCs.

Description

I have a cluster of 8 Odroid C2 and 1 Odroid HC4 and I wonder if you plan to support Hardkernel SBCs in future? Until now I was unable to install Talos on those SBCs (via different methods). Would be nice if you could recommend me any image and installation type which would work for those SBCs (takeover install, raw dd, ISO installer, etc.).

One thing I didn't try is to take the kernel from Armbian and integrate into Talos but I would prefer any other method before that, because it is a one time job and the kernel doesn't get updated (i guess, unless done manually each time).

Anyway, thank you for developing such an awesome OS!

andrewrynhard commented 1 year ago

Hi. Our stance is that we only support SBCs that have in-tree DTBs in upstream Linux and official U-boot support. Otherwise there is just way too much to maintain. Taking another kernel from Armbian or any other distro is unlikely to work. Talos assumes a lot about the kernel and even enforces some things that most kernels don't have. I would start by looking at U-boot to see if it has official support for these boards. If it does then typically the kernel does too.

dl1ch commented 1 year ago

Hi!

Both boards I use have some uboot compiling guides on their official site, but unfortunately Odroid-C2 is an old SBC and is not supported anymore:

Odroid-C2 Odroid-HC4

Also armbian is using uboot for both boards (if that means anything at all :) ). I cannot help regarding the DTBs because I don't have enough knowledge about the Linux architecture and how things work.

Anyway if you think it's not doable then I will probably get back to Armbian + k3s.

Thank you for your support!

Edit: The Armbian builder allows to build uboot and kernel packages (with some advanced features / flags) for many SBC boards, if that helps... I don't know the specifics that Talos needs, but you can check it out if it comes handy for your project.

ShaunMaher commented 1 year ago

Hi.

I'd like to have a go at porting Talos to the Odroid M1.

This board has "petitboot" in SPI so a board specific u-boot won't be necessary. It's (very broadly) analogous to uEFI booting. You need to provide a kernel, initrd, dtb and kernel command line options and petitboot kexecs them. This may allow booting of a rather generic aarch64 Talos image.

The big catch though is that this board's SoC isn't supported by the mainline kernel until 6.2 (or 6.1 and a separate DTB).

Are there any existing guides for porting to a new SoC/platform that might get me started?

Does Talos require any specific kernel build flags/features? Would it be possible to experiment with the, for example, metal-arm64 image but drop in my own kernel?

Cheers. Shaun

frezbo commented 1 year ago

Does Talos require any specific kernel build flags/features?

yes, we enable some specific features in the kernel that Talos expects, you can look at the current kernel config here: https://github.com/siderolabs/pkgs/tree/main/kernel/build/config-arm64

Usually we let u-boot load the right dtb's and then boot into grub directly, it would need changes in talos to tell grub to use the dtb's

Tokynet commented 11 months ago

@ShaunMaher did you get any traction on your effort to port it?

github-actions[bot] commented 1 week ago

This issue is stale because it has been open 180 days with no activity. Remove stale label or comment or this will be closed in 7 days.

github-actions[bot] commented 2 days ago

This issue was closed because it has been stalled for 7 days with no activity.