Manjaro KDE and NAS

You know, I really hate updates.

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.

Fedora 33

Pictures will help explain my current rant.

Fedora 33 – Other Locations
Fedora 33 – WORKGROUP
Fedora 33 – Network sources

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

Ubuntu – Other Locations

Manjaro 20.2.1

With Manjaro (KDE at least, haven’t tried others) you have to click on Network, then double click “Add Network Folder.”

Manjaro KDE – Network
You need to select Execute
Select Windows network drive
Now you have to enter all of the information

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.

Various lookup commands part 1
various lookup commands part 2
Various lookup commands part 3

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.

show shares for 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
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.

You can now see WORKGROUP in “Shared Folders”
All is right with the world

I know one thing for certain; not going to upgrade my router until my Buffalo NAS dies.

How to Make Manjaro 20.2 work with NAS

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.

After the install

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.

Dolphin after install

Just to be complete, here is my Manjaro information.

Manjaro version

Happy NAS!

Fedora 32 – Black Screen After Login

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.

Oh! They have this problem!” I said to myself.

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

root@sysresccd /root % lvm vgscan -v
    Wiping cache of LVM-capable devices
    Wiping internal VG cache
  Reading all physical volumes.  This may take a while...
  Found volume group "fedora_localhost-live" using metadata type lvm2
root@sysresccd /root % vgchange -a y volume "fedora_localhost-live"
  3 logical volume(s) in volume group "fedora_localhost-live" now active
root@sysresccd /root % lvm lvs
  LV   VG                    Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  home fedora_localhost-live -wi-a----- 154.04g                                                    
  root fedora_localhost-live -wi-a-----  70.00g                                                    
  swap fedora_localhost-live -wi-a-----   7.85g                                                    
root@sysresccd /root % mkdir /media/fedora_root


root@sysresccd /root % mount /dev/"fedora_localhost-live"/root /media/fedora_root
root@sysresccd /root % fsarchiver probe simple
[======DISK======] [=============NAME==============] [====SIZE====] [MAJ] [MIN]
[sda             ] [Samsung SSD 840                ] [   232.89 GB] [  8] [  0]
[sdb             ] [DataTraveler 2.0               ] [     7.27 GB] [  8] [ 16]
[sr0             ] [DVDRAM GH24NSC0                ] [   545.51 MB] [ 11] [  0]

[=====DEVICE=====] [==FILESYS==] [======LABEL======] [====SIZE====] [MAJ] [MIN] 
[loop0           ] [squashfs   ] [<unknown>        ] [   469.86 MB] [  7] [  0] 
[sda1            ] [ext4       ] [<unknown>        ] [     1.00 GB] [  8] [  1] 
[sda2            ] [LVM2_member] [<unknown>        ] [   231.88 GB] [  8] [  2] 
[sdb1            ] [vfat       ] [RED              ] [     7.27 GB] [  8] [ 17] 
[dm-0            ] [swap       ] [<unknown>        ] [     7.85 GB] [253] [  0] 
[dm-1            ] [ext4       ] [<unknown>        ] [   154.04 GB] [253] [  1] 
[dm-2            ] [ext4       ] [<unknown>        ] [    70.00 GB] [253] [  2] 
root@sysresccd /root % mkdir /media/myusb
root@sysresccd /root % mount /dev/sdb1 /media/myusb

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.

diamond on Fedora – JustDarkEnough theme

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
  • nano config
The default is enforcing
You need to change it to disabled

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.

dnfdragora

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: 
Dependencies resolved.
================================================================================
 Package                Arch   Version         Repository                  Size
================================================================================
Removing:
 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
 xorg-x11-drv-nvidia-kmodsrc
                        x86_64 3:450.66-2.fc32 @rpmfusion-nonfree-updates  11 M

Transaction Summary
================================================================================
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.

cd Downloads
chmod +x NVIDIA-Linux-x86_64-450.66.run

sudo dnf update

Now you need to reboot. After reboot open another terminal.

sudo dnf install kernel-devel kernel-headers gcc make dkms acpid libglvnd-glx libglvnd-opengl libglvnd-devel pkgconfig

sudo -i
echo "blacklist nouveau" >> /etc/modprobe.d/blacklist.conf
nano /etc/sysconfig/grub
Grub modifications

Please note this is the grub file in /etc/sysconfig. You need to add rd.driver.blacklist=nouveau on the CMDLINE, save, then exit.

First command below is for BIOS and second is for UEFI. I updated both because my system allows choosing between the two when you hit the boot menu function key at the proper time during power up.

grub2-mkconfig -o /boot/grub2/grub.cfg
grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg

I found this step a bit extreme but did it anyway. Physically remove nouveau

dnf remove xorg-x11-drv-nouveau

Backup the old initramfs just in case

mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r)-nouveau.img

Now generate a new one

dracut /boot/initramfs-$(uname -r).img $(uname -r)

Now change to just temrinal support

systemctl set-default multi-user.target

Print out the rest of these instructions because you won’t have a GUI or a Web browser.

Reboot and log in.

sudo -i
cd /home/roland/Downloads
./NVI <tab>

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.

Respond YES to DKMS prompt

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.

Yes to xconfig
Gotta love success!
Set permissive before you leave

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:

  1. Boinc can now use the GPU
  2. My screen looks better
  3. 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.

Personal note:

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.

Related posts:

Fedora 33 Black Screen Again

How to Install PostgreSQL on Fedora 33

Linux Distros That Suck at Multiple Hard Drives