Will KaOS work on Apple Silicon if it's using the recent 6.4 kernel release that added support for M2 chips? Or, are there other technical barriers involved in making KaOS run on ARM/Apple Silicon beyond just using a different kernel version?

I want to install this on my Mac M2 Pro. Been meaning to try out KaOS for a while now. I run a lot of Linux VM's on macOS and came across this distro again today. I've followed KaOS on and off for so long but never tried it out. And just my luck, there is no ARM build.

Now... If hypothetically I was a wizard with a magic keyboard, what would I need to consider in order to build a working ARM version of KaOS? From what I understand (complete amateur, novice perspective), it would be the following:

  1. The majority of software packages in KaOS are likely built for x86 architecture. For ARM support, we would need to ensure that all software packages used in KaOS are either available or adapted to work on ARM. This involves modifying build scripts, resolving dependencies, and potentially recompiling packages for ARM.

  2. The build infrastructure used for KaOS may need to be adapted to support cross-compilation for ARM. This would mean setting up a toolchain and build environment specific to ARM architecture to ensure proper compilation and linking of software packages.

  3. The kernel must have appropriate drivers to support the hardware components of the target ARM devices.

  4. Community Support. This is way, waaay, waaaaay over my head. So, engaging with the community (You guys), seeking guidance, and collaborating with experienced developers is a must. I want to learn more Linux-y stuff and getting KaOS running on ARM could be a fun and interesting way to go about it.

  5. Bootloader Configuration: ARM-based devices typically use different bootloaders compared to x86 systems.

  6. Cross-compilation: Need to set up a cross-compilation toolchain that allows us to compile software packages for ARM architecture on an x86 machine.

  7. Package Management: Adapt the package management system used in KaOS to work seamlessly on ARM. This would include stuff like configuring package repositories, ensuring compatibility with existing packages, and managing updates for ARM-specific packages.

  8. And many other technical challenges and considerations that are beyond the scope of my knowledge.

Could be cool, I dunno.

KaOS will always be one architecture only. That one is x86_64 right now (and has been for the last 10+ years).
For when the time comes and a new architecture is needed, see:
https://forum.kaosx.us/d/3040-future-of-kaos-after-x86-64

So there won't be support from KaOS to add an architecture, building for ARM will be up to users like yourself. This basically means building and maintaining an entire distro, starting with an ARM based toolchain.

Hey! Thanks for the reply. I looked into it a lot more and it looks extremely complex and difficult (to me at least). It's almost the same as building a distribution from the ground up from what I have gathered (?). Like, every package would have to be compiled for ARM, even packages that are already compiled for Arch Linux ARM? I did look into it but its a lot to take in. Is this correct? For example, apache2 is compiled and working on Arch Linux ARM but using that already compiled package in an ARM build of KaOS might not work or have weird issues because packages depend on libraries, and the library being used for apache2 on X version of Arch Linux ARM won't work on KaOS ARM (In theory) because its expecting a different library... Struggling a bit to understand this.

And for the cross-compilation toolchain, would it be possible to cross-compile for a Raspberry Pi but on an M1/M2 series CPU? It sounds like this might cause problems, but I don't really understand enough about this yet. Do I need an x86_64 PC for the toolchain to work properly?

I also have no idea about compiling packages and stuff like that. I think to have a chance to make an ARM version of KaOS I need to know more about how a Linux distribution is actually made, and how you keep track of it all... I know a little bit about version control (a very little bit) - Is stuff like that essential for making an ARM version of KaOS? How do you organise all the packages and stuff that go into making a distro like KaOS in the first place?

The more I look into this, the more questions I have haha

Edit: Also, I was looking at the KaOS Packages page: https://kaosx.us/packages/packages.php?sortby=name&sortdir=asc
Is this all the packages that make up KaOS? So I would need to compile 2352 packages to make an ARM compatible version of KaOS? (From the total packages number down the bottom of the KaOS Packages page)

Edit #2: BTW, do you guys have a discord channel for this distro? I had a look but can't seem to spot it. NM, found the Contact page. (There is no discord)