How I Started Using Linux

My beginning.

23 Dec 2025

With the rise in popularity of Linux and reading a lot about people’s first experience with Linux, I thought it would be fun to reflect on my journey to Linux as well. :)

The Prelude

I got my first Android phone ~2012, plus or minus by a year. It was the Samsung Galaxy Express SGH-I437.

Now why am I starting with Android, it’s not even proper Linux! Well, dear reader, you’ll see how important this was into discovering Linux (or as I like to call it GNU/Linux… lol, sorry couldn’t help it)

At the time, it did its basic functionality well: calls, text, and (most importantly) games :P. AMOLED, battery life that could last a day, 4G LTE, man, this phone is a very solid device even compared to modern standards.

At this point in time, however, Android was notorious in only supporting phones for a year or so before stopping updates altogether. Planned obselecence was as much of a problem a decade ago as it is now unfortunately. I hope this changes.

Anyways, I was hoping that Samsung would atleast provide one more update to at least get it to Kitkat instead of remaining on Jelly Bean. Around 2014 (some time after the release of Lollipop), I got tired of waiting, and decided to just search to see where I could get the Kitkat update as Lollipop had released.

The Start

I had just switched to an iPhone, so my old Android phone sat there unused. Perfect for experimentation!

I started with the Tasker app, got root (via a sketchy binary lol), and was just exploring cool Android apps that could enhance my functionality. But I still wanted that Android update. ~2014/2015, that’s when I discovered Cyanogenmod. For those that don’t know, Cyanogenmod was the Android fork before LineageOS. And someone made a Lollipop version for the Expressatt!

The bootloader came unlocked (lol to the phones of today that come locked) and after a quick flash of Clockwork Recovery Mod and Cyanogenmod, I was up and running.

Man, was that such a cool experience. If I remember correctly, I had skipped Kitkat and jumped directly to Lollipop. Wow!

The phone ran buttery smooth, as there was no bloatware in it anymore. Running Clash Royale for example ran more smoothly than my iPhone at the time. And it looked great with an AMOLED screen. Side note: I think the Super AMOLED technology that Samsung developed at the time was revolutionary. Unfortunately, most customers started counting pixels as a metric for quality, and I believe that’s what caused it to fall to the wayside. But to be honest, the Expressatt’s AMOLED still looks as good as my modern iPhone 14, even if it’s pixel density is lower. I wonder if there is another metric for a screen quality besides pixels.

The year after that, a new Android version had just released. And I wanted it. At this point I had started looking into how LineageOS was developed and learned more about AOSP and ChromeOS, which I wanted for my computer. Unfortunately, I couldn’t find a way to download ChromeOS onto my computer (at this point I had my fair share of viruses, and wanted to stick to official stuff) so I decided to skip it for now. I still hadn’t heard about Linux and was still daily driving Windows.

As time passed, it seemed like Samsung had given up entirely on the phone. Well, why not try to build it myself?

The Stumbles… and Discovering Linux

Oh man, what a mistake that was lol. It would take some time before I realized that the kernel version for my device was too old for it to be compiled with the (at the time) latest Android version. I kept getting obscure error messages, trying to solve them, and getting stuck. I was desperately trying to try and find someone who could help me get the latest Android running. Talked to AKLU on his thread on the XDA Forums and that’s around the time he started his YouTube channel (a bit sad to see he last posted around 4 years ago). Also talked to Fat_tire who made exceptional tutorials such as this one. I also made a blog post where I complained how hard it was trying to figure out what was going wrong. I had made a pen pal with something_sithy (he had 2 usernames, but something_sithy is the only one I remember), and lol, thinking back, I must’ve bothered him so much with my complaining XD. Wouldn’t be surprised if that’s why he eventually stopped blogging as well, haha.

I guess my first real Linux distribution was Ubuntu 14.04, although I still didn’t know what Linux was at the time. I just installed Ubuntu onto a spare hard drive and used it to build LineageOS (while always failing) and switching back to Windows as my daily driver.

But through something_sithy, I had discovered postmarketOS, a Linux distribution for phones. What is that?

I explored it for a bit, and found that they had made a guide to port postmarketOS onto your Android phone. Woah, okay, let me try that. I was hitting road blocks, some stupid stuff (like downloading the webpage instead of the config for the linux kernel, as I was unfamiliar with git at the time) and some non-trivial stuff (some LineageOS kernels were broken and it wasn’t clear why). But after talking to postmarketOS folks (this is when I first talked to people like Alexey Min), I actually got it working! The screen was working with Weston too (though it was red, and I’m not too sure why)!

My first ever patch to FOSS!

I didn’t switch completely to postmarketOS at the time. I was still adamant on getting LineageOS working for my device. It was featureful compared to postmarketOS and in the kernel list, I saw that expressatt should also be working for LineageOS!

Unfortunately, I just never got that to work. Builds would take almost an entire day only to get an obscure error somewhere in the stack. It was around this time where I found a vague blog article saying how Android only works until a certain Linux kernel version. Now knowing that, I complied Cyanogenmod 12.1 for my device, and finally called it quits for Android.

Onto Linux!

However, I still hadn’t given up on Expressatt as a whole! Somewhere between 2016-2018 is where I discovered Linux, and decided to learn more about it. I have to credit postmarketOS here as that’s where Linux was mentioned a lot, and that’s where I first started looking into it. ~2018 is when I first switch to my first Linux distribution, which was Manjaro! I wanted it to look and feel as similar to Windows so that the transition wouldn’t be too hard, and Manjaro was one of the popular distros shipping with KDE Plasma.

Manjaro was a bad choice for a beginner. Updates would frequently break my desktop and the forums were extremely hostile. My posts are probably still there “anonymized” even though I asked to delete it permanently (GDPR/CCPA requires that). I quickly switched to Linux Mint after a year or so to get something stable. Linux Mint is a very solid choice: lots of tutorials online and very beginner friendly.

I remember in the beginning being confused about simple stuff. One of the funiest memories I have is when I first ran a sudo command. When I was typing my password, there was no indication that my password was being inputted, haha. Figured out a day later that it was expected because then other’s don’t see your password as you type it.

In the meantime, I was also trying to get mainline Linux running on my device(s). There were 2 major hurdles that I faced, but overall it went something like this:

There were a lot of people behind this journey. Here are some of the ones that were notable to me:

I might be forgetting some things and others might be a little bit out of order, but if you really cared about the history, you can look at the pmbootstrap, pmaports, linux, and matrix history to see all the changes either under my name or changes related to expressatt (for a brief time, I went under a pseudoname).

Now

I think it’s important for me to document my mainlining progress. I’ve started blogging about small status updates on features I get working. I also made a Mastodon thread to do quick updates for when a blog doesn’t make sense.

So far I’m enjoying contributing to FOSS, but sometimes it feels lonely. There are people I correspond to online, but I think it would be nice to join a physical hackathon and see other’s progress. Maybe I can also get work where I’m paid to contribute to FOSS as well. I’m sure one day I will be able to, and the day that happens, I will be super happy. :)

Another thing I would like to see improved is the documentation for Linux and FOSS projects. I would love to contribute, but it feels like most of the ideas are locked behind company doors and that the ladder has been pulled up just beyond my reach. That’s why I’m a little happy for AI’s existence. It can analyze the massive codebase to give a good pointer on where I should look at. It’s also very helpful for it to develop a working patch, and all I would have to do is clean that patch up, upstream it, and iterate based on what the maintainers say. It helps stop me from getting frustrated and actually helps me make progress, instead of asking in a Matrix chat and being ghosted, or even worse, made fun of.

Really excited for the future of Linux and FOSS. I’m glad to be a part of it. Thanks for reading all the way through. :)