
I shared in my previous post how I updated WordPress recently and it broke the custom plugin that I wrote several years ago. Then through updating my development setup I found that my Mac is much more out of date than I thought. I don’t want to get a new Mac because they don’t make one comparable to the one I have, so I tried a new laptop with Windows 11. But it keeps crashing. Which leaves Linux.
I like Linux. It’s open source and free to use. I tried it out once many years ago and really enjoyed it because it took me back to my college days working on Unix systems. It’s a good operating system for regular office-type stuff and surfing the Internet and it’s great for software development, especially for the web. And that’s what I need right now.
Linux runs very well on old hardware, but I’m installing it on a new HP Omen Windows 11 laptop. I’m not getting rid of Windows though. I want to make this laptop dual boot so that when I start up I can choose either Windows 11 or Linux. People do it all the time so it should be easy. Operative word being “should.”
Trying Ubuntu Linux
The first choice to make with Linux is what flavor? Google says there are over 600 actively maintained varieties of Linux. The core of Linux is a piece of software called a kernel, the actual operating system. All of the various distributions use the same kernel and differentiate themselves by what other software packages they include.
I’ve heard of Ubuntu and I know it’s been around for a long time, so I decided to try it. I start by downloading a simplified disk image and write it to a USB flash drive so that I can boot the computer from it instead of the hard drive.
Ubuntu wouldn’t load all the way. I was able to get to a desktop and connect to the Internet but it wouldn’t run the configuration script to set up a user and password. And most importantly, I couldn’t run the installer to install Ubuntu onto the hard drive. I tried creating the flash drive on both the Windows laptop and the Mac. I event went to the store and bought a brand new flash drive. Nothing worked.
Installing Fedora Linux
So Google suggested Fedora, another popular option that I might have more success with. The start up process worked a lot better but I did have one small hitch when I couldn’t connect to the Internet. I use mac address filtering to secure my network and Fedora has a somewhat hidden private mac address feature that changed the address that it gave to my router. Once that was fixed everything seemed to work fine. Time to install it to the hard drive.
The next step, since I don’t want to wipeout Windows 11, is to make new space for Linux. You have a physical drive inside your computer, let’s say one terabyte (TB). But you don’t see all of it because it is sectioned down into partitions – a boot partition, a recovery partition, and the usable partition that you see as your C: drive in Windows. I shrunk down that last partition by half and created a new 4th partition for Linux to use. Windows has the tools to do that.
Once I was convinced that Linux was going to only add a record to the boot partition, leave the Windows partition alone, and use the new empty partition I agreed to let it install. When it was done I shut down, removed the flash drive, and booted back up hoping to see the menu to choose between Linux and Windows. But no option menu. It went straight into Windows. Google said to enter the BIOS and choose Linux, but it wasn’t there either.
I don’t remember the specifics of everything I had to do to get into Linux, but it involved turning off Fast Boot in Windows settings to make sure that Windows didn’t bypass the boot menu, then boot into Linux using the flash drive and run some commands to install a new boot menu that would precede the Windows boot menu. So when I boot up, I get a menu to choose either Linux or the Windows boot menu. If I choose Linux I go to Linux and all is good. If I choose Windows I get the Windows boot menu, which only has a Windows 11 option, then I get to Windows.
I installed the rest of my development environment without much trouble. I created a similar environment to what I have on both my Mac and on Windows – Apache web server, MySQL database, WordPress for the test website, Node to build the WordPress plugin skeleton, and Visual Code Studio to write my plugin code.
Still Having Crashes Like on Windows
This is where I find out why Linux users prefer older hardware. Everything is more stable because all of the drivers for old hardware have had time to mature. At least on Linux I can find out exactly why it crashes. There are log files and tools galore for this kind of thing.
In my case everything points to the graphics card. It goes into sleep states that it can’t get back out of quickly enough. At least that’s Google AI’s determination based on the error messages. Apparently the Linux developers have been struggling with modern graphics cards, or at least mine, for a good while. We (Google AI and I) tried reverting the graphics drivers back to a previous version that was less unstable. When that didn’t work, we rolled back my kernel to what the Internet considers a more stable version. It’s so old that Linux doesn’t even have it as an option anymore. I had to get it from a trusted third party source.
Remember how much trouble I had getting into Linux after I installed it? Well, I load a different kernel by adding it to the boot menu. But Linux no longer supports this kernel, and that turns out to be a problem. HP and/or Windows has a feature called Secure Boot that requires that every operating system needs some some kind of security key installed too. Windows 11 and official versions of the Linux kernel have those keys installed automatically. I can jump through some hoops to create and install a key or I can just turn off Secure Boot. So I went into the BIOS and turned it off.
Now I can boot into the older version of Linux and everything seems stable. The web browser opens, I can switch desktops, do all the normal things. I think I’m good. So I start up Visual Studio Code to resume working on my plugin.
And it crashes.
My friend Google AI waits until now to tell me that the graphics library Visual Studio Code uses is known to crash my graphics card. I might still be using Windows to write this plugin if I had known this a few days ago. Maybe not because I don’t think I had opened VSCode yet during all of the Windows crashes, but it’s a possibility.
Anyway, easy fix. I’m using Linux where VI, Vim, or any number of other editors are more than sufficient for what I’m doing. I just uninstall VSCode and move on.
Good to Go Now, Right?
Now I can write my plugin and create pages in WordPress to test it out. Everything is good until I walk away for a little bit and let the laptop go idle. It wakes right back up the first few times, but one time it doesn’t want to. Again with the graphics card. Apparently it can’t wake up fast enough, gets stuck, or something along those lines. It ends up trashing the desktop session and I have to shut down. Another simple fix – disable deep sleep. Allow the screen to go black after a few minutes to save some power, but don’t let it go to sleep. That’s fine. For the most part I’m going to use the laptop for a bit and shut it down when I’m done because most of what I do is still on my antique Mac, like writing this blog post.
Then one more problem. It won’t shut down. It looks like it’s off. The screen goes dark, the fans stop, and the little light on the power button goes out. All indications are that it is off. But the battery, which was full last night, is now completely empty this morning. If I had picked it up to move it after it had been “off” for a while I would have noticed that the bottom, where the battery is, was still warm.
Google AI and I tried a few things but nothing would power it all the way down. There are only two ways we can find to completely shut it off. I can “shut it down”, give it time to stop everything, then hold the power button for 5 seconds or so to force it to turn off. Or I can reboot into Windows and do a normal shutdown from there. Either works. I have to be careful with holding down the power button though, because if I hold it down too long I reset the CMOS chip and re-enable Secure Boot.
So, when I’m done working on my plugin in Linux I reboot into Windows and play a game for a bit. From there I can either let it sleep or shut it down.
It’s not perfect, but it works and I haven’t had any further crashes in Windows or Linux. I get to play on Mac, Windows, and Linux any time I want. How much more fun could a person ask for?
Next time I will go into the plugin adventure. That has been just as challengine to get the information I need, but I’m happy with it so far.
To be continued… again…

