My Adventure Installing Solus Linux On My Production Desktop PC

I have used a number of distributions over the years, starting with Mandrake Linux which morphed into Mandriva after a few iterations, then when the company stopped distributing/supporting it, I switched to Mageia, a community-based fork of Mandriva that was originated by several members of the Mandriva development team (I had vowed to never use a corporate/Company based/supported distro again as a result of my experience with Mandrake/Mandriva). When I ran into issues I could not resolve with Mageia 8, I used Linux Mint Debian Edition (LMDE) for a time.

When Microsoft released Windows 11, I became aware of UEFI with Secure Boot, and I though it was a good idea. For me, security is a layered affair, structured something like an onion. The more layers I can add to my security system, the more roadblocks there are for the bad guys, and each segment of my system that I make more secure adds another layer to my security onion. I mention Secure Boot because none of the distributions I used up to this point were able to load with Secure Boot enabled. I learned that Fedora (a community-based distribution with tight ties to RedHat) supports Secure Boot right out of the box, so I gave it a try when I learned that it has a KDE spin (KDE meets many of my want list items) even though it is ‘tied’ to RedHat. I liked it, and I was able to configure the grub2 boot manager to work pretty much the way I want, so I installed it on my desktop and primary laptop PCs, but then RedHat started pulling their shenanigans so I started looking for an alternative while considering what I want out of a GNU/Linux distribution (I like experimenting, but I also want a distribution I can call home), so after giving that some thought, I developed a ‘want list’. So far, it contains the following:

1. A community-based, independent distribution with no/minimal ties to any company/corporation. 2. Load with Secure Boot enabled. 3. A desktop environment with the panel at the bottom of the screen (a muscle memory issue for me). 4. An easily customized desktop environment with as many configuration options as possible. 5. Easy to use GUI system management tools (I like to ‘see’ what I’m doing). 6. Good support for my NVIDIA adapter (proprietary drivers?). 7. A good, helpful user community (I want to become a part of something I like and can respect). 8. An easy to understand GUI installer (I don’t want to have to think too much to install a new distro). 9. Have the latest stable/near cutting edge packages in the repository. 10. Firefox, Thunderbird, LibreOffice, and the current onedrive client (preinstalled/available in a repo). 11. A simple, basic GUI text editor (I don’t need a lot of features, just something I can take notes in). 12. A simple, basic calculator (with add, subtract, multiply, divide, and programmer mode – optional). 13. A basic terminal emulator (nothing more than a clean command prompt with the current path). 14. A simple, file manager (with options to ‘open as root’ and ‘open terminal here’).

I use OneDrive in Windows, and I want to be able to access my files on OneDrive when I’m using my GNU/Linux OS, so several years ago (when I started using OneDrive in Windows) I looked around and found an open source client package on GitHub (https://github.com/abraunegg/onedrive). Initially, I had to build and install it from source, but recently I’m finding that it’s available in more and more distributions repositories so it gets updated with system updates (no more build from source, et-al). I have since added it to my want list (above) with the caveat that it be included in one of the distribution’s repositories.

When I was in school, I used Microsoft Office 2010, but when it reached end of life, I switched to LibreOffice. I now prefer it to the MS offering when working in Windows. I can say the same thing about Firefox and Thunderbird and best of all, I can use all three in GNU/Linux too.

After reading the “Solus 4.4 Releases With Useful Upgrades and Plans to Ditch MATE Edition” (https://news.itsfoss.com/solus-4-4-released/?ref=itsfoss.com) item from the ItsFOSS 23.28 newsletter (https://itsfoss.com/newsletter/foss-weekly-23-28/?ref=foss-weekly-newsletter) I decided to give Solus a try, so I spun up a Virtual Box VM with UEFI and Secure Boot enabled in Windows 11, and installed it. Everything went well, and I had a working Solus installation in no time at all. I spent a bit of time customizing the system’s appearance and configuring it to work my way. Then I installed a few apps I like to use (see my want list above) with the GUI package manager (I haven’t tried to find out if there is a command line one yet), and it was very easy and intuitive to use.

After using Solus for a few days in the VM, I realized that it has most everything I want from a GNU/Linux distribution, so I decided to install it along side Windows 11 on my desktop PC. My first attempt failed with a complaint about my EFI partition, so I checked it out using GpartEd in my copy of the System Rescue live system (https://www.system-rescue.org). My EFI partition was only 100MB (the minimum allowed) in size and it was about 90% full (too many past distributions?). When I tried to resize my Windows partitions to give my EFI more room, I discovered that GpartEd was unable to grow the fat-32 file system with a message “we’re Working on it”. I knew that if I formatted the partition so I could make it larger, that would bork my Windows 11 installation so I decided to wipe everything on that drive, create a 1GB EFI partition (formatted with the fat-32 file system and the boot flag set), then install Windows 11 again (using the entire disk). I didn’t know if Windows would use my EFI partition or not, but it worked. I spent some time configuring and customizing Windows to work the way I like it, then I installed Solus.

I found the installer to be very intuitive and easy to understand. There are two basic installation modes. The first requires that I have partition(s) already created for Solus, and the second resizes my Windows partition to make room for Solus. I knew this ahead of time because I read the installation documentation on the Solus website (that’s why I installed Windows using the entire disk) and I chose the second option. It showed me the minimum size possible for the Windows partition (based on how much storage was in use) and the maximum size available for the Solus partition(based on the amount of free space in the Windows partition). If I recall correctly, the size I choose for the new Solus partition determines how much space remains in the Windows partition (or vice-versa?), so I can decide how I want to distribute the storage space between both OSs. I decided to give each OS about the same amount of space. This time my Solus installation went through without a hitch. After rebooting, I had to complete the MOK registration to satisfy Secure Boot, then I was able to successfully boot into Solus with Secure Boot enabled (one of my major ‘wants’ for a GNU/Linux distribution).

Sadly, the system rebooted right into Solus with no boot menu visible. After going through the initial set up in Firefox I found that the Solus home page is the default start page. That was a good thing because I was getting very tired (it had been a long day so far), and there is a link to the Solus forum which has a support section, so rather than trying to find the answer to my problem myself, I posted a request for help and went to bed. The next morning, I found two replies, the first one told me how to get to the Solus documentation (and the section about the boot manager) and the second one gave me the command(s) to make the boot menu visible. I read the section about the boot manager (Solus uses clr-boot-manager from Clear OS), and learned that by default it has a time-out period of zero seconds so the boot menu is not displayed even though it has been created. I used the commands from the second reply to set the time-out to 5 seconds (In a terminal, run ‘sudo clr-boot-manager set-timeout 5 && sudo clr-boot-manager update‘) which solved my problem. After that, it was a simple process of installing and configuring Thunderbird and onedrive. I had already installed the two extensions I use in Firefox (LastPass and DarkReader) and set the theme to ‘dark’, so I could get to the passwords I needed to set them both up without a glaringly white background.

My final issue is that when the boot menu is displayed, Solus is selected by default, regardless which OS I restarted from (not my preference). If I restart from Windows, I want Windows selected when the boot menu appears, and when I restart from Solus, I want it selected. I’ve spent much of today searching the Internet for a solution to no avail, so I bit the bullet and asked (again) on the Solus forum for help. I hate asking for help (I’d much rather be the help-er that the help-ee :). I suspect that the main reason I could not find an answer yet is that I really don’t know what keyword(s) to use in my search. I hope that tomorrow I’ll have things set up the way I want. If not, I may try to learn how to use the rEFInd boot manager in Solus.

All in all, I’m not sorry I’ve embarked on this adventure. Before I downloaded the Solus iso, I looked over the Solus web page. The single statement that caught me was “Install once, use forever.” In the article, the first listed feature was ‘Secure Boot’. My GNU/Linux want list contains Support Secure Boot, have the current onedrive release in a software repository, have near cutting edge software packages, be configurable, be stable, and be easy to use. Given the caveat that the world of boot managers is new to me, Solus meets most all the items in my want list, and I could not be happier with it. I’m in Solus, writing this using LibreOffice Writer. I intend to update this as I use Solus going forward.

It’s tomorrow, and again I have two replies to my request for help. One misunderstood my issue and provided help on how to list the bootable devices connected to my computer (using the F-12 key at boot time) so I can choose which one to boot, but the other respondent got it, saying “ … you can edit loader.conf on your EFI partition to have default @saved which should make systemd-boot default to the latest choice.”, giving me exactly what I need to get things set up as I want!

Yesterday, I learned that clr-boot-manager mounts the EFI partition to boot Solus, then unmounts it afterwards to protect it from accidental corruption (making the /boot directory empty), and that it uses systemd-boot to accomplish its tasks. To mount the EFI partition, I need to know its UUID, so (in a terminal emulator) I ran ‘lsblk –fs’ to get a list of partitions and their information. I made a note of the EFI partition’s UUID (for future reference), then mounted the EFI partition using the command “sudo mount -U /boot” (where is the EFI partitions UUID number).

Next, I installed the Nemo file manager (from the Cinnamon desktop environment) because it has ‘open as root’ and ‘open terminal here’ options in the ALT-Click context menu so I can make changes to files in directories that require administrative privileges (such as the /boot directory and its sub-directories, one of which contains the EFI partition).

I used Nemo to navigate to the /boot directory and learned that it contains the EFI, loader, and “System Volume Information” directories as well as a file named solus-enroll-me.cer (the key used to register Solus in MOK so it can boot with Secure Boot enabled). The loader directory contains a directory named entries, and the loader.conf file (the one I’m looking for) so I opened a root session of Nemo in the loader directory, then opened the loader.conf file in kate (a KDE editor) to edit it, but first I made note of its initial content (something I always do - just in case, and to keep a record of changes I make) which consists of two lines. The first is ‘timeout 5’, and the second is ‘default Solus-current-6.3.12-241.conf’ (the line I’m going to change to ‘default @saved’. After editing and saving loader.conf (as root), I closed any windows I had open, saving any content I did not want to lose, then I rebooted back into Solus to make sure I could. It worked so I rebooted again, this time into Windows to make sure it works. It does, so I rebooted yet again, into Solus to see which OS is selected when I reboot from Windows. When the menu appeared, Windows was selected so to switch to Solus, I had to choose it (exactly what I want).

Now Solus ticks off every item on my want list, and more so I’ll probably be a Solus user for the foreseeable future, perhaps on all my computers (I have this desktop PC that I assembled from components which dual-boots Windows 11 with Solus now, my primary laptop – a Lenovo Legion 5 which dual-boots Windows 11 with Fedora 38, and an older Dell 5000 series laptop which dual-boots Windows 10 with Manjaro, using the rEFInd boot manager). I have been able to configure the boot manager (clr-boot-manager) in Solus to show the multi-boot options menu (Windows and Solus), and to select the OS I last used prior to boot-up (in either a reboot or start-up scenario). This has really been an adventure for me, and I hope you enjoyed the ride as much as I have enjoyed telling you about it.

I hope my experience helps others,

Ernie

Comments

Popular posts from this blog

Common Debian App Commands With Descriptions

Here is what I do to remain safe on (and off) the Internet

Windows–Linux dual-booters: how to set Windows system time to UTC