Skip to content

Commit ed199ee

Browse files
committed
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 (cherry picked from commit 16b3223)
1 parent ffbaa39 commit ed199ee

File tree

3 files changed

+16
-1
lines changed

3 files changed

+16
-1
lines changed

docker/ironic/ironic-pxe/Dockerfile.j2

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
1414
'grub2-efi-*64',
1515
'grub2-efi-aa64-modules',
1616
'ipxe-bootimgs',
17+
'ipxe-bootimgs-aarch64',
1718
'mtools',
1819
'shim-*64',
1920
'tftp-server',

docker/ironic/ironic-pxe/extend_start.sh

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,12 @@ function prepare_ipxe {
4343
# was ipxe.efi. Ensure that both exist, using symlinks where the files are
4444
# named differently to allow the original names to be used in ironic.conf.
4545
if [[ "${KOLLA_BASE_DISTRO}" =~ debian|ubuntu ]]; then
46-
cp /usr/lib/ipxe/{undionly.kpxe,ipxe.efi,snponly.efi} ${TFTPBOOT_PATH}/
46+
# NOTE(m-anson): ipxe-arm64.efi is not symlinked from /boot to
47+
# /usr/lib/ipxe by the Ubuntu ipxe package, so fix that here.
48+
if [[ -e /boot/ipxe-arm64.efi ]]; then
49+
ln -s /boot/ipxe-arm64.efi /usr/lib/ipxe/
50+
fi
51+
cp /usr/lib/ipxe/{undionly.kpxe,ipxe*.efi,snponly.efi} ${TFTPBOOT_PATH}/
4752
elif [[ "${KOLLA_BASE_DISTRO}" =~ centos|rocky ]]; then
4853
cp /usr/share/ipxe/{undionly.kpxe,ipxe*.efi} ${TFTPBOOT_PATH}/
4954
if [[ ! -e ${TFTPBOOT_PATH}/ipxe.efi ]]; then
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
---
2+
features:
3+
- |
4+
Adds aarch64 iPXE support to the ironic-pxe image, by adding
5+
``ipxe-bootimgs-aarch64`` RPM package to Rocky Linux ironic-pxe
6+
images, and ensuring that an aarch64 iPXE binary is available
7+
in Ubuntu ironic-pxe images. No support for aarch64 iPXE in
8+
Debian images is included, as the distro packages do not
9+
install an aarch64 binary.

0 commit comments

Comments
 (0)