December 16, 2023

Fedora 39 -- full reinstall

I last did a full install in February, 2027 (of Fedora 25). Why a full reinstall rather that the usual DNF upgrade?
Two reasons: The new drive is a 2.5 inch Samsung 870 EVO 1T drive Model MZ-77E1T0 with a 5 year warranty.

Current partition scheme

/u2 is a mirror of /u1.

The sda2 partition is a fedora generated LVM (which I hate) that has both root and /home. I never use this /home

Download the XFCE spin iso

I downloaded both of the following. The first by accident. Then I realized I really wanted the XFCE spin.
-rw-r--r-- 1 tom tom 2129752064 Dec 16 11:59  Fedora-Workstation-Live-x86_64-39-1.5.iso
-rw-r--r-- 1 tom tom 1712130048 Dec 16 12:09  Fedora-Xfce-Live-x86_64-39-1.5.iso
I plug in a 32G flash stick and do this:
su
dd if=Fedora-Xfce-Live-x86_64-39-1.5.iso of=/dev/sdd bs=16M

Do the install

I unplug my old SSD and plug the new one in in its place. Then I boot from the flash stick (USB) which is easy on my system. I use the "DEL" key to get into the bios and select it for booting. This gets me running the live F39 image.

On the left is a column of icons, the bottom of which says "install to hard drive". I select this and it starts the quirky Fedora installer with all of its bugs and confusion. I partitioned the new SSD before starting this, but that is wasted time, there is no way to assign mount points to existing partitions. So I delete all the partitions and put them back in place. I need a 1M "biosboot" partition. What I end up creating is:

sda1 - biosboot
sda2 - /boot 32G
sda3 - /  512G
sda4 - /home (the remainder, 387G or so)
Once I get all this right, it does the install and takes about an hour (I don't know for sure as I went elsewhere and checked back after an hour to find it done). Finishing the install just takes you back to the live image which is sort of confusing. Then I just reboot.

My disks

I went through a bunch of trial and error with SATA cables to get my disks to show up as I wanted. Here is some ascii art of my SATA connectors
 C | D
 C | D
 C | D
------
 A | B
 A | B
 A | B
------
 x | r
 x | r
 x | r
------
 x | x
 x | x
 x | x
------
This is the edge on view of my motherboard as viewed in the case with the PCB on the right.
The disk plugged into "A" becomes "sda", the disk plugged into "D" becomes "sdd".
I denote "r" as my cdrom drive and "x" indicates unused connectors.

fstab and lvm

I edit /etc/fstab so it mounts /dev/sdc3 as /u1 and /dev/sdd3 as /u2 (just as before). The "sdb" drive has a fedora LVM on sdb2 and that is easier than I thought it would be to deal with. The command "vgscan" finds "fedora" and the "lvs" command finds home, root, and swap. These show up in /dev as:
/dev/fedora/home
/dev/fedora/root
I add entries to fstab to mount these as /oldhome and /oldroot.

A static IP

This used to be done by a file in /etc/sysconfig/network-scripts and the network service, but all of that seems to have changed.

Nuke selinux

It has never done anything but give me trouble, and has always been first on my list of things to eradicate. I edit /etc/selinux/config and change from enforcing to disabled. A comment warns me that if I need to disable it during boot, I will need to fool around on the boot line. Now I reboot.

I use "sestatus" to verify that it is disabled and go away happy.

Indeed, selinux was a critical showstopper in the next task.

Restore my old home directory

The Fedora install gave me /home/tom in the new /home partition on my big new SSD. But my old home directory is over on /u1 as /u1/home/tom. So I do this:
su
cd /home
mv tom tom_f39
ln -s /u1/home/tom tom
I also change my uid and gid in /etc/passwd and /etc/group.

However this did not work at all (the login just silently failed) until I nuked selinux. This is why I hate selinux.

Thunderbird

A simple install with dnf. I launch it and it "just works". How nice!

Install the chromium browser

I am giving this a try, and so far it seems just fine. The nicest thing is that it is a simple dnf install.

I try "dnf install chromium" just to see what chromium is all about. It shows up in the XFCE menus under "internet" and has an all blue icon that looks like the chrome icon.

The absolute first thing I do is to install adblock-plus. I never realized how much it was doing for me (especially on Youtube). I have had it on Chrome for a long time and was taking it for granted, not realizing how much it was improving my experience. It installs effortlessly on Chromium.

I can tell it to start up on cholla, which is nice. New tabs start on google, which is OK. However I can add a shortcut to cholla and that might work out just fine. I may actually do Google seaches at least as often as I start on cholla.

After changing my hostname, It got upset. I had to start it from the command line to get the follwoing error message:

Type "chromium-browser" on the command line --

Unable to show a dialog outside the UI thread message loop:
Chromium - The profile appears to be in use by another Chromium process (2855)
on another computer (fedora). Chromium has locked the profile so that it
doesn't get corrupted.
If you are sure no other processes are using this profile,
you can unlock the profile and relaunch Chromium.
Having another browser (firefox) was invaluable in finding out how to sort this out.

What I did to "unlock the profile" was:

cd .config/chromium
rm -rf Singleton*

Customize XFCE

Fixing click to focus is the first big priority.
Go to "settings", "window manager", "focus".

Next, we want single click for icons.
Go to "settings", "desktop", "icons".

Disable the screensave/lock-screen.
Go to Settings, XFCE screensaver and flip the switch for "activate when idle". And the switch at the top for "enable screensaver".

Now move panel to the bottom. Right click on the panel, click "panel" "panel preferences"
unclick "lock panel"
use handles on left/right side of panel to drag it to the bottom.
click "lock panel"
I also bump up its "row size" to 50 pixels
Then move "Applications" to the right.

Now I add 8 workspaces to the panel!

I use Settings, Appearance and select "high contrast".

The fonts are tiny. I have found two suggestions.
One is to use Settings, Window Manager, and Style, then change the title font. I went from 9 to 16, but didn't see the effect I wanted.

The second suggestion was Settings, Appearance, Fonts and change the DPI setting. I see 96 there and that is correct for my monitor. I can change the default fonts, and I do, bumping them from 9 to 11.

The clock has its own font control that I bump to 15.

XFCE has both a Panel and a Dock, something I need to learn more about. I am pretty sure my Panel currently hides my Dock.

Nvidia driver

First we need to set up (enable) RPM-fusion:
dnf install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
Then we download the driver (and a boatload of other stuff that comes with it):
dnf install akmod-nvidia
Then reboot. Before the reboot we see:
lsmod | grep nouv
nouveau              3465216  20
drm_ttm_helper         12288  1 nouveau
ttm                   110592  2 drm_ttm_helper,nouveau
drm_exec               12288  1 nouveau
gpu_sched              57344  1 nouveau
i2c_algo_bit           20480  1 nouveau
mxm_wmi                12288  1 nouveau
video                  77824  2 asus_wmi,nouveau
drm_display_helper    229376  1 nouveau
wmi                    45056  5 video,asus_wmi,wmi_bmof,mxm_wmi,nouveau
After the reboot:
lsmod | grep vid
nvidia_drm            118784  6
nvidia_modeset       1585152  7 nvidia_drm
nvidia_uvm           3522560  0
nvidia              62394368  114 nvidia_uvm,nvidia_modeset
video                  77824  2 asus_wmi,nvidia_modeset
wmi                    45056  4 video,asus_wmi,wmi_bmof,mxm_wmi
And everything is dramatically faster. Nice!

Set Correct timezone

The file /etc/localtime is a link to the correct timezone.
The following is wrong.
lrwxrwxrwx. 1 root root 38 Dec 16 16:27 localtime -> ../usr/share/zoneinfo/America/New_York
I could (should) have set this during installation, but the fix is:
su
cd /etc
rm localtime
ln -s /usr/share/zoneinfo/America/Phoenix localtime
After this:
timedatectl
               Local time: Sun 2023-12-17 08:32:50 MST
           Universal time: Sun 2023-12-17 15:32:50 UTC
                 RTC time: Sun 2023-12-17 15:32:50
                Time zone: America/Phoenix (MST, -0700)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no

Set hostname

Just edit /etc/hostname. I put "trona.mmto.org" in the file (one line). After doing this, chromium threw a fit. See above.
Have any comments? Questions? Drop me a line!

Adventures in Computing / tom@mmto.org