3 Installation on AArch64 #
This chapter describes the steps necessary to prepare for the installation of SUSE Linux Enterprise Server on AArch64 computers. It introduces the steps required to prepare for various installation methods. The list of hardware requirements provides an overview of systems supported by SUSE Linux Enterprise Server. Find information about available installation methods and several common known problems. Also learn how to control the installation, provide installation media, and boot with regular methods.
3.1 Hardware requirements #
The SUSE® Linux Enterprise Server operating system can be deployed on a wide range of hardware. It is impossible to list all the different combinations of hardware SUSE Linux Enterprise Server supports. However, to provide you with a guide to help you during the planning phase, the minimum requirements are presented here.
If you want to be sure that a given computer configuration will work, find out which platforms have been certified by SUSE. Find a list at https://www.suse.com/yessearch/.
- CPU
The minimum requirement is a CPU that supports the Armv8-A instruction set architecture (ISA), for example, Arm Cortex-A53 or Cortex-A57. Refer to https://www.arm.com/products/processors/cortex-a/ for a list of available Armv8-A processors.
CPUs with the Armv8-R (realtime) and Armv8-M (microcontroller) ISA are currently not supported.
- Maximum number of CPUs
The maximum number of supported CPUs is 256. If you plan to use such a large system, check our hardware system certification Web page for supported devices, see https://www.suse.com/yessearch/.
- Memory requirements
A minimum of 1024 MB of memory is required for a minimal installation. On machines with more than two processors, add 512 MB per CPU. For remote installations via HTTP or FTP, add another 150 MB. Note that these values are only valid for the installation of the operating system—the actual memory requirement in production depends on the system's workload. For systems running the GNOME desktop environment, a minimum of 2048 MB of memory is required and 4096 MB is recommended.
- Hard disk requirements
The disk requirements depend largely on the installation selected and how you use your machine. Commonly, you need more space than the installation software itself needs to have a system that works properly. Minimum requirements for different selections are:
Installation Scope
Minimum Hard Disk Requirements
Text Mode
1.5 GB
Minimal System
2.5 GB
GNOME Desktop
3 GB
All patterns
4 GB
Recommended Minimum (no Btrfs snapshots): 10 GB
Required Minimum (with Btrfs snapshots): 16 GB
Recommended Minimum (with Btrfs snapshots): 32 GB
If your root partition is smaller than 10 GB, the installer will not make an automated partitioning proposal and you need to manually create partitions. Therefore the recommended minimum size for the root partition is 10 GB. If you want to enable Btrfs snapshots on the root volume to enable system rollbacks (see Chapter 10, System recovery and snapshot management with Snapper) the minimum size for the root partition is 16 GB.
- Boot methods
The computer can be booted from a USB disk or a network. A special boot server is required to boot over the network. This can be set up with SUSE Linux Enterprise Server.
3.2 Installation considerations #
This section encompasses many factors that need to be considered before installing SUSE Linux Enterprise Server on AArch64 hardware.
3.2.1 Installation on hardware or virtual machine #
SUSE Linux Enterprise Server is normally installed as an independent operating system. With virtualization it is also possible to run multiple instances of SUSE Linux Enterprise Server on the same hardware. The installation of the VM Host Server is performed like a typical installation with some additional packages. The installation of virtual guests is described in Chapter 10, Guest installation.
3.2.2 Installation target #
Most installations are to a local hard disk. Therefore, it is necessary for the hard disk controllers to be available to the installation system. If a special controller (like a RAID controller) needs an extra kernel module, provide a kernel module update disk to the installation system.
Other installation targets may be various types of block devices that
provide sufficient disk space and speed to run an operating system. This
includes network block devices like iSCSI
or
SAN
. It is also possible to install on network file
systems that offer the standard Unix permissions. However, it may be
problematic to boot these, because they must be supported by the
initramfs
before the actual system can start. Such
installations can be useful when you need to start the same system in
different locations or you plan to use virtualization features like domain
migration.
3.3 Controlling the installation process #
You can choose the desired installation method by booting the setup with one of the options listed in Section 2.4, “Booting the system”. To enable the additional installation methods, refer to Section 7.3.4, “Specifying remote access”. For information about how to use remote installation methods, refer to Chapter 11, Remote installation.
A brief overview of the different methods:
- Local with monitor and keyboard
This is the method most frequently used to install SUSE Linux Enterprise Server. This also requires little preparation but needs a lot of direct interaction.
- Remote via SSH
You can perform installation via SSH either in text mode or use X-forwarding for a graphical installation. For details, refer to Section 11.4, “Monitoring installation via SSH”.
- Remote via serial console
For this installation method, you need a second computer connected via a null modem cable to the target computer. The installation is done in text mode. For details, refer to Section 11.5, “Installation via serial console”.
- Remote via VNC
Use this method to perform the installation using a graphical interface without direct access to the target machine. For details, refer to Section 11.3, “Monitoring installation via VNC”.
- Automatic via AutoYaST
To install SUSE Linux Enterprise Server on several computers with similar hardware, it is recommended you perform the installation using AutoYaST. In this case, start by installing one SUSE Linux Enterprise Server and use it to create the necessary AutoYaST configuration files. For details, refer to AutoYaST Guide.
3.4 Booting the system #
This section gives an overview of the steps required for the complete installation of SUSE® Linux Enterprise Server.
Unlike previous SLE products, the entire SLE 15 SP5 product line can be installed using the Unified Installer. For details about the changes since SUSE Linux Enterprise 15 and which media to download for installation, see Section 1.5, “Changes in installation from SUSE Linux Enterprise Server version 15”.
For a full description of how to install and configure the system with YaST, refer to Part II, “Installation procedure”.
When using recent hardware, it can be necessary to boot the system with a
newer kernel from a Kernel Update ISO
image. For details, refer to Chapter 6, Installation on hardware not supported at release.
Prepare the installation media.
- USB Flash Drive
This is the simplest way to start the installation. To create a bootable flash disk, you need to copy a DVD image to the device using the
dd
command. The flash disk must not be mounted, and all data on the device will be erased.#
dd
if=PATH_TO_ISO_IMAGE of=USB_STORAGE_DEVICE bs=4M- Network booting
If the target computer's firmware supports it, you can boot the computer from the network and install from a server. This booting method requires a boot server that provides the needed boot images over the network. The exact protocol depends on your hardware. Commonly you need several services, such as TFTP and DHCP or PXE boot. For details, read Chapter 17, Preparing network boot environment.
It is possible to install from many common network protocols, such as NFS, HTTP, FTP, or SMB. For more information on how to perform such an installation, refer to Chapter 11, Remote installation.
Configure the target system firmware to boot the medium you chose. Refer to the documentation of your hardware vendor about how to configure the correct boot order.
Set the boot parameters required for your installation control method. An overview of the different methods is provided in Section 3.3, “Controlling the installation process”. A list of boot parameters is available in Chapter 7, Boot parameters.
Perform the installation as described in Chapter 8, Installation steps. The system needs to restart after the installation is finished.
Optional: Change the boot order of the system to directly boot from the medium to which SUSE Linux Enterprise Server has been installed. If the system boots from the installation medium, the first boot parameter will be to boot the installed system.
3.5 Dealing with boot and installation problems #
Although SUSE® Linux Enterprise Server undergoes an extensive test program, problems may occasionally occur during boot or installation.
3.5.1 Boot problems #
Boot problems may prevent the YaST installer from starting on your system. Another symptom is failure to boot after the installation has been completed.
- Machine boots the installed system instead of the installation medium
Change the boot sequence in your machine's BIOS. Refer to the documentation supplied with your hardware for further information.
- The system hangs
Change the console on your system so that the kernel outputs are visible. Be sure to check the last few lines of output. This is normally done by pressing Ctrl–Alt–F10. If you cannot resolve the problem, consult the SUSE Linux Enterprise Server support staff. To log all system messages at boot time, use a serial connection as described in Section 2.3, “Installation methods”.
- Boot disk
The boot disk is a useful interim solution for boot issues. If you have difficulties setting the other configurations, or if you want to postpone the decision regarding the final boot mechanism, use a boot disk. For more details on creating boot disks, see
grub2-mkrescue
.
3.5.2 Problems installing #
If an unexpected problem occurs during installation, information is needed to determine the cause of the problem. Use the following directions to help with troubleshooting:
Check the outputs on the various consoles. You can switch consoles with the key combination Ctrl–Alt–Fn. For example, obtain a shell in which to execute various commands by pressing Ctrl–Alt–F2.
Try launching the installation with “Safe Settings” (press F5 on the installation screen and choose ). If the installation works without problems in this case, there is an incompatibility that causes either
ACPI
orAPIC
to fail. In some cases, a firmware update fixes this problem.Check the system messages on a console in the installation system by entering the command
dmesg -T
.
3.5.3 Initiating installation instead of booting #
The default option in the boot menu of the installation medium for SUSE Linux Enterprise Server boots the machine into the already installed system. To initiate the installation process instead, choose one of the available installation options in the boot menu.
3.6 Raspberry Pi #
SUSE® Linux Enterprise Server is the first enterprise Linux distribution to support the inexpensive Raspberry Pi* single-board computer. SUSE Linux Enterprise Server 15 SP5 supports the following models:
Raspberry Pi 3 Model A+
Raspberry Pi 3 Model B
Raspberry Pi 3 Model B+
Raspberry Pi 4 Model B
Raspberry Pi Compute Module 3
Raspberry Pi Compute Module 3+
The Raspberry Pi differs from more conventional server machines in several ways. First and foremost, it does not come with a boot loader capable of loading operating systems. SUSE Linux Enterprise Server therefore ships additional boot loader software to fill that gap.
3.6.1 Boot process #
The primary processor on the Raspberry Pi's System-on-Chip (SoC) is the Broadcom VideoCore Graphics Processing Unit (GPU), not the Arm Central Processing Unit (CPU). It is the GPU which starts initializing the hardware from a first-stage boot loader in the on-chip Boot Read-Only Memory (Boot ROM). Only a few configuration options can influence the Boot ROM; see Section 3.6.1.2, “OTP memory”.
The Raspberry Pi 3 hardware does not have any built-in firmware. Instead, its
second-stage boot loader firmware bootcode.bin
is loaded
from the boot medium every time the machine is powered on. It in turn loads
the third-stage boot loader start.elf
.
The Raspberry Pi 4 hardware has a small Electrically Erasable Programmable
Read-Only Memory (EEPROM) for the second-stage boot loader. Apart from that,
its boot sequence is similar to that of the Raspberry Pi 3, loading the
third-stage boot loader start4.elf
from the boot medium.
An update of the second-stage boot loader can be performed by booting from a specially prepared microSD card.
Only insert boot media that you trust, and verify that no file called
recovery.bin
is unintentionally present.
If an armstub8.bin
file is present, it will be loaded as
a fourth-stage boot loader at AArch64 Exception Level 3 (EL3). Otherwise,
a minimal integrated stub will be used.
Code loaded for EL3 (often called BL31) will reside in memory, and Linux may attempt hypercalls into EL3 throughout its runtime.
Verify that your boot media have no armstub8.bin
file
unintentionally present. SUSE Linux Enterprise Server 15 SP5 does not include it.
Beware that the Raspberry Pi's SoC does not provide TrustZone secure memory. Both the OS on the CPU and any software on the GPU may access its RAM. It is therefore unsuited for cryptographic EL0-s applications. SUSE Linux Enterprise Server does not provide an EL1-s Trusted Execution Environment (TEE) for that reason.
SUSE Linux Enterprise Server for the Raspberry Pi is configured to load a fifth-stage boot loader
called Das U-Boot
.
3.6.1.1 Config.txt #
There is no non-volatile memory to hold configuration information. This means there are no conventional settings to adjust for boot device order, time and date, and so on.
Instead, the boot loader reads a configuration file
config.txt
from the boot medium. The
config.txt
provided by SUSE should not be modified. It
allows the user to optionally provide an extraconfig.txt
file, which can override any setting from config.txt
if
needed. This permits SUSE Linux Enterprise Server to update the
config.txt
file when needed, without overwriting any
user settings.
3.6.1.2 OTP memory #
The SoC also has a very small amount of One-Time Programmable Memory (OTP memory). This can be used to configure some settings, such as whether the Boot ROM should attempt to boot from USB devices or over Ethernet.
This OTP memory is described on the Raspberry Pi Foundation Web site: https://www.raspberrypi.org/documentation/hardware/raspberrypi/otpbits.md
Configuration settings written into OTP memory cannot be reversed.
The most common use case for OTP memory will be enabling USB boot on Raspberry Pi 3 Model B or Compute Module 3.
3.6.1.3 Enabling USB boot mode for Raspberry Pi 3 Model B #
To permanently allow booting from connected USB mass storage devices on
Raspberry Pi 3 Model B, and from its on-board USB Ethernet, prepare a
microSD card as described in Section 3.6.3, “Deploying an appliance image”.
Before unmounting or ejecting the card and booting from it, add to its FAT
partition a text file extraconfig.txt
(Section 3.6.1.1, “Config.txt”) with the following
setting:
program_usb_boot_mode=1
Then continue to boot from the modified microSD card as usual. Once you see output from the U-Boot or GRUB boot loaders or the Linux kernel, you can remove power and then the microSD card. Your device should now be able to boot from USB (Section 3.6.4, “Installation from USB media”).
Note that once USB boot mode has been enabled for Raspberry Pi 3 Model B, USB boot mode cannot be disabled again (Section 3.6.1.2, “OTP memory”).
For more details, refer to the Raspberry Pi Foundation Web site: https://www.raspberrypi.org/documentation/hardware/raspberrypi/bootmodes/msd.md
For the Raspberry Pi Compute Module 3, the setting required is the same, but the deployment of the modified image is a little more complicated.
3.6.2 Lack of a real-time clock #
There is no battery-backed Real-Time Clock (RTC) on the Raspberry Pi itself.
The lack of a Real-Time Clock means that Raspberry Pi devices need to be configured to fetch the time from a network server by Network Time Protocol (NTP).
However, base boards for the Raspberry Pi Compute Modules may feature an RTC.
It is also possible to connect an RTC via the GPIO connector, using Hardware Attached on Top (HATs) or other expansion boards.
Either way, check whether the respective RTC chipset is supported by SUSE Linux Enterprise Server. The connected RTC will need to be described to the operating system via a Device Tree Overlay (Section 3.6.1.1, “Config.txt”).
- Compute Module 4 IO Board
dtparam=i2c_vc=on dtoverlay=i2c-rtc,pcf85063a,i2c_csi_dsi
- MyPi base board
dtparam=i2c1=on dtoverlay=i2c-rtc,ds1307
For other boards and HATs, consult the documentation of the they are shipped with.
3.6.3 Deploying an appliance image #
The most common method to deploy an operating system onto Raspberry Pi hardware is to copy a pre-installed system image onto a boot medium, usually a microSD card. This is the simplest and easiest method.
SUSE provides a preconfigured bootable image of SUSE Linux Enterprise Server for Raspberry Pi hardware. This comes with the Btrfs file system, with compression enabled to improve performance and reduce wear on microSD media.
A microSD card with a minimum size of 8 GB is recommended. Faster cards will give better system performance. On the first boot, the operating system automatically expands the file system to fill the card. This means that the first boot will be substantially slower than subsequent boots.
The process of writing the card image onto microSD media is described in the Raspberry Pi Quick Start.
3.6.4 Installation from USB media #
Some models of Raspberry Pi allow booting from USB mass storage devices. This will then allow deploying SUSE Linux Enterprise Server on Raspberry Pi similar to server platforms.
Installation can be performed from a removable USB medium, such as a memory stick, onto a microSD card in the machine's internal slot. Alternatively, it can be performed from a removable USB medium onto another USB medium, such as a USB-connected hard disk.
Note that the Ethernet controller on the Raspberry Pi 3 is connected to the device's on-board USB 2.0 bus.
Therefore an operating system running from a disk attached via USB must share the total 480 Mbps bandwidth of the USB 2.0 controller. This will limit performance, and could significantly impact network performance.
This limitation does not apply to the Raspberry Pi 4.
Newer models of Raspberry Pi 3 with BCM2837 B0 silicon (silver instead of black chip), including Raspberry Pi 3 Model B+ and Compute Module 3+, allow booting from USB-connected storage devices by default.
On older models, such as Raspberry Pi 3 Model B or Compute Module 3, USB boot can be enabled by booting from a specially prepared microSD card once. See Section 3.6.1.2, “OTP memory” for instructions.
3.6.5 Installation from network #
Because of the hardware's lack of on-board firmware (Section 3.6.1, “Boot process”), network-booting the Raspberry Pi using PXE is more complex than with more conventional computers.
The process of setting up a PXE boot server for x86 and Arm is described in the SUSE Best Practices document How to Set Up a Multi-PXE Installation Server.
The Raspberry Pi Foundation publishes information on how to boot using PXE one Raspberry Pi from another Raspberry Pi: https://www.raspberrypi.org/documentation/hardware/raspberrypi/bootmodes/net_tutorial.md
3.6.6 More information #
For more information, consult the following resources:
- SUSE Linux Enterprise Server 15 SP4 Release Notes
For more information about hardware compatibility, supported options and functionality when running on Raspberry Pi hardware, consult the Boot and Driver Enablement for Raspberry Pi section of the SUSE Linux Enterprise Server Release Notes:
https://www.suse.com/releasenotes/aarch64/SUSE-SLES/15-SP4/#aarch64-rpi
- Raspberry Pi Quick Start
https://documentation.suse.com/sles/15-SP4/html/SLES-raspberry-pi/article-raspberry-pi.html
- openSUSE Hardware Compatibility List: Raspberry Pi 3
The openSUSE project also has information about installing and configuring Raspberry Pi hardware. Much of this also applies to SUSE Linux Enterprise.
- Das U-Boot
More information about
Das U-Boot
boot loader can be found on the project's GitHub page at https://github.com/u-boot/u-boot.