soulserv.xyz

[ Home ] [ About ] [ GitLab ] [ Odysee ] [ Contact ]

Mini Announcement: My Own Linux Distro!

Published on the 19th of April 2021.

It's been a long time coming.

I started my Linux journey with Zorin OS 12.3 back in 2017 or so. I instantly fell in love with the customized GNOME desktop that the Zorin team has perfected, it was very welcoming for a computer enthusiast who has been very adamant on staying on Windows 7 and not upgrading to Windows 10. I've used Zorin OS for about a year before starting to dislike the fact that the software I use, like CodeBlocks at that time, was outdated and had some issues. That was not a fault of Zorin OS but more of a consequence of being based on Ubuntu LTS which is supported for 5 years and as such keeps the software on older versions for extra stability (read: less change).

This has led me to start searching for a Linux distribution that had updated software. First I looked at Fedora, and off the start, GNOME was ugly, and their package manager was awfully slow (still is). I looked elsewhere, and tried my best not to use Arch Linux because everyone kept saying it's an "advanced Linux distro"

They were absolutely wrong.

Arch Linux is an amazing project, it is rock solid, always up-to-date, and has an amazing and ever-growing community. I've used Arch Linux for 3 years, and still do, and I highly recommend it for people who want to learn Linux and use it as a daily driver.

So What Changed?

Certainly not Arch itself, the change was in me. I started appreciating minimalism in software. Arch can be very minimal, but I kept looking for a few things I couldn't find in Arch.

First, I bought the Talos II Lite, it's an amazing piece of free and open-source hardware. One big issue though: Not many Linux distributions support the PowerPC architecture that it runs. Notably missing was Arch Linux. The notable officially supported distributions were: Ubuntu, Fedora, and Debian. I shied away from Fedora as I usually do, and Ubuntu had terrible support, Firefox barely works there, amongst other things. I couldn't use Debian because that would force me to use outdated packages. Then I found ArchPOWER and Void Linux PowerPC. ArchPOWER was and still is in its infancy, with only two active maintainers one of whom is me, and Void Linux is very cleverly designed but I didn't quite like the "politics" that are jammed into it (I was banned from their IRC chat for voicing my support for Donald Trump on Twitter, go figure.) I decided to become an active contributor to ArchPOWER.

Going back to my issues with Arch (and ArchPOWER by extension), the build system leaves a lot to be desired. You can build packages from scratch but you cannot build the system from scratch very easily without designing your own scripts. You also cannot rebuild a package with all its dependencies. You're also limited to SystemD as an insecure init system. The init system should manage your system services, SystemD has a huge codebase that does a lot more than that which brings a LOT of security issues. The folks at Artix Linux at least got the init system part right, but porting Artix Linux or at least its init systems to ppc64le and ppc seemed like a terribly annoying job, especially given what I had just explained about the Arch build system.

So I bit the bullet and tried Gentoo.

The best Linux distribution for developers.

It truly is. I fell in love with it instantly. You get to (read: have to) build your whole system from scratch, and they give you every tool under the sun to make that process as painless and automated as possible. You configure what features and packages you want in your system. Don't like SystemD? You can use any other init system. Don't like soydev languages like Rust and Go? You can "mask" them to prevent the system from installing them and any package that depends on them. You are your own package maintainer, system administrator, and software builder. It's no wonder many Linux distributions use Gentoo as a base before diverting.

So I decided to build my own customized Gentoo system with many of the cancers that plagued the other Linux distibutions removed: SystemD, polkit depending on JavaScript (who uses JavaScript for something that needs high security?), librsvg depending on Rust, etc. I also removed many unneeded features from applications and libraries, while adding some extra features to others; LibreOffice runs blazing fast without GTK for example. Finally, I built the full system with -O3 optimization, -mtune/-mcpu, and many CPU flags that enable utmost optimization for specific (micro)architectures. The result? My ThinkPad T400 with a Core 2 Duo T9900 struggled with Arch Linux, but under this build of Gentoo, it flies. You cannot possibly tell that it is a 13 year old laptop by its performance. That's how good the optimizations are.

I did try LTO but many packages fail and I did not want to go through the headache seeing as the performance I was getting was perfect as is.

Almost every package also built fine on powerpc64le, and most also built fine on powerpc but I need more testing there.

Finally to the meat and potatoes.

My own Linux distribution will simply be modified "emerge" configurations and an ebuild repo that give you a minimal system just like mine, if you install the right packages that is.

Some notable changes:

There are many more to be outlined in later posts, but I thought I would mention these at least.

The packages will be distributed as binary packages for whatever architectures I'm actively using, but I do recommend anyone who will use this distro to build from source and learn the Gentoo way.

I will still be an active contributor to ArchPOWER, don't worry ;)

The Name:

sane-linux.

Amazing isn't it?

This entire article was written on an alpha build of sane-linux ;)