How to Perform a Fedora Network Install (Netinstall) Using the Everything ISO

You cannot perform a network install directly using the "Everything ISO" because that image is designed for local installation or creating a local repository; instead, use the smaller "Netinstall" ISO to boot and pull packages from the Fedora mirrors, or mount the Everything ISO locally to serve as

The scenario

You downloaded the 20GB Everything ISO, burned it to a USB drive, and booted it expecting a fast network install. The installer loads, asks for your language, and then stalls on the software selection screen. The progress bar refuses to move. You realize the massive image was never meant to stream packages over Wi-Fi. It was built to sit on a hard drive or a local server. You need to switch tactics.

What the ISOs actually do

Fedora ships two primary installation media. The Netinstall ISO is a lightweight boot environment. It contains the Anaconda installer, a minimal set of drivers, and the package manager. It expects an active internet connection to pull the latest packages from the official mirrors. The Everything ISO is a complete snapshot of the repository at release time. It contains every package, every dependency, and every translation. It is designed for local installation or for serving as a static repository in environments without internet access.

Think of the Netinstall ISO as a delivery app that orders fresh ingredients from the store as you cook. Think of the Everything ISO as a fully stocked pantry you carry with you. You cannot use the pantry to order delivery. You must choose the right tool for your network conditions.

Anaconda, the installer behind both ISOs, relies on repository metadata to resolve dependencies. The metadata lives in a repodata directory and contains a repomd.xml file that lists package checksums, dependency trees, and group definitions. When you select a software environment, Anaconda reads that metadata, calculates the exact package set, and fetches the files. If the metadata is missing or unreachable, the installer halts. This is why pointing the installer at the wrong ISO or a broken network connection stops the process immediately.

The standard path: Netinstall ISO

If your machine has a working network connection, use the Netinstall ISO. Download the Fedora-Workstation-Live-<version>-<arch>.iso or the Fedora-Server-netinst-<version>-<arch>.iso from the official release page. The file size stays under one gigabyte. Write it to a USB drive with dd or Fedora Media Writer. Boot the drive and select the installation option.

The installer will probe your network hardware automatically. If you are on Wi-Fi, click the network icon in the top right corner and select your access point. Enter the passphrase. Wait for the green checkmark. The installer validates the connection by pinging the Fedora mirror network. If the ping succeeds, the software selection screen unlocks.

Select your desired environment. Workstation pulls the desktop packages. Server pulls the base system and selected services. Custom lets you pick individual packages. Click Done. Anaconda resolves dependencies, downloads the packages, and writes them to your target disk. The process takes longer than a local install, but you get the latest security patches and bug fixes from the moment the system boots.

If your network requires a proxy or you need to verify connectivity before starting the installation, drop to the installer terminal. Press Ctrl+Alt+F2 to open a TTY. Switch to the root shell if prompted. Test the connection and configure environment variables if necessary.

# Create a temporary directory for testing network reachability
mkdir -p /tmp/nettest
# Download the mirrorlist to verify DNS resolution and HTTP connectivity
curl -sS -o /tmp/nettest/mirrorlist https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-40&arch=x86_64
# Check the first line to confirm the mirror network responded correctly
head -n 1 /tmp/nettest/mirrorlist
# Set the HTTP proxy if your environment requires authentication or routing
export http_proxy="http://proxy.example.com:8080"

Switch back to the installer with Ctrl+Alt+F6. The environment variables persist for the current session. Anaconda will use the proxy for all package downloads. If the mirrorlist returns empty or times out, your network configuration is blocking outbound traffic. Fix the routing before proceeding.

The air-gapped path: Everything ISO as a local source

If you are deploying in a data center with no internet, or if your connection is too slow to download two gigabytes of packages, mount the Everything ISO as a local source. Boot the Netinstall ISO first. It provides the installer environment without forcing a network connection. When you reach the Installation Destination or Software Selection screen, click Software Source. Change the selection from Fedora 40 to Hard Drive or ISO Image.

Point the installer to the mounted Everything ISO. If the UI does not auto-detect the image, mount it manually from the installer's TTY. Press Ctrl+Alt+F2 to open a terminal. Switch to the root shell if prompted.

Here is how to mount the ISO and verify the repository metadata before pointing Anaconda at it.

# Create a mount point for the installation media
mkdir -p /mnt/fedora-everything
# Mount the ISO file using the loop device driver
mount -o loop /run/media/root/Fedora-Everything-40-1.1.1-x86_64.iso /mnt/fedora-everything
# Verify the repodata directory exists. Anaconda requires this to resolve dependencies.
ls -la /mnt/fedora-everything/repodata/
# Check the repomd.xml file to confirm the metadata is readable and uncorrupted
cat /mnt/fedora-everything/repodata/repomd.xml | head -n 5

Switch back to the installer with Ctrl+Alt+F6. Select Hard Drive in the Software Source menu. Point it to /mnt/fedora-everything. The installer reads the repodata directory, builds the dependency tree, and proceeds without contacting external mirrors. The installation runs entirely from the USB drive or attached storage.

If you are automating deployments with a kickstart file, replace the url directive with a harddrive or repo directive. The kickstart parser reads the local path and mounts it during the pre-install phase.

# Define the local ISO mount point for the kickstart installer
harddrive /mnt/fedora-everything
# Declare the repository base URL so Anaconda can fetch package metadata
repo --name="Fedora Everything" --baseurl=file:///mnt/fedora-everything
# Skip network configuration entirely to speed up the pre-install checks
network --bootproto=dhcp --device=eth0 --activate=false
# Set the root password and disable interactive prompts for unattended installs
rootpw --iscrypted $6$randomsalt$hashedpassword

The installer will ignore the network stack for package retrieval. It pulls everything from the local mount. This approach eliminates mirror timeouts and DNS failures during deployment. Run the kickstart file from a PXE server or a USB drive to provision multiple machines identically.

Verify the installation source

After the installation completes and you boot into the new system, confirm the package manager is pointing to the correct repositories. The default configuration should list the standard Fedora mirrors. If you installed from a local ISO, the system will automatically switch to the network mirrors on first boot. Verify the active repositories and test the package manager.

# List all enabled repositories to confirm the default mirrors are active
dnf repolist enabled
# Refresh the metadata cache and verify the connection to the mirror network
sudo dnf upgrade --refresh
# Check the transaction history to confirm packages were installed successfully
dnf history list
# Inspect the repository configuration directory for any leftover local paths
ls -la /etc/yum.repos.d/

The --refresh flag forces dnf to download fresh metadata instead of using a cached version. This is the standard weekly maintenance command. Run it immediately after a fresh install to ensure your package database matches the current mirror state. Config files in /etc/ are user-modified. Files in /usr/lib/ ship with the package. Edit /etc/. Never edit /usr/lib/.

Common pitfalls and error messages

The installer will refuse to proceed if it cannot read the repository metadata. You will see the following error in the installer log or on the terminal.

Error: Cannot retrieve repository metadata (repomd.xml) for repository: fedora

This message appears when the mount path is incorrect, the ISO is corrupted, or the file system driver fails to load. Check the mount point. Verify the ISO checksum before burning it to USB. A botched upgrade can leave you unable to boot. Run this from a backup VM first if you can.

If you manually mount the ISO outside the installer environment and encounter permission denied errors, SELinux is blocking the access. The installer runs in a confined domain that expects specific file contexts on installation media. Restore the correct context before retrying.

# Recursively restore the default SELinux security context for the mount point
sudo restorecon -Rv /mnt/fedora-everything
# Verify the context matches the expected install_media_t type
ls -Z /mnt/fedora-everything/repodata/
# Check for denials in the audit log if the mount still fails
sudo journalctl -t setroubleshoot | tail -n 10

SELinux denials show up in journalctl -t setroubleshoot with a one-line summary. Read those before disabling SELinux. Another common issue is mirror selection during a network install. The installer picks a mirror based on geographic proximity and load. If your default mirror is slow, the download stalls. You do not need to edit configuration files inside the installer. Pass a kernel parameter at the boot menu to force a specific mirror. Type inst.repo=http://mirrors.example.com/fedora/linux/releases/40/Everything/x86_64/os/ at the boot prompt. The installer uses that URL exclusively for package retrieval.

Network drops during a large install will corrupt the transaction. Anaconda detects incomplete downloads and aborts to prevent a broken system. Reboot and retry. Do not force the installation to continue with partial packages. Trust the package manager. Manual file edits drift, snapshots stay.

When to use which ISO

Use the Netinstall ISO when you have a stable internet connection and want the latest security patches. Use the Everything ISO as a local source when you are deploying in an air-gapped environment or behind a restrictive firewall. Use a custom kickstart file when you are provisioning multiple identical machines and need zero-touch automation. Stay on the default mirror selection if your connection is reliable and you do not need to pin a specific repository version.

Where to go next