diff options
| author | Matt Anson <matta@stackhpc.com> | 2025-03-18 13:21:46 +0000 |
|---|---|---|
| committer | Matt Anson <matta@stackhpc.com> | 2025-03-27 11:33:13 +0000 |
| commit | 16b3223d8c1e236edf498695786c960aef121db1 (patch) | |
| tree | 0a4e409feac9e00127eda842404a482471bd52a9 | |
| parent | 7667e2493116534e87ab511b5ff0ba6770f2ee92 (diff) | |
| download | kolla-16b3223d8c1e236edf498695786c960aef121db1.tar.gz kolla-16b3223d8c1e236edf498695786c960aef121db1.zip | |
Add support for aarch64 ipxe to ironic-pxe image
Support aarch64 ipxe only when using Ubuntu and Rocky
Linux base images, as the Debian ipxe package does not
provide a suitable aarch64 ipxe binary.
Change-Id: If5610148fc80acf13d4eb79fef78349764f08a17
| -rw-r--r-- | docker/ironic/ironic-pxe/Dockerfile.j2 | 1 | ||||
| -rw-r--r-- | docker/ironic/ironic-pxe/extend_start.sh | 7 | ||||
| -rw-r--r-- | releasenotes/notes/aarch64-ipxe-51888a5972528d77.yaml | 9 |
3 files changed, 16 insertions, 1 deletions
diff --git a/docker/ironic/ironic-pxe/Dockerfile.j2 b/docker/ironic/ironic-pxe/Dockerfile.j2 index f4a7734f9..6a2131de6 100644 --- a/docker/ironic/ironic-pxe/Dockerfile.j2 +++ b/docker/ironic/ironic-pxe/Dockerfile.j2 @@ -14,6 +14,7 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build 'grub2-efi-*64', 'grub2-efi-aa64-modules', 'ipxe-bootimgs', + 'ipxe-bootimgs-aarch64', 'mtools', 'shim-*64', 'tftp-server', diff --git a/docker/ironic/ironic-pxe/extend_start.sh b/docker/ironic/ironic-pxe/extend_start.sh index 54d6b1b21..48504c6e6 100644 --- a/docker/ironic/ironic-pxe/extend_start.sh +++ b/docker/ironic/ironic-pxe/extend_start.sh @@ -43,7 +43,12 @@ function prepare_ipxe { # was ipxe.efi. Ensure that both exist, using symlinks where the files are # named differently to allow the original names to be used in ironic.conf. if [[ "${KOLLA_BASE_DISTRO}" =~ debian|ubuntu ]]; then - cp /usr/lib/ipxe/{undionly.kpxe,ipxe.efi,snponly.efi} ${TFTPBOOT_PATH}/ + # NOTE(m-anson): ipxe-arm64.efi is not symlinked from /boot to + # /usr/lib/ipxe by the Ubuntu ipxe package, so fix that here. + if [[ -e /boot/ipxe-arm64.efi ]]; then + ln -s /boot/ipxe-arm64.efi /usr/lib/ipxe/ + fi + cp /usr/lib/ipxe/{undionly.kpxe,ipxe*.efi,snponly.efi} ${TFTPBOOT_PATH}/ elif [[ "${KOLLA_BASE_DISTRO}" =~ centos|rocky ]]; then cp /usr/share/ipxe/{undionly.kpxe,ipxe*.efi} ${TFTPBOOT_PATH}/ if [[ ! -e ${TFTPBOOT_PATH}/ipxe.efi ]]; then diff --git a/releasenotes/notes/aarch64-ipxe-51888a5972528d77.yaml b/releasenotes/notes/aarch64-ipxe-51888a5972528d77.yaml new file mode 100644 index 000000000..eb891b30c --- /dev/null +++ b/releasenotes/notes/aarch64-ipxe-51888a5972528d77.yaml @@ -0,0 +1,9 @@ +--- +features: + - | + Adds aarch64 iPXE support to the ironic-pxe image, by adding + ``ipxe-bootimgs-aarch64`` RPM package to Rocky Linux ironic-pxe + images, and ensuring that an aarch64 iPXE binary is available + in Ubuntu ironic-pxe images. No support for aarch64 iPXE in + Debian images is included, as the distro packages do not + install an aarch64 binary. |
