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.

  • phar@lemmy.ml
    link
    fedilink
    arrow-up
    1
    ·
    15 hours ago

    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?

    • jamie_oliver@lemmy.worldOP
      link
      fedilink
      arrow-up
      1
      ·
      10 hours ago

      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…

    • jamie_oliver@lemmy.worldOP
      link
      fedilink
      arrow-up
      5
      ·
      21 hours ago

      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…

  • Geodad@lemm.ee
    link
    fedilink
    English
    arrow-up
    1
    ·
    9 hours ago

    Mine was in 2005. It involved the NDIS wrapper, and lots of cussing.

    • jamie_oliver@lemmy.worldOP
      link
      fedilink
      arrow-up
      1
      ·
      edit-2
      10 hours ago

      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.

      • wewbull@feddit.uk
        link
        fedilink
        English
        arrow-up
        2
        ·
        9 hours ago

        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
        }
        
        • jamie_oliver@lemmy.worldOP
          link
          fedilink
          arrow-up
          1
          ·
          edit-2
          8 hours ago

          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 :)

          • wewbull@feddit.uk
            link
            fedilink
            English
            arrow-up
            2
            ·
            6 hours ago

            Also. If you do want to add an option to show the last few lines of the log using tail instead of cat will do it.

  • grrgyle@slrpnk.net
    link
    fedilink
    arrow-up
    6
    ·
    11 hours ago

    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!

    • jamie_oliver@lemmy.worldOP
      link
      fedilink
      arrow-up
      4
      ·
      10 hours ago

      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…

  • Peter G@discuss.online
    link
    fedilink
    arrow-up
    3
    ·
    20 hours ago

    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.

  • some_guy@lemmy.sdf.org
    link
    fedilink
    arrow-up
    5
    ·
    edit-2
    18 hours ago

    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.

    • jamie_oliver@lemmy.worldOP
      link
      fedilink
      arrow-up
      1
      ·
      10 hours ago

      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…