Fedora 43 Installation Journey (the story so far … it indeed already went on, actually)
Hardware Configuration
- SSD: 128GB Samsung 830 (for OS, root, boot, and boot/efi)
- HDD: 1TB ST1000DM003 (for /home)
- Previous OS: Windows
- Goal: Fedora-only installation, no dual boot
0. Time Budget, Preamble
I was on a break from work and had some time to work on this. Maybe because of my hardware, maybe for some other reason, everything took an excrutiating amount of time. Several times, I thought the installer on the Fedora Live system had frozen, when, in fact, after waiting a few minutes, the installer appeared on screen, loading for around 20 minutes.
Also, each time I rebooted to Fedora Live, I had to go change the Keyboard input language, because I don’t know where the special keys are on a US keyboard. Password entry is a form of torture, when you have to boot another device to go look up a US keyboard map and hope you’re typing the passwords correctly in the CLI, where there is no possibility to display them.
1. Initial Boot and Media Check Failure
Problem: After booting from USB, the “Test media & start Fedora” option resulted in a media check failure at 4.8%, with errors including:
- “Incomplete node parameter data”
- “The media check is complete, the result is: FAIL”
- Warning: “It is not recommended to use this media”
Cause: Common issue caused by Windows interfering with USB after creation (Autoplay, file indexing) cf. reddit
Solutions:
- Verified GPG signature of the ISO and the CHECKSUM files with Gpg4win and Kleopatra; they were always doing fine.
- Recreated USB media using Fedora Media Writer on Windows, multiple times because of other problems occuring. Remove bootable device immediately after image is done being written.
2. Graphics and Boot Parameters
Problem: Installer froze or had display issues during initial attempts.
Solution: Added boot parameters in GRUB:
i915.enable_psr=0(for Intel graphics)- Press
eat GRUB menu, add parameter at the end of thelinuxline, pressF10to boot - This must be repeated at each reboot, as the change is not written to any disk.
Note: Do not use both nomodeset and i915.enable_psr=0 together—they conflict. wiki.archlinux
3. Partition Conflicts and Disk Preparation
Problem 1: Installer reported partition changes couldn’t be communicated to kernel:
org.fedoraproject.Anaconda.Error: Partition(s) 3 on /dev/sda have been written,
but we have been unable to inform the kernel of the change...
You should reboot now before making further changes.
You should reboot made me cringe each time I read it, because of the time it takes to get to a certain point again. It feels like playing a dungeon crawler without checkpoints. You start over, you kill the opponents a little faster each run, but it’s still a friggin grind.
Cause: SSD/HDD, which still had MS operating system as well as data on them, were automounted by Fedora Live, making them “busy”
Solution:
- Used GNOME Disks to completely wipe both drives (deleted all partitions)
- Verified with
lsblkthat no partitions remained - Rebooted Fedora Live before retrying installation … and died a little more inside.
4. btrfs Partitioning Hang
Problem: Creating a 124GB Btrfs partition on SSD took over 5 hours with no progress, “Cancel” button disabled.
Solution:
- Force-rebooted (safe at this stage, apparently. What do I know!)
- Switched from Btrfs to ext4 for
/root partition, as well as/home - ext4 formatted in seconds (many, but, hey, less than 5 hours)
5. Manual Partition Layout
Problem: The system looked like it was going to make several / and /home partitions. This is probably not true, but I didn’t want to take that chance, at this point.
After a lot of back and forth, used manual partitioning with this layout:
| Device | Mount Point | Size | Filesystem | Purpose |
|---|---|---|---|---|
| /dev/sda1 | /boot/efi | 712 MB | FAT32, vfat, efi | EFI boot |
| /dev/sda2 | /boot | 2.23 GB | ext4 | Boot files |
| /dev/sda3 | / | ~124 GB | ext4 | Root system |
| /dev/sdb1 | /home | 998 GB | ext4 | User data |
Pain points: Couldn’t type in the exact size, and had to use the slider, which, each pixel, “jumped” a few MB or GB, depending on the drive size. This is why /boot/efi is not 650 MB, /boot is not 2 GB and /home is not the entire disk, 1 TB, but 2 GB less.
6. Initial Setup fails at time zone entry
During intial setup, the time zone selection freezes, the input field is unresponsive, and you can’t continue unless you select a time zone. Unfortunately, the input field is buggy and unresponsive. The map was equally unresponsive.
Attempt No. 1: complete setup via the terminal by hitting Ctrl + Alt + F3 and go type
sudo timedatectl set-timezone Europe/Zurich
Problem with attempt No. 1: Upon entering the terminal, you are asked to login, first. Aaaaaaahhh! There is no user. None at all. And root is deactivated. There is no easy solution to this.
Reboot (by hitting the power button with my powerful thumb!) and try again with the GUI. After a few reboots (I still had hope, at that point), out of nowhere, the interface changed to RTL text in Farsi or Arabic, I really can’t tell. It looked beautiful, sure, but I recognized the trick! It’s the same thing my baby boy does in order to not get thrown out the window when he does something his parents … don’t approve of: look cute, and you shall live. My computer did the same thing, I am convinced.
Attempt No. 2 (successful, for the most part, if you are wondering):
Getting to this point has taken three days straight. The old OS is gone, wiped clean, the new OS is on the disk, we’re at the initial setup, almost ready to be able to use the OS. So very close! There must be a solution to this other than just starting over, and, pfff, installing Ubuntu, like everyone else!
Solution: Recovery Using Live USB (Chroot Method)
- Boot from Fedora Live USB
- Open a Terminal in the Live Environment and
lsblkto identify all disks and whether they are mounted, then mount them.
Mount root partition:
sudo mount /dev/sda3 /mnt
Create boot directories and mount boot partitions:
sudo mkdir -p /mnt/boot /mnt/boot/efi
sudo mount /dev/sda2 /mnt/boot
sudo mount /dev/sda1 /mnt/boot/efi
Mount system directories:
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
sudo mount --bind /dev /mnt/dev
sudo mount --bind /dev/pts /mnt/dev/pts
Chroot into the system:
sudo chroot /mnt
Create user:
useradd -m -G wheel FedoraDora
passwd FedoraDora
Disable initial setup:
mkdir -p /root/.config
touch /root/.config/gnome-initial-setup-done
systemctl disable gnome-initial-setup-first-login.service
that actually didn’t work, because it failed to disable unit: unit gnome-initial-setup-first-login.service does not exist, so I told GNOME that initial setup has already been completed for FedoraDora:
mkdir -p /home/FedoraDora/.config
echo "yes" > /home/FedoraDora/.config/gnome-initial-setup-done
and for good measure, I grabbed a large club and disabled autostart globally
echo "X-GNOME-Autostart-enabled=false" >> /etc/xdg/autostart/gnome-initial-setup-first-login.desktop
Fix SELinux:
touch /.autorelabel
Exit and reboot:
exit
sudo umount -R /mnt
reboot
When that finally worked after several attempts, for some weird reason, I couldn’t set my user password correctly, so I had to reboot and try again because of that, into the live environment, delete the user, reboot, recreate the user.
System booted. User is logged in. Look at that. The end.
HAHAHA, you wish! The end? The eeeend? Fool. Try opening Firefox. Try opening a terminal. Go ahead!
Both of them do nothing, because FedoraDora actually has no user home folder, so no Firefox profile and no terminal starting point.
Fortunate easy fix: Go into settings, create a new user in the wheel group, reboot, log in with the new user, delete the initial user.
Done.
It works.
Then I ran into problems with Wayland.
Then I read up on everything Wayland, and found out it’s been in development for more than 20, TWENTY years, and was very soon marketed as the new hot shit in things Display Server at a time when I had never even heard of Linux.
Linux can be journey, but maaan, it better look cute all the way!