kairos-io / kairos

:penguin: The immutable Linux meta-distribution for edge Kubernetes.
https://kairos.io
Apache License 2.0
1.09k stars 96 forks source link

Consider having a smaller flavor #290

Open mudler opened 1 year ago

mudler commented 1 year ago

Is your feature request related to a problem? Please describe.

287 brings back firmware in alpine image which where previously missing, making the image quite big. However, without firmware the image could show issues booting into baremetal environment.

Describe the solution you'd like A light flavor (e.g. based on alpine) but without firmware or restricted set. This could fit minimal scenarios or Virtualized environments. This issue is to gather general feedback, and if we either should have it or not.

Please thumb up if you want to see such a flavor re-introduced, and explain the motivation and which firmware you think should be included, if any.

christianprim commented 1 year ago

Just a personal opinion: The ubuntu-kernel has only a huge linux-firmware package, so that will result in a take or leave.

On the other hand the alpine-kernel allows you to choose which firmware to install. One could argue that the graphic-card firmware and other input-device related firmware could be left aside, since they make no sense on a server installation. But that means manual cherry-picking... See https://wiki.alpinelinux.org/wiki/Kernels

As long as the alpine flavor includes the ubuntu-kernel I personally would keep the firmware. That was probably the solution to my problem with my servers.

I could imagine a flavor without any firmware or (if the alpine kernel is taken) with a minimal set (for hardware RAID, mainboard-related firmware, ethernet-cards and if wanted for wifi-cards (who wants to connect servers via wlan?)).

santhoshdaivajna commented 1 year ago

a variant with only bare minimum/essential firmware would be good to have to get started in some cases.

ABFocke commented 1 year ago

me I don't know how. but I would love a smaller flavor with reduce CVE... something like https://edu.chainguard.dev/chainguard/chainguard-images/reference/k3s/overview/ musl and glibc.

because on bare metal edge if often a single node for us and we don't to update OS every because packages need to be updated even if we have no use of it. or am I wrong?