Just wanted to share my experience moving to Linux from MacOS. Very satisfying, but of course not at first. I think my patience has improved a lot too lol.
I started out trying live bootables on my 2012 MBA. 4GB RAM, 60GB HDD. Not a beast really, but it is my only computer. I obviously couldn’t risk ending up without a working OS, so the only option was dual boot from an external drive. Bought an SSD connected via USB and started trying to install distros. Initially Fedora Workstation. Was a mess. Slow, wifi was not working well, odd crashes etc… Decided to start over with something lighter, but all other installers crashed halfway through. I kid you not I shot my back again bent over my small laptop i without working peripherals trying to install different distros. My doctor was not happy when I came back and told her I fucked up my back again because of my posture lol. Apparently, a shitty USB leads to crashes on most installers. I knew Anaconda worked tho, so I went back to a lighter DE with Fedora, XFCE. Set up an install on the SSD with a shared partition I could access from both MacOS and fedora. No big permission issues yet.
Then fixing network drivers. There is a lot of info about what chip needs what driver, a lot of which is incorrect apparently, because my chip which was supposed to work with bcma needed broadcom-wl. The joy when I remembered USB tethering was a thing… For a laptop with no ethernet plug this was a godsend. Got the drivers, got wifi.
And since then, many “issues” I encountered where simply things that generally happened behind the scenes on MacOS I didn’t even know where happening. Learning about these things has been very gratifying, and gives a lot of respect for a polished OS that just works like magic. Eventually, an issue on MacOS I could not solve due to it being a walled garden made me switch to Linux as a daily driver, and once I got over CMD and CTRL being swapped it sped up my workflows and runs better overall. More tweaking tho of course.
There are odd quirks but I found fun solutions for some, and began planning and learning to remedy others. Mostly, everything is working really well. I am having a lot of fun!
My tip for anyone struggling with getting started with linux, set up a log function so you can easily log any relevant changes you make, and have it accessible from somewhere else (like a shared partition or external drive for example). This way you know what you have done and can use that to fix whatever you fuck up. Also, make a knowledge base with the sources you find useful. I have a small kb in UpNote now so I can look up how some things were done instead of having to search and find the right guides over and over.
Wow good job sticking through that. Honestly it sounds like you went through a bit of a trial by fire for a first setup. I’m not sure I would have had the patience, but happy you made it to the other side!
Haha thank you. It was hell for a while but eventually it became fun :p learned a lot as well that I probably wouldn’t have otherwise…
Mine was in 2005. It involved the NDIS wrapper, and lots of cussing.
I’d managed to forget all about ndiswrapper until this very moment!
Triggered your PTSD, eh?
My tip for anyone struggling with getting started with linux, set up a log function so you can easily log any relevant changes you make, and have it accessible from somewhere else (like a shared partition or external drive for example). This way you know what you have done and can use that to fix whatever you fuck up. Also, make a knowledge base with the sources you find useful. I have a small kb in UpNote now so I can look up how some things were done instead of having to search and find the right guides over and over.
This is the best advice for anyone who wants to learn how to utilize the command line. I used to write tremendous documentation for myself, as though I was writing a blog post. Now, I just throw a one line description of the change and hope I remember enough about it for it to make sense. But writing the longer info was really important for me internalizing things in the very beginning.
Glad you’re having fun!
Edit: Oh, and I suggest you look for guides on setting up
rsync
to work like Time Machine.Yeah it is like my own small blog and it really helps remembering for me :)
I will look up rsync, I have no proper backup yet except a script that just copies some folders and files that are important…
Could you explain what you mean by a custom log function?
It is not as cryptic as it sounded I just explained it badly.
Log everything you do in human readable text, because realistically as a beginner going through machine generated logs is not very fun, and .bash_history will be filled with stuff that isn’t relevant always.
It is just a bash script that logs a message with the current date to a file I can access from MacOS as well (on the shared partition) so that I can see what I did if I mess up too bad…
Edit:
Here it is:
# Log argument to changelog.txt with current date and time. function log() { local changelog="/run/media/jamie/DUAL/changelog" local text="$(cat $changelog)" if [ "$1" == "--view" ]; then cat $changelog else printf "$text\n$(date +%D:%H:%M): $1\n" > $changelog fi }
Each line looks like this:
03/16/25:11:49: Running dnf upgrade
I will probably add some stuff so I can get the last 5 lines or something if I want, but at the moment this is really fine.
Rather than reading the whole log just to add a line to it, you can use
>
to append to the end of the file.function log() { local changelog="/run/media/jamie/DUAL/changelog" if [ "$1" == "--view" ]; then cat $changelog else echo "$(date +%D:%H:%M): $1" >> $changelog fi }
Nice I didn’t know that ^^ should probably learn at least the basic bash operators, I am just hacking together the different commands I happen to know at the moment really
Edit: why echo instead of printf?
This was causing a lot of issues with newlines, like when I fetched the log to view it my $ was right after the log entry so I switched it back. But it is probably useful in the future to use >> instead :)
Also. If you do want to add an option to show the last few lines of the log using
tail
instead ofcat
will do it.Thanks that is real helpful! A lot easier than what I had fuzzily in mind
Is this somewhat normal for installing Linux on an old macbook? Everything I install Linux on these days…everything just works. I haven’t gone through something like this in ages. But I have considered getting and old macbook air and putting Linux on it. This is making me think they don’t function very well een though it is intel?
Idk if it is normal, maybe not. I do k ow the broadcom issue is tho. And the crashing installers one for example was something I saw a “solution” for by random, when just watching random linux on mba 2012 setup videos to see what I was doing wrong. No other mention anywhere but right in the middle of this video was someone else with the same problem… So it obviously wasn’t just me.
The broadcom chips are largely a goddamn mess apparently. See this: https://askubuntu.com/questions/55868/installing-broadcom-wireless-drivers
But know that this info is not working for me, and I had to use this instead: https://www.thetestspecimen.com/posts/broadcom-wifi-modules-fedora/
I don’t think you will be running into any other issues really but these are INFURIATING when you don’t know where to start. If you decide to go for an intel mac then spend some time looking up the drivers and issues beforehand I think. Also, I went down many rabbitholes because I am new to linux, if you have some experience this probably isn’t that bad idk…
I suggest setting up Timeshift so it can backup your drive daily and keep several days worth. This way when you or an update screws up your system, you can simply restore to the last working version.
That does sound nice, thank you for the suggestion
Xubuntu soared on my 2007 iMac with no issues whatsoever. 😎
XFCE is really fast for me as well! I thought I was fine with how slow Catalina was running, and I was but now it is kind of painful when I have to boot back into MacOS and it feels slooow…