summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorJulia Kreger <juliaashleykreger@gmail.com>2022-05-17 13:28:37 -0700
committerJulia Kreger <juliaashleykreger@gmail.com>2022-07-13 06:50:55 -0700
commitc8be82c525bab0deac7c8e44a2f7c400e003f28f (patch)
treebd2ceae0cde4932d4b52a642294bed03a350eefd /doc
parent565e3c4bffc6dbda8602316590de9b19183bbcd6 (diff)
downloadironic-c8be82c525bab0deac7c8e44a2f7c400e003f28f.tar.gz
Deprecate syslinux
Syslinux is a functionally abandoned Legacy BIOS boot mode bootloader which has not seen updates since 2019, and is starting to see discussion amongst linux distributions to remove explicit support and packaging for Syslinux. Syslinux's relevance is also disappearing as UEFI booting is becoming the standard. While syslinux did go ahead and ensure their bootloader *could* be built and support UEFI, distributions also didn't uniformly adopt packaging and support for this bootloader. This change proposes to deprecate it and notates the areas in which functionality is deprecated. Change-Id: Ic52007fa4f207561d282eb5ae54273885c0ab0c0
Diffstat (limited to 'doc')
-rw-r--r--doc/source/install/configure-pxe.rst77
-rw-r--r--doc/source/user/architecture.rst4
2 files changed, 11 insertions, 70 deletions
diff --git a/doc/source/install/configure-pxe.rst b/doc/source/install/configure-pxe.rst
index 59346ce14..863ff1549 100644
--- a/doc/source/install/configure-pxe.rst
+++ b/doc/source/install/configure-pxe.rst
@@ -169,71 +169,6 @@ the PXE UEFI environment.
for them. Please check :doc:`../admin/drivers` for information on whether
your driver requires manual UEFI configuration.
-
-Legacy BIOS - Syslinux setup
-----------------------------
-
-In order to deploy instances with PXE on bare metal using Legacy BIOS boot
-mode, perform these additional steps on the ironic conductor node.
-
-#. Install the syslinux package with the PXE boot images:
-
- Ubuntu (16.04LTS and later)::
-
- sudo apt-get install syslinux-common pxelinux
-
- RHEL8/CentOS8/Fedora::
-
- sudo dnf install syslinux-tftpboot
-
- SUSE::
-
- sudo zypper install syslinux
-
-#. Copy the PXE image to ``/tftpboot``. The PXE image might be found at [1]_:
-
- Ubuntu (16.04LTS and later)::
-
- sudo cp /usr/lib/PXELINUX/pxelinux.0 /tftpboot
-
- RHEL8/CentOS8/SUSE::
-
- sudo cp /usr/share/syslinux/pxelinux.0 /tftpboot
-
-#. If whole disk images need to be deployed via PXE-netboot, copy the
- chain.c32 image to ``/tftpboot`` to support it:
-
- Ubuntu (16.04LTS and later)::
-
- sudo cp /usr/lib/syslinux/modules/bios/chain.c32 /tftpboot
-
- Fedora::
-
- sudo cp /boot/extlinux/chain.c32 /tftpboot
-
- RHEL8/CentOS8/SUSE::
-
- sudo cp /usr/share/syslinux/chain.c32 /tftpboot/
-
-#. If the version of syslinux is **greater than** 4 we also need to make sure
- that we copy the library modules into the ``/tftpboot`` directory [2]_
- [1]_. For example, for Ubuntu run::
-
- sudo cp /usr/lib/syslinux/modules/*/ldlinux.* /tftpboot
-
-#. Update the bare metal node with ``boot_mode:bios`` capability in
- node's properties field. See :ref:`boot_mode_support` for details.
-
-#. Make sure that bare metal node is configured to boot in Legacy BIOS boot mode
- and boot device is set to network/pxe.
-
-.. [1] On **Fedora/RHEL** the ``syslinux-tftpboot`` package already installs
- the library modules and PXE image at ``/tftpboot``. If the TFTP server
- is configured to listen to a different directory you should copy the
- contents of ``/tftpboot`` to the configured directory
-.. [2] http://www.syslinux.org/wiki/index.php/Library_modules
-
-
iPXE setup
----------
@@ -438,18 +373,18 @@ instead.
In the following example, since 'x86' and 'x86_64' keys are not in the
``pxe_bootfile_name_by_arch`` or ``pxe_config_template_by_arch`` options, x86
-and x86_64 nodes will be deployed by 'pxelinux.0' or 'bootx64.efi', depending
+and x86_64 nodes will be deployed by 'undionly.kpxe' or 'bootx64.efi', depending
on the node's ``boot_mode`` capability ('bios' or 'uefi'). However, aarch64
nodes will be deployed by 'grubaa64.efi', and ppc64 nodes by 'bootppc64'::
[pxe]
# Bootfile DHCP parameter. (string value)
- pxe_bootfile_name=pxelinux.0
+ pxe_bootfile_name=undionly.kpxe
# On ironic-conductor node, template file for PXE
# configuration. (string value)
- pxe_config_template = $pybasedir/drivers/modules/pxe_config.template
+ pxe_config_template = $pybasedir/drivers/modules/ipxe_config.template
# Bootfile DHCP parameter for UEFI boot mode. (string value)
uefi_pxe_bootfile_name=bootx64.efi
@@ -478,6 +413,12 @@ nodes will be deployed by 'grubaa64.efi', and ppc64 nodes by 'bootppc64'::
iPXE based deployment, and defaults to the same behavior as the comperable
``[pxe]pxe_bootfile_by_arch`` setting for standard PXE.
+.. note::
+ When booting PowerPC based machines, the firmware loader directly boots
+ a kernel and ramdisk. It explicitly reads a "pxelinux" style template,
+ and then directly retrieves the files defined in the file without a
+ "network boot program".
+
PXE timeouts tuning
-------------------
diff --git a/doc/source/user/architecture.rst b/doc/source/user/architecture.rst
index 714c9e16e..de86f47de 100644
--- a/doc/source/user/architecture.rst
+++ b/doc/source/user/architecture.rst
@@ -83,8 +83,8 @@ through the steps involved during the provisioning of a bare metal instance.
These pre-requisites must be met before the deployment process:
* Dependent packages to be configured on the Bare Metal service node(s)
- where ironic-conductor is running like tftp-server, ipmi, syslinux etc for
- bare metal provisioning.
+ where ironic-conductor is running like tftp-server, ipmi, grub/ipxe, etc
+ for bare metal provisioning.
* Nova must be configured to make use of the bare metal service endpoint
and compute driver should be configured to use ironic driver on the Nova
compute node(s).