aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docker/ironic/ironic-pxe/Dockerfile.j21
-rw-r--r--docker/ironic/ironic-pxe/extend_start.sh7
-rw-r--r--releasenotes/notes/aarch64-ipxe-51888a5972528d77.yaml9
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.