In this post, I will explain how to perform a Fedora 29 installation with the i3 window manager. It is common to find installation guides for i3, but they often assume you already have another desktop environment installed.
Here, we will see how to build a fully functional environment starting from a minimal installation, as I have explained in previous posts.
Creating an Installation Medium
Downloading the Fedora Everything Netinstall ISO
From the site: https://alt.fedoraproject.org/, download the file in the Everything section. This ISO allows network-based installation, downloading all necessary packages from the Internet. It also provides the option to choose which package collections to install, unlike Live media, which comes with predefined software selections.
Download the ISO with wget:
wget -N -t 0 -c https://download.fedoraproject.org/pub/fedora/linux/releases/29/Everything/x86_64/iso/Fedora-Everything-netinst-x86_64-29-1.2.iso
Also, download the integrity check file:
wget -N -t 0 -c https://download.fedoraproject.org/pub/fedora/linux/releases/29/Everything/x86_64/iso/Fedora-Everything-29-1.2-x86_64-CHECKSUM
Verify the integrity of the file:
sha256sum -c Fedora-Everything-29-1.2-x86_64-CHECKSUM
Creating the Installation Medium with Fedora Media Writer
Fedora Media Writer is available for various operating systems. Download the appropriate version from:
https://github.com/FedoraQt/MediaWriter/releases/tag/4.1.1
Using Fedora Media Writer ensures the installation medium will support booting on both UEFI and BIOS systems. The boot mode depends on which has higher priority during startup. I always use UEFI exclusively, so all my systems are installed in UEFI mode.
Once Fedora Media Writer is installed, connect your USB drive, run the application, and use the Custom Image option to navigate to the downloaded ISO. Select the USB drive carefully and write the image to the drive.
Installation
Follow the installation steps described in this previous post, ensuring access to a wireless or wired network:
https://porfiriopaiz.github.io/blog/posts/anaconda-y-lvm-sobre-luks.html
During installation, I used my mobile phone to create a wired network via USB. While I had wireless access during the base system installation (Fedora Custom Install), the selected package collection lacked the necessary drivers for wireless connectivity.
To use a USB tethered network, follow these steps after the first boot:
- Log in to the system.
- Connect the USB cable to your computer and mobile phone.
- Ensure the phone is connected to Wi-Fi or has an active data plan. You will need at least 800 MB of data for downloading the required RPM packages.
- Put the phone in USB or MTP data transfer mode.
- Enable a wired network (USB tethering) on your mobile phone.
Verify the connection by pinging Google:
ping 8.8.8.8
Basic Configurations
Configuring dnf
As root, I configure dnf for optimal performance. This step is optional:
Enable the fastest mirrors:
echo 'fastestmirror=true' >> /etc/dnf/dnf.conf
Disable delta RPMs for faster downloads (optional):
echo 'deltarpm=false' >> /etc/dnf/dnf.conf
Keep the package cache for the lifetime of the Fedora release (optional):
echo 'keepcache=true' >> /etc/dnf/dnf.conf
Disable unnecessary dnf services and timers to save bandwidth and avoid locks:
systemctl disable dnf-makecache.service
systemctl disable dnf-makecache.timer
Reboot to apply the changes:
reboot
Updating the System
After installation, your system may not include the latest updates. Refresh the metadata cache and install updates:
As a normal user:
dnf clean all
dnf makecache
As root:
su -c 'dnf clean all'
su -c 'dnf makecache'
Check for updates:
su -c 'dnf --refresh check-upgrade'
If updates are available, install them:
su -c 'dnf upgrade'
Reboot if updates include critical components like the kernel:
reboot
Installing i3
Install the i3 window manager and necessary components. All commands must be executed as root.
Install required groups and packages:
dnf -y group install core
dnf -y group install networkmanager-submodules
dnf -y group install fonts
dnf -y group install multimedia
dnf -y group install base-x
dnf -y group install standard
dnf -y group install input-methods
dnf -y install i3 lightdm-gtk xdg-user-dirs
Enable the graphical boot mode and LightDM:
systemctl set-default graphical.target
systemctl enable lightdm.service
Reboot the system:
reboot
First Graphical Session
Upon first login, i3 will prompt you to generate a configuration file. Press Enter to confirm. Choose your preferred modifier key (e.g., the Windows or Meta key).
Installing Additional Software
This setup does not include preinstalled tools like a web browser or file manager. You can install them as needed. For example, to install GNOME Terminal:
su -c 'dnf install gnome-terminal'
Use dmenu to launch applications:
- Press <Win> + d and type gnome-terminal to open the terminal.
Logging Out and Powering Off
To log out from i3:
- Press <Win> + <Shift> + e and confirm.
To power off from LightDM:
- Press <Alt> + <F4>.
This guide provides a streamlined way to set up i3 on Fedora 29, ideal for lightweight virtual machines or older hardware with limited resources.