Prepare the ISO and Boot MethodΒΆ
Ensure that the required installation software, tools, and boot mechanisms are available and prepared before starting the StarlingX installation.
Download the StarlingX host installer ISO image file:
Download the StarlingX ISO image from the StarlingX mirror.
Get the latest StarlingX ISO from the StarlingX mirror.
Alternatively, you can get an older release ISO from here.
Prepare the ISO customization script.
Use this script to generate a customized installer ISO when required. The script supports options to:
Specify input and output ISO files
Set the initial sysadmin password
Define default installer menu selections
Configure boot menu timeouts
Provide additional boot parameters
Download the update-iso.sh script from the StarlingX mirror.
Update the ISO image to modify installation boot parameters, automatically select boot menu options and/or add a kickstart file to automatically perform configurations such as configuring the initial IP Interface for bootstrapping.
Use the
update-iso.shscript from a StarlingX mirror. The script syntax and options are:update-iso.sh --initial-password <password> -i <input bootimage.iso> -o <output bootimage.iso> [ -a <ks-addon.cfg> ] [ -p param=value ] [ -d <default menu option> ] [ -t <menu timeout> ] -i <file>: Specify input ISO file -o <file>: Specify output ISO file -a <file>: Specify ks-addon.cfg file --initial-password <password>: Specify the initial login password for sysadmin user -p <p=v>: Specify boot parameter Example: -p instdev=/dev/disk/by-path/pci-0000:00:0d.0-ata-1.0 -d <default menu option>: Specify default boot menu option: 0 - Standard Controller, Serial Console 1 - Standard Controller, Graphical Console 2 - AIO, Serial Console 3 - AIO, Graphical Console NULL - Clear default selection -t <menu timeout>: Specify boot menu timeout, in seconds
The following example
ks-addon.cfgfile, used with the-aoption, sets up an initial IP interface at boot time by defining a VLAN on an Ethernet interface with withstaticassigned VLAN addresses:#### start ks-addon.cfg RAW_DEV=enp24s0f0 OAM_VLAN=103 MGMT_VLAN=163 cat << EOF > ${IMAGE_ROOTFS}/etc/network/interfaces.d/auto auto ${RAW_DEV} lo vlan${OAM_VLAN} vlan${MGMT_VLAN} EOF cat << EOF > ${IMAGE_ROOTFS}/etc/network/interfaces.d/ifcfg-${RAW_DEV} iface ${RAW_DEV} inet manual mtu 9000 post-up echo 0 > /proc/sys/net/ipv6/conf/${RAW_DEV}/autoconf;\ echo 0 > /proc/sys/net/ipv6/conf/${RAW_DEV}/accept_ra;\ echo 0 > /proc/sys/net/ipv6/conf/${RAW_DEV}/accept_redirects EOF cat << EOF > ${IMAGE_ROOTFS}/etc/network/interfaces.d/ifcfg-vlan${OAM_VLAN} iface vlan${OAM_VLAN} inet6 static vlan-raw-device ${RAW_DEV} address <__address__> netmask 64 gateway <__address__> mtu 1500 post-up /usr/sbin/ip link set dev vlan${OAM_VLAN} mtu 1500;\ echo 0 > /proc/sys/net/ipv6/conf/vlan${OAM_VLAN}/autoconf;\ echo 0 > /proc/sys/net/ipv6/conf/vlan${OAM_VLAN}/accept_ra;\ echo 0 > /proc/sys/net/ipv6/conf/vlan${OAM_VLAN}/accept_redirects pre-up /sbin/modprobe -q 8021q EOF cat << EOF > ${IMAGE_ROOTFS}/etc/network/interfaces.d/ifcfg-vlan${MGMT_VLAN} iface vlan${MGMT_VLAN} inet6 static vlan-raw-device ${RAW_DEV} address <__address__> netmask 64 mtu 1500 post-up /usr/local/bin/tc_setup.sh vlan${MGMT_VLAN} mgmt 10000 > /dev/null;\ /usr/sbin/ip link set dev vlan${MGMT_VLAN} mtu 1500;\ echo 0 > /proc/sys/net/ipv6/conf/vlan${MGMT_VLAN}/autoconf;\ echo 0 > /proc/sys/net/ipv6/conf/vlan${MGMT_VLAN}/accept_ra;\ echo 0 > /proc/sys/net/ipv6/conf/vlan${MGMT_VLAN}/accept_redirects pre-up /sbin/modprobe -q 8021q EOF #### end ks-addon.cfgGet the latest StarlingX ISO from the StarlingX mirror.
Alternatively, you can get an older release ISO from here.
Prepare a supported boot mechanism.
After you update the ISO image, ensure you have a supported boot method available to boot and install the host installer ISO downloaded from a StarlingX mirror. You can use one of the following:
Bootable USB drive with the StarlingX host installer ISO. See Create Bootable USB for instructions on how to create a bootable USB with the StarlingX ISO.
PXE boot server hosting the installer ISO on the same network as the server that will be used as the initial controller-0. See PXE Boot Controller-0 for details on how to setup a PXEBOOT Server and pxe-boot the StarlingX load on controller-0.
After the system is bootstrapped using a USB or PXE mechanism and the base OS is installed, StarlingX requires access to Docker registries to complete the installation. StarlingX platform services are delivered as container images, which are pulled over the OAM network during installation and initial configuration. The Docker registry provides the container images required for the StarlingX load. For the docker registry, you can use one of the following options:
The public open source registries (i.e. docker.io, k8s.gcr.io, ghcr.io, gcr.io, quay.io). This is the default option.
A private Docker Registry populated with the docker images from the public open source registries.
Apply ISO patches when applicable:
If patches are available for the release ISO you are installing, apply them after installing the StarlingX software but before bootstrapping the system.
For host installation instructions, see Install Software on Controller-0.