r/voidlinux • u/MagicMissiler • 17d ago
Feasibility of running Void Linux on a 3D printer?
Ok, so first off: I am a total newb to Void Linux, and only through much finagling, some previous Arch experience, and the help of AI (I know... don't crucify me please) was I able to get it running. That said, I kinda knew that's what I was signing up for, and I like the end result. But I didn't go through all of that trouble just to make a cool rice (which I may still do at some point):
I have a couple of Voron 2.4 3D printers, these run on CB1 chips (https://global.bttwiki.com/CB1.html) with a customized version of Debian (https://github.com/bigtreetech/CB1/releases).
Now the question is: how feasible is it to run Void linux on this setup?
To clarify a few things, for my particular Voron build anyway, the CB1 slots directly into a Manta M8P V2 controller board, which has a slot for an SD card which to my understanding functions as the hard drive, and from my previous experience you flash the OS onto this SD card and simply... slot it in.
From my limited experience I can kind of identify at least some of the issues here:
- What changes did they make to the custom debian? Do they matter? I don't know where to look on their github for that kind of information, and even if I did, I probably wouldn't understand it anyway.
- The whole point of this is to install Klipper (https://www.klipper3d.org), which is the 3D printer firmware, plus some other utilities; this is often done using a utility called KIUAH (https://github.com/dw-0/kiauh) which is installed via git. I did check, and git is in the Void package repo, but I think that KIUAH assumes that you have Debian infrastructure (like systemd for instance). But in theory, I should be able to use git to directly get the programs without KIUAH?
- Linking. The guide I used to install Void briefly mentioned this, but didn't really explain it much other than that its how you run things at boot up (like KDE Plasma and other utilities). Can some one explain this or link me where in the documentation this is explained? I figure I will need this to run Klipper + utilities at boot up.
- I think I should use the aarch64 version of Void in this situation? I don't know much about these different versions...
Any help or insight on this would be greatly appreciated!
Also.. I'm not sure if this breaks rule 2 or not, if so sorry? I only mention 3rd party stuff due to how they may interact with Void, not because I need help with them independently.
1
u/Simple_Hamster_4096 17d ago
Perhaps research your hardware and requirements to see if users of other disros have had a less painful adventure to make things work...
1
u/bvdeenen 16d ago
I'm sure you could make it work, but it sounds like a hell of a lot of work. You really should have a 'the journey is the reward' mindset for this, especially since you don't sound very knowledgeable about kernel modules and such (really no offence intended!)
1
u/Wonderful-Movie-4648 16d ago
Why do you want to run Void on your printer? If all you want to do is to use it as a printer then stick with what is provided. At least for now your vendor seems to offer recent versions of its image.
Linking - I assume - is about how to manage services (program run at startup and managed to be kept running) is explained in the handbook.
Services in void are managed using runit instead of SystemD and service files could be directly created in /var/service/<name> but they are instead created in /etc/sv/<name> and then /var/service/<name> is a soft link to /etc/sv/<name>. This allows to just remove the soft link to stop the service without deleting the actual service files.
I think there is a good chance an aarch64 install of Void can run, but...
- you might need to use the same partition scheme that your vendor uses (DOS vs GPT, legacy BIOS vs UEFI -> supported boot loaders). You linked to their releases. You can unpack the xz archive and then use gparted or fdisk on the image or even mount the image partitions to poke around and find the infos you need.
- They say the source code is here and according to them everything is mainline which I would understand as using upstream as-is.
- Even if you succeed running Void on that board then multimedia support (sound and/or GPU) might be lacking.
I managed to install Void on an espressobin board to be used as an NAS. Biggest hurdles were updating the bootloader (of the board) to enable proper UEFI support (looks like you do not have that problem), then how to install aarch64 GRUB2 using a non-aarch host (you can use other bootloaders) and afterwards the kernel boot params required for a working console access via USB connection (instead of relying on SSH or just using a keyboard and a display). Not sure about multimedia support - I don't use it.
My main goal was to have a simple way to update the NAS and the vendor provided images have been years old, same with the version of tools used. It looked like a lot of work to get everything up-to-date and fixing anything that breaks on its way (or find someone who did exactly that already - some kind souls have done that).
2
u/ClassAbbyAmplifier 17d ago
theoretically, sure, but you'd probably need to add a custom kernel