What I really hate is how the Linux world thinks a major (&)(&*ing change should go in a minor update. Not long ago I wrote this post on getting Manjaro to work with NAS and all was beautiful. Manjaro worked much like other mainstream Linux distros when it came to NAS.
Well we can’t have that!
One of the more annoying things about Manjaro KDE and NAS is the network discovery. Actually it is the support/development staff. One person fixes it so it works very main stream. Then someone else changes it back to an expert friendly hack.
If your one and only target market is a corporate desktop, I guess I can understand this. Department IT people will email you the server name(s) you have access to and tell you the credentials you should use. There could be thousands of network shares in a sizeable corporation.
You shouldn’t be seeking out regular users if you are really writing for the corporate market. First go read the post I linked to. It will provide you some frame of reference for this rant.
Pictures will help explain my current rant.
As you can see with Fedora 33, finding the NAS you want to use is a nice graphical progression. That assumes you have applied this hack so your Buffalo devices show up. You apply that same hack to Ubuntu for a more direct approach.
Ubuntu 20.04 LTS
With Manjaro (KDE at least, haven’t tried others) you have to click on Network, then double click “Add Network Folder.”
I think you are starting to see the “expert friendly” portion of this. Most mere mortal users won’t know how to find this information.
I’m sure there are hundreds of other ways. I’m also certain most GUI users aren’t going to did deep enough to find such obscure commands. They are just going to install Ubuntu, Fedora, etc.
Note, you still have to identify which shares are on the server.
If you have NAS on your network that supports the new standard, but your routers and some of your other NAS don’t support the SMB2 protocol this is what you have to do. None of your WORKGROUP drives will show up in the GUI because the router hosting your WORKGROUP doesn’t directly support the newer protocol.
Yes, we now have to apply the hack previously applied to Ubuntu and Fedora. It looks a little different here though.
sudo nano /etc/samba/smb.conf
Change the “client min protocol” line from SMB2 to NT1. Once you save that, if you are using the smbclient command in a terminal, you don’t even have to reboot. You do have to reboot so the GUI notices the change.
Once you reboot things will seem a bit more normal.
I know one thing for certain; not going to upgrade my router until my Buffalo NAS dies.
You installed Manjaro because you wanted a modern Linux without Ubuntu bloat. Now you can’t find your NAS.
I gotta tell ya man, it’s getting so you can’t keep anything anymore. Admittedly I’m surprised either my WD MyCloud or the Buffalo NAS I have are still operational. Generally “consumer grade” hard drives meet their 5 year MTB by being powered off for at least 4 of those years.
Every day I come into the office expecting to see one of them dead. Definitely started becoming more and more choosy about what I keep on them. I’ve even bought newer USB drives to plug into them, both expanding their available storage and providing a newer spindle to hold the stuff I would really like to have survive my next round of splattered platter syndrome.
The truly sad part about having 6TB or more of NAS is coming to the realization you either have to back this stuff up or kiss it goodbye when the drive(s) goes. Consumer grade NAS generally have a single drive. Some have a pair of drives, but you have to do a full mirror (cutting storage in half) if you actually want to recover anything. That also assumes the power supply in the unit isn’t what cooks. After that you have to move up to the commercial grade NAS with higher prices and RAID levels. You also have to also keep one of those pricey drives with cartridge on a shelf to swap in at the moment of failure.
Linux distros today are either not installing the pieces of Samba necessary to access older NAS or they are deliberately turning that part off in the configuration. I’ve already written about this problem with Ubuntu 20.04 LTS. Thankfully Manjaro didn’t make the issue quite as obscure as Ubuntu. Open a terminal.
sudo pacman -S manjaro-settings-samba
When that runs you will see something like the following.
It says you need to reboot for the changes, but I’m running the KDE version of Manjaro and Dolphin too to the changes right away.
Just to be complete, here is my Manjaro information.
I set the feature image for this piece to one of my holding my SystemRescueCD. When it comes to Fedora “you gonna need it a lot!“
While I will say Fedora has gotten oceans better since I last touched it, I must honestly say it is still horrible. Basically they put a desktop front end on a locked down server version of Linux and didn’t actually finish the “front end” part. It is still really expert friendly if you want to actually use it.
I installed Fedora because of Pt. 10 of my CopperSpice series and I wasted most of a day trying to get Ubuntu 16 current repository stuff working with CopperSpice. That was even less successful than OpenSuSE. If you are establishing protocols for a regulated environment, you aren’t going to get CopperSpice to build with what is currently in the repos when it comes to Ubuntu 16. As everybody who has ever worked in the tightly controlled regulated environments knows, you can’t just go find something willy-nilly and install it. There is a formal vetting process. If you “just download and install it” no matter what “it” is or where it comes from, without getting it from the formally vetted repos, you are probably getting terminated and depending on what environment, possibly going to prison.
Let me be honest and up front here.
I don’t know how anyone could “like” Fedora let alone love it. The thing really comes up short.
My experimental project machines are also my BOINC machines. When I’m not installing something new on them for an experiment they sit on a bench running BOINC looking for cures to COVID-19, Cancer, HIV, etc. Most of my BOINC machines have NVidia GeForce 630 based video cards in them because those GPUs tend to rule number crunching, at least on the projects I support.
At some point I will publish Pt 11 and you can follow along to create your own issues. I did successfully build CopperSpice and Diamond. At some point I was going to try creating an RPM and possibly a container for Diamond. Since CopperSpice wouldn’t build on OpenSuSE, Fedora was the next least offensive platform.
There was a case of really bad timing here too. I had just finished building and testing Diamond. I decided I would just copy the screenshots and text files up to one of my NAS devices rather than walk the six feet over to another desk for a thumb drive. Low and behold I could see only WD MyCloud. The Buffalo didn’t show up in the file manager. I could open MyCloud, but it crashed when I tried to open my directory.
I dutifully edited the file and rebooted. Login screen came up, I clicked my name, entered my password, and was greeted by a black screen with a flashing underline cursor in the upper left corner. Hitting return didn’t move it. You could type nothing. WTF?
Okay, it was the last thing I did and it does play a bit of a role during boot, maybe I fat fingered that? I tried every trick to log in as a terminal user.
“unable to get valid context for roland”
Mount an lvm under SystemRescueCD
Booting my SystemRescueCD I then had to figure out how to mount a Fedora partition. In the terminal window
I also mounted a thumb drive with the label “RED” (because it happens to be colored red and I wasn’t feeling creative the last time I initialized it). I wanted some place to write stuff that would survive and be accessible. What good would be writing all of the information about how to mount a Fedora lvm under SystemRescueCD on the drive I needed to know how to mount? The thumb drive I could at least stick in some other machine to look at.
Now I had to navigate to /media/fedora_root and undo what I had done. Being the glutton for punishment that I am I tried commenting it out first. One can never have enough practice booting SystemRescueCD after all.
It took a few reboots to realize this had nothing to do with what I did. Well, not this particular change anyway. One of the main reasons Fedora and its ilk are so ill-suited for desktop use is they tried to completely lock down the desktop without providing a complete desktop.
This Black Screen of Death is Really Common
In a YABU distro you install an NVidia driver via the “additional drivers” or “ubuntu-drivers” methods and you forget about it. Updates continually do whatever it is they need to do. Life goes on.
Not so with Fedora.
Most “advice” is to install the NVidia drivers via RPM Fusion. There is even Fedora doc about RPM Fusion. Okay, this should be properly packaged, right? I installed it, did battle with getting Boinc working (not a simple feat on Fedora!) and continued on with building CopperSpice. Things were smooth. Diamond built and ran.
I was having a good day. Just needed to copy all of this stuff up to the NAS. To do that I needed to reboot.
What happened to me and many many others is the realization that any hiccup, like falling back to a default video driver, is grounds for throwing up the black screen under Fedora. Make a change to your .bash_profile and you are probably going to get a black screen. During all of my installing stuff to make CopperSpice build, a kernel update got installed. It wouldn’t run until the next boot which was a few days later. The updates from Fedora don’t bother to rebuild the NVidia drivers provided by RPM Fusion. Niiiiice.
Unscrewing yourself from this major hosing requires quite a bit of near expert skill or you can just read the rest of this post and find out where the cheese is hidden. <Grin>
Boot your SystemRescueCD
Mount your Fedora root partition as I showed you earlier
cd to your Fedora root then to etc/selinux
I certainly wouldn’t leave it disabled forever, but you need it this way for at least a few more boots. Save and reboot.
You should be able to log in now.
If you don’t already have it, install dnfdragora and use it to find the proper names for nvidia things and rpmfusion. I chose to remove these from the command line.
[roland@localhost-live ~]$ sudo dnf remove akmod-nvidia
[sudo] password for roland:
Package Arch Version Repository Size
akmod-nvidia x86_64 3:450.66-1.fc32 @rpmfusion-nonfree-updates 22 k
Removing unused dependencies:
akmods noarch 0.5.6-25.fc32 @fedora 37 k
elfutils-libelf-devel x86_64 0.181-1.fc32 @updates 34 k
guile22 x86_64 2.2.6-4.fc32 @fedora 44 M
kernel-devel x86_64 5.8.9-200.fc32 @updates 52 M
kmodtool noarch 1-38.fc32 @fedora 18 k
make x86_64 1:4.2.1-16.fc32 @fedora 1.4 M
x86_64 3:450.66-2.fc32 @rpmfusion-nonfree-updates 11 M
Remove 8 Packages
Freed space: 108 M
Is this ok [y/N]:
sudo dnf remove rpmfusion-free-release rpmfusion-nonfree-release
You will note it also removed kernel-devel and make. Those will play a role later on.
Now comes the expert-friendly part of the journey
Much of this information was thieved from this post. I’m just kind of documenting my journey for you. If that site goes down then I guess this will help some people.
Open a terminal.
lspci |grep -E "VGA|3D"
This will tell you what kind of chipset you have or I guess nothing. It told me what I already knew, GeForce 630. Now we have to find the NVidia driver and we do that by visiting the NVidia site. I downloaded the August 18 version of 450 because I wanted to shy away from beta versions and supposedly 450 is what I needed. Once the download is done, open a terminal.
chmod +x NVIDIA-Linux-x86_64-450.66.run
sudo dnf update
Now you need to reboot. After reboot open another terminal.
Print out the rest of these instructions because you won’t have a GUI or a Web browser.
Reboot and log in.
Of course your username won’t be roland. This is one of the few times you will find me recommending use of the TAB key to complete a file name.
Right here is where the RPM Fusion crowd screwed the pooch. Had their package done this it would have worked just like the ones you get from Ubuntu based distros. A new kernel comes out and it trips the trigger to force a recompile/link/whatever of the NVidia driver to the kernel.
You basically respond Yes to everything.
You need to edit your /etc/selinux/config file and set SELINUX=permissive. I don’t know why, I suspect something isn’t completely clean with the NVidia drivers or developers at Fedora just like to mess with you once you’ve installed something that had actual revenu and patents behind it. Even after all of this I still get
“unable to get valid context for roland”
The differences are:
Boinc can now use the GPU
My screen looks better
I can actually log in.
You need to enable the graphical system again and reboot.
systemctl set-default graphical.target
If you are using NVidia this should permanently fix your black screen of death due to kernel update squashing the video driver.
I understand the thought behind Fedora. The reality is that programmers have to eat and live indoors. To do that we need to get paid. One way to get paid is have proprietary patented software algorithms. If you really want to get on your high horse, find the dude who patented storing a year in what was previously a 2 character field using binary right in front of Y2K.