Fedora Server remote interactive installation guide

Peter Boy, Kevin Fenzi, Jan Kuparinen, Jiri Konecny Version F42 Last review: 2024-12-16
With this method, the server is usually residing in a remote location, such as a data center. It boots from a prepared installation media into the Anaconda installation program configured to start and use a "remote desktop protocol" (RDP) server instead of a local physical console. The system administrator connects using a RDP client on a local desktop to the server and runs through the Anaconda graphical installer. This method is best suited for servers without any or just cumbersome available direct console access.

1. Prerequisites

Proper install media available

You need one of the installation media variants ready to use as described in Server Installation

RDP client

Performing an RDP installation requires an RDP client running on your workstation or another terminal computer. RDP clients are available in the repositories of most Linux distributions; free RDP clients are also available for other operating systems, such as Windows. On Linux systems, use your package manager to search for a RDP for your distribution.

The following RDP clients are available in Fedora:

  • GNOME Connections - Connections is a remote desktop client for the GNOME desktop environment.

  • freerdp - Free implementation of the Remote Desktop Protocol (RDP)

    To install any of the clients listed above, execute the following command as root:

    [...]# dnf install PACKAGE_NAME

    Replace package with the package name of the client you want to use (for example, freerdp).

2. Booting the server

There are several options to boot the server, depending on the ethernet connection method and availability of at least some, maybe cumbersome and short living local console access.

2.1. Console access available

  1. Boot the server to be installed and wait for the boot menu to appear.

    Boot Menu

  2. In the menu, select the kernel you want to boot and type e to get access to the boot options and append

    inst.rdp inst.rdp.username=USER inst.rdp.password=PASSWORD

    to the end of the command line. Optionally, it is possible to set a password (inst.rdp.password) and/or username (inst.rdp.username). Replace PASSWORD and USER with the password and username of your choice. Password must be at least 6 characters long. If password and/or username is not set the Anaconda installer will ask interactively.

    For security considerations, use a temporary password for the inst.rdp.password= option. It should not be a real or root password you use on any system.

    The above configuration requires an active DHCP server. With none available, you must provide a static interface configuration as well.

    ip=ip::gateway:netmask:hostname:interface:none  inst.rdp inst.rdp.password=PASSWORD inst.rdp.username=USER
  3. Leave the editing mode by <ctrl>-x or F10 to continue to boot and to start the installation using the selected kernel and the edited options. You get the message

      Booting a command list

    The system will initialize the installation program and start the necessary services. It takes some time. And after a lot of boot messages, when the system is ready, you get:

      Starting installer, one moment
      ...
      hh:mm:ss Starting GNOME remote desktop in RDP mode...
      hh:mm:ss GNOME remote desktop RDP: SSL certificates generated & set
      hh:mm:ss GNOME remote desktop RDP: user name and password set
      hh:mm:ss Starting GNOME remote desktop.
      hh:mm:ss GNOME remote desktop is now running.
      hh:mm:ss GNOME remote desktop RDP IP: 192.168.122.247
      hh:mm:ss GNOME remote desktop RDP host name: fedora

    Continue with 3.2. Connecting to the server.

2.1.1. No console access available – patch installation medium

If none of the above options work with your server and network configuration, you could patch the installation media as a last resort. As an example, you can change the grub boot lines in /isolinux/grub.conf. You would need to add the RDP parameter and remove the integrity test, as this is the default line but would fail after patching.

We won’t go into this matter any further here. This is really the very last resort and is not recommended.

3. Connecting to the server

  1. In case of a server without a console attached determine the IP address.

    1. If possible, check the DHCP server for the IP of the server.

    2. Scan the network subnet the server is connected to for open port 3389. Adjust the network IP address accordingly!

      […]# dnf install nmap
      […]# nmap -Pn -p3389 192.168.158.0/24
      Starting Nmap 7.80 ( https://nmap.org ) at 2021-05-23 08:18 CEST
      Nmap scan report for example.com (192.168.158.1)
      Host is up (0.00052s latency).
      
      PORT     STATE  SERVICE
      3389/tcp closed nn-admin
      MAC Address: 34:81:C4:14:21:B4 (AVM GmbH)
      
      Nmap scan report for iMac.fritz.box (192.168.158.111)
      Host is up (0.00051s latency).
      ...
      ...
      PORT     STATE SERVICE
      3389/tcp open
      MAC Address: B8:27:EB:5A:EC:84
      
      Nmap scan report for 192.168.158.200
      Host is up (0.00068s latency).
      ...
      ...
      Nmap done: 256 IP addresses (12 hosts up) scanned in 2.38 seconds

      Look for an entry with open state of port 3389 and no hostname or unknown hostname. Among them you will probably find the device you are looking for. In the example above it is 192.168.158.200.

  2. On the desktop start the GNOME connections, add new connection with a plus symbol, enter the IP address obtained in the previous step. You will be asked to confirm certificates. These are generated by Anaconda and they are different for each installation.

    Alternatively, use freerdp client with

      xfreerdp /v:192.168.158.200 /u:USER /p:PASSWORD
  3. When the connection is successfully established, a new window will open on the system running the RDP client, displaying the installation menu. You will be presented with the familiar language selection menu.

    The language selection installation window

    interactive remote 015

    This window will provide full remote access to the installer until the installation finishes and the system reboots for the first time.

    If the screen freezes after some mouse or keyboard actions, add the kernel option nomodeset before the term inst.rdp to the kernel commad line in step 3.1.1.