Browse code

Fix Ironic for Syslinux >= 5.00

Syslinux >= 5.00 pxelinux.0 binary is not "stand-alone"
anymore, it depends on some c32 modules to work correctly.
See: http://www.syslinux.org/wiki/index.php/Library_modules

Closes-Bug: #1419867
Change-Id: Ia62e980052ece3d5e2abf090b5609dea31f0d6b8

Lucas Alvares Gomes authored on 2015/02/24 00:39:22
Showing 1 changed files
... ...
@@ -238,7 +238,15 @@ function configure_ironic_dirs {
238 238
         die $LINENO "PXE boot file $IRONIC_PXE_BOOT_IMAGE not found."
239 239
     fi
240 240
 
241
-    cp $IRONIC_PXE_BOOT_IMAGE $IRONIC_TFTPBOOT_DIR
241
+    # Copy PXE binary
242
+    if [[ "$IRONIC_IPXE_ENABLED" == "True" ]] ; then
243
+        cp $IRONIC_PXE_BOOT_IMAGE $IRONIC_TFTPBOOT_DIR
244
+    else
245
+        # Syslinux >= 5.00 pxelinux.0 binary is not "stand-alone" anymore,
246
+        # it depends on some c32 modules to work correctly.
247
+        # More info: http://www.syslinux.org/wiki/index.php/Library_modules
248
+        cp -aR $(dirname $IRONIC_PXE_BOOT_IMAGE)/*.{c32,0} $IRONIC_TFTPBOOT_DIR
249
+    fi
242 250
 }
243 251
 
244 252
 # configure_ironic() - Set config files, create data dirs, etc