]> git.proxmox.com Git - pmg-docs.git/blobdiff - pmg-installation.adoc
installation: fix codeblock rendering in zfs performance tips section
[pmg-docs.git] / pmg-installation.adoc
index 219dc11c90fab5e4c34a7426fe4d1e50857170e2..25d16a753744df44c50653b3381df64f654f2db5 100644 (file)
@@ -37,46 +37,86 @@ The installer ISO image includes the following:
 
 * Web-based management interface for using the toolset
 
+NOTE: All existing data on the for installation selected drives will be removed
+during the installation process. The installer does not add boot menu entries
+for other operating systems.
 
 Please insert the xref:installation_prepare_media[prepared installation media]
 (for example, USB flash drive or CD-ROM) and boot from it.
 
 TIP: Make sure that booting from the installation medium (for example, USB) is
-enabled in your servers firmware settings.
+enabled in your server's firmware settings. Secure boot needs to be disabled
+when booting an installer prior to {pmg} version 8.1.
+
+[thumbnail="installer/pmg-grub-menu.png"]
 
 After choosing the correct entry (for example, Boot from USB) the {pmg} menu
 will be displayed, and one of the following options can be selected:
 
-image::images/installer/pmg-grub-menu.png[]
-
-Install {pmg}::
+Install {pmg} (Graphical)::
 
 Start normal installation.
 
-Install {pmg} (Debug mode)::
+TIP: It's possible to use the installation wizard with a keyboard only. Buttons
+can be clicked by pressing the `ALT` key combined with the underlined character
+from the respective button. For example, `ALT + N` to press a `Next` button.
+
+Install {pmg} (Terminal UI)::
+
+Starts the terminal-mode installation wizard. It provides the same overall
+installation experience as the graphical installer, but has generally better
+compatibility with very old and very new hardware.
+
+Install {pmg} (Terminal UI, Serial Console)::
+
+Starts the terminal-mode installation wizard, additionally setting up the Linux
+kernel to use the (first) serial port of the machine for in- and output. This
+can be used if the machine is completely headless and only has a serial console
+available.
+
+[thumbnail="installer/pmg-tui-installer.png"]
+
+Both modes use the same code base for the actual installation process to
+benefit from more than a decade of bug fixes and ensure feature parity.
+
+TIP: The 'Terminal UI' option can be used in case the graphical installer does
+not work correctly, due to e.g. driver issues.
+
+Advanced Options: Install {pmg} (Graphical, Debug Mode)::
+
+Starts the installation in debug mode. A console will be opened at several
+installation steps. This helps to debug the situation if something goes wrong.
+To exit a debug console, press `CTRL-D`. This option can be used to boot a live
+system with all basic tools available. You can use it, for example, to repair a
+degraded ZFS 'rpool' or fix the bootloader for an existing {pmg} setup.
+
+Advanced Options: Install {pmg} (Terminal UI, Debug Mode)::
 
-Start installation in debug mode. This opens a shell console at various stages
-throughout the installation, so that you can debug issues, if something goes
-wrong. You can press `CTRL-D` to exit the debug console and continue the
-installation. This option is mostly for developers and not meant for general
-use.
+Same as the graphical debug mode, but preparing the system to run the
+terminal-based installer instead.
 
-Rescue Boot::
+Advanced Options: Install {pmg} (Serial Console Debug Mode)::
 
-This option allows you to boot an existing installation. It searches
-all attached hard disks and, if it finds an existing installation,
-boots directly into that disk using the existing Linux kernel. This
-can be useful if there are problems with the boot block (grub), or the
-BIOS is unable to read the boot block from the disk.
+Same the terminal-based debug mode, but additionally sets up the Linux kernel to
+use the (first) serial port of the machine for in- and output.
 
-Test Memory::
+Advanced Options: Rescue Boot::
 
-Runs `memtest86+`. This is useful to check if your memory is
-functional and error free.
+With this option you can boot an existing installation. It searches all attached
+hard disks. If it finds an existing installation, it boots directly into that
+disk using the Linux kernel from the ISO. This can be useful if there are
+problems with the bootloader (GRUB/`systemd-boot`) or the BIOS/UEFI is unable to
+read the boot block from the disk.
 
-You normally select *Install {pmg}* to start the installation.
+Advanced Options: Test Memory (memtest86+)::
 
-image::images/installer/pmg-select-target-disk.png[]
+Runs `memtest86+`. This is useful to check if the memory is functional and free
+of errors. Secure Boot must be turned off in the UEFI firmware setup utility to
+run this option.
+
+You normally select *Install {pmg} (Graphical)* to start the installation.
+
+[thumbnail="installer/pmg-select-target-disk.png"]
 
 The first step is to read our EULA (End User License Agreement). Following
 this, you can select the target hard disk(s) for the installation.
@@ -95,7 +135,10 @@ ZFS supports several software RAID levels, which is particularly useful
 if you do not have a hardware RAID controller. The `Options` button
 lets you choose the ZFS RAID level and select which disks will be used.
 
-image::images/installer/pmg-select-location.png[]
+WARNING: ZFS on top of any hardware RAID is not supported and can result in data
+loss.
+
+[thumbnail="installer/pmg-select-location.png"]
 
 The next page asks for basic configuration options like your
 location, timezone, and keyboard layout. The location is used to
@@ -104,13 +147,13 @@ The installer is usually able to auto-detect these settings, so you only need to
 change them in rare situations when auto-detection fails, or when you want to
 use a keyboard layout not commonly used in your country.
 
-image::images/installer/pmg-set-password.png[]
+[thumbnail="installer/pmg-set-password.png", float="left"]
 
 You then need to specify an email address and the superuser (root)
 password. The password must have at least 5 characters, but we highly
 recommend to use stronger passwords - here are some guidelines:
 
-- Use a minimum password length of 12 to 14 characters.
+- Use a minimum password length of at least 12 characters.
 
 - Include lowercase and uppercase alphabetic characters, numbers and symbols.
 
@@ -126,15 +169,15 @@ example:
 
 - Error messages from periodic cron jobs.
 
-All those notification mails will be sent to the specified email address.
+[thumbnail="installer/pmg-setup-network.png"]
 
-image::images/installer/pmg-setup-network.png[]
+All those notification mails will be sent to the specified email address.
 
 The next step is the network configuration. Please note that you can use either
 IPv4 or IPv6 here, but not both. If you want to configure a dual stack node,
 you can easily do that after the installation.
 
-image::images/installer/pmg-summary.png[]
+[thumbnail="installer/pmg-installation.png", float="left"]
 
 When you press `Next`, you will see an overview of your entered configuration.
 Please re-check every setting, you can still use the `Previous` button to go
@@ -143,22 +186,40 @@ back and edit any settings.
 After clicking `Install`, the installer will begin to format and copy packages
 to the target disk(s).
 
-image::images/installer/pmg-installation.png[]
+[thumbnail="installer/pmg-summary.png"]
 
-Copying the packages usually takes several minutes. When this is
-finished, you can reboot the server.
+Copying the packages usually takes several minutes, mostly depending on the
+speed of the installation medium and the target disk performance.
 
-Further configuration is done via the {pmg} web interface:
+When copying and setting up the packages has finished, you can reboot the
+server. This will be done automatically after a few seconds by default.
 
-[thumbnail="pmg-gui-login-window.png"]
+.Installation Failure
 
-. Point your browser to the IP address given during the installation
-(https://youripaddress:8006).
+If the installation failed, check out specific errors on the second TTY
+(`CTRL + ALT + F2') and ensure that the systems meets the
+xref:install_minimal_requirements[minimum requirements].
 
-. Log in and upload your subscription key.
-+
-NOTE: The default login is "root", and the password is the one chosen during the
-installation.
+If the installation is still not working, look at the xref:getting_help[how to
+get help chapter].
+
+
+Accessing the Management Interface Post-Installation
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+[thumbnail="screenshot/pmg-gui-login-window.png"]
+
+After a succesful installation and reboot of the system you can use the {pmg}
+web interface for further configuration.
+
+. Point your browser to the IP address given during the installation and port
+  8006, for example: https://youripaddress:8006
+
+. Log in using the `root` username and the password chosen during installation.
+
+. Upload your subscription key to gain access to the Enterprise repository.
+  Otherwise, you will need to set up one of the public, less tested package
+  repositories to get updates for security fixes, bug fixes, and new features.
 
 . Check the IP configuration and hostname.
 
@@ -215,16 +276,34 @@ required for lvmthin snapshots).
 ZFS Performance Tips
 ~~~~~~~~~~~~~~~~~~~~
 
-ZFS uses a lot of memory, so it is best to add additional RAM if you
-want to use ZFS. A good calculation is 4GB plus 1GB RAM for each TB
+ZFS works best with a lot of memory. If you intend to use ZFS make sure to have
+enough RAM available for it. A good calculation is 4GB plus 1GB RAM for each TB
 RAW disk space.
 
-ZFS also provides the ability to use a fast SSD drive as write cache. The
-write cache is called the ZFS Intent Log (ZIL). You can add that after
-the installation using the following command:
+ZFS can use a dedicated drive as write cache, called the ZFS Intent Log (ZIL).
+Use a fast drive (SSD) for it. It can be added after installation with the
+following command:
+
+----
+# zpool add <pool-name> log </dev/path_to_fast_ssd>
+----
+
+Adding the `nomodeset` Kernel Parameter
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
- zpool add <pool-name> log </dev/path_to_fast_ssd>
+Problems may arise on very old or very new hardware due to graphics drivers. If
+the installation hangs during the boot. In that case, you can try adding the
+`nomodeset` parameter. This prevents the Linux kernel from loading any
+graphics drivers and forces it to continue using the BIOS/UEFI-provided
+framebuffer.
 
+On the {pmg} bootloader menu, navigate to 'Install {pmg} (Terminal UI)' and
+press `e` to edit the entry. Using the arrow keys, navigate to the line starting
+with `linux`, move the cursor to the end of that line and add the
+parameter `nomodeset`, separated by a space from the pre-existing last
+parameter.
+
+Then press `Ctrl-X` or `F10` to boot the configuration.
 
 [[pmg_install_on_debian]]
 Install {pmg} on Debian
@@ -257,11 +336,12 @@ Install {pmg} as a Linux Container Appliance
 instance. In order to keep the set of installed software, and thus the
 necessary updates minimal, you can use the `proxmox-mailgateway-container`
 meta-package. This does not depend on any Linux kernel, firmware, or components
-used for booting from bare-metal, like grub2.
+used for booting from bare-metal, like GRUB.
 
 A ready-to-use appliance template is available through the `mail` section of the
-https://www.proxmox.com/proxmox-ve[Proxmox VE] appliance manager, so if you
-already use Proxmox VE, you can set up a {pmg} instance in minutes.
+https://www.proxmox.com/proxmox-virtual-environment/overview[Proxmox VE]
+appliance manager, so if you already use Proxmox VE, you can set up a {pmg}
+instance in minutes.
 
 NOTE: It's recommended to use a static network configuration. If DHCP must be
 used, ensure that the container always leases the same IP, for example, by
@@ -281,32 +361,56 @@ apt install proxmox-mailgateway-container
 Package Repositories
 --------------------
 
-All {debian} based systems use
-https://en.wikipedia.org/wiki/Advanced_Packaging_Tool[APT] as a package
-management tool. The list of repositories is defined in
-`/etc/apt/sources.list` and `.list` files found inside
-`/etc/apt/sources.d/`. Updates can be installed directly using
-`apt`, or via the GUI.
+{pmg} uses http://en.wikipedia.org/wiki/Advanced_Packaging_Tool[APT] as its
+package management tool like any other Debian-based system.
+
+Repositories in {pmg}
+~~~~~~~~~~~~~~~~~~~~~
+
+Repositories are a collection of software packages. They can be used to install
+new software, but are also important to get new updates.
+
+NOTE: You need valid Debian and Proxmox repositories to get the latest
+security updates, bug fixes and new features.
+
+APT Repositories are defined in the file `/etc/apt/sources.list` and in `.list`
+files placed in `/etc/apt/sources.list.d/`.
 
-Apt `sources.list` files list one package repository per line, with
-the most preferred source listed first. Empty lines are ignored, and a
-`#` character anywhere on a line marks the remainder of that line as a
-comment. The information available from the configured sources is
-acquired by `apt update`.
+Repository Management
+^^^^^^^^^^^^^^^^^^^^^
+
+[thumbnail="screenshot/pmg-gui-admin-repositories.png"]
+
+Since {pmg} 7.0 you can check the repository state in the web interface. The
+'Dashboard' shows a high level status overview, while the separate 'Repository'
+panel (accessible via 'Administration') shows in-depth status and list of all
+configured repositories.
+
+Basic repository management, for example, activating or deactivating a
+repository, is also supported.
+
+Sources.list
+^^^^^^^^^^^^
+
+In a `sources.list` file, each line defines a package repository. The preferred
+source must come first.  Empty lines are ignored. A `#` character anywhere on a
+line marks the remainder of that line as a comment. The available packages from
+a repository are acquired by running `apt update`. Updates can be installed
+directly using `apt`, or via the GUI (Administration -> Updates).
 
 .File `/etc/apt/sources.list`
 ----
 # basic Debian repositories:
-deb http://ftp.debian.org/debian bullseye main contrib
-deb http://ftp.debian.org/debian bullseye-updates main contrib
+deb http://deb.debian.org/debian bookworm main contrib
+deb http://deb.debian.org/debian bookworm-updates main contrib
 
 # security updates
-deb http://security.debian.org/debian-security bullseye-security main contrib
+deb http://security.debian.org/debian-security bookworm-security main contrib
 
 # Proxmox Mail Gateway repo required too - see below!
 ----
 
-In addition, {pmg} provides three different package repositories.
+{pmg} provides three different package repositories.
 
 
 {pmg} Enterprise Repository
@@ -319,7 +423,7 @@ enabled by default:
 
 .File `/etc/apt/sources.list.d/pmg-enterprise.list`
 ----
-deb https://enterprise.proxmox.com/debian/pmg bullseye pmg-enterprise
+deb https://enterprise.proxmox.com/debian/pmg bookworm pmg-enterprise
 ----
 
 As soon as updates are available, the `root@pam` user is notified via
@@ -349,15 +453,15 @@ We recommend configuring this repository in `/etc/apt/sources.list`.
 
 .File `/etc/apt/sources.list`
 ----
-deb http://ftp.debian.org/debian bullseye main contrib
-deb http://ftp.debian.org/debian bullseye-updates main contrib
+deb http://ftp.debian.org/debian bookworm main contrib
+deb http://ftp.debian.org/debian bookworm-updates main contrib
 
 # security updates
-deb http://security.debian.org/debian-security bullseye-security main contrib
+deb http://security.debian.org/debian-security bookworm-security main contrib
 
 # PMG pmg-no-subscription repository provided by proxmox.com,
 # NOT recommended for production use
-deb http://download.proxmox.com/debian/pmg bullseye pmg-no-subscription
+deb http://download.proxmox.com/debian/pmg bookworm pmg-no-subscription
 ----
 
 
@@ -371,7 +475,7 @@ features. As with before, you can configure this using
 
 .sources.list entry for `pmgtest`
 ----
-deb http://download.proxmox.com/debian/pmg bullseye pmgtest
+deb http://download.proxmox.com/debian/pmg bookworm pmgtest
 ----
 
 WARNING: the `pmgtest` repository should only be used
@@ -387,29 +491,29 @@ trusted source.
 
 The key used for verification is already installed, if you install from
 our installation CD. If you install via another means, you can manually
-download the key with:
+download the key by executing the following command as root user:
 
 ----
- # wget https://enterprise.proxmox.com/debian/proxmox-release-bullseye.gpg -O /etc/apt/trusted.gpg.d/proxmox-release-bullseye.gpg
+ # wget https://enterprise.proxmox.com/debian/proxmox-release-bookworm.gpg -O /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg
 ----
 
 Verify the checksum afterwards with the `sha512sum` CLI tool:
 
 ----
-# sha512sum /etc/apt/trusted.gpg.d/proxmox-release-bullseye.gpg
-7fb03ec8a1675723d2853b84aa4fdb49a46a3bb72b9951361488bfd19b29aab0a789a4f8c7406e71a69aabbc727c936d3549731c4659ffa1a08f44db8fdcebfa /etc/apt/trusted.gpg.d/proxmox-release-bullseye.gpg
+# sha512sum /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg
+7da6fe34168adc6e479327ba517796d4702fa2f8b4f0a9833f5ea6e6b48f6507a6da403a274fe201595edc86a84463d50383d07f64bdde2e3658108db7d6dc87 /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg
 ----
 
 or the `md5sum` CLI tool:
 
 ----
-# md5sum /etc/apt/trusted.gpg.d/proxmox-release-bullseye.gpg
-bcc35c7173e0845c0d6ad6470b70f50e /etc/apt/trusted.gpg.d/proxmox-release-bullseye.gpg
+# md5sum /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg
+41558dc019ef90bd0f6067644a51cf5b /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg
 ----
 
 
-Other Repository Sources
-~~~~~~~~~~~~~~~~~~~~~~~~
+Debian Non-Free Repository
+~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 Certain software cannot be made available in the `main` and `contrib`
 areas of the {debian} archives, since it does not adhere to the Debian
@@ -422,12 +526,8 @@ are needed in order to support the RAR archive format:
 
 * `libclamunrar` for detecting viruses in RAR archives.
 
-.Additional sources.list entry for `non-free`
-----
-deb http://deb.debian.org/debian/ bullseye non-free
-deb http://security.debian.org/debian-security bullseye-security non-free
-deb http://deb.debian.org/debian/ bullseye-updates non-free
-----
+To enable the `non-free` component, run `editor /etc/apt/sources.list` and
+append `non-free` to the end of each `.debian.org` repository line.
 
 Following this, you can install the required packages with:
 
@@ -435,3 +535,20 @@ Following this, you can install the required packages with:
 apt update
 apt install libclamunrar p7zip-rar
 ----
+
+
+[[pmg_debian_firmware_repo]]
+Debian Firmware Repository
+~~~~~~~~~~~~~~~~~~~~~~~~~
+Starting with Debian Bookworm ({pmg} 8) non-free firmware (as defined by
+https://www.debian.org/social_contract#guidelines[DFSG]) has been moved to the
+newly created Debian repository component `non-free-firmware`.
+
+Enable this repository if you want to set up
+xref:pmg_firmware_cpu[Early OS Microcode Updates] or need additional
+xref:pmg_firmware_runtime_files[Runtime Firmware Files] not already included in
+the pre-installed package `pve-firmware`.
+
+To be able to install packages from this component, run
+`editor /etc/apt/sources.list`, append `non-free-firmware` to the end of each
+`.debian.org` repository line and run `apt update`.