Pin pip to 20.3.3 and disable tmpfs in DIB
[ta/build-tools.git] / build_step_create_install_cd.sh
index abfd91d..f06929b 100755 (executable)
@@ -68,8 +68,8 @@ wget_dir ${cd_images_dir}/
 rm -f images/boot.iso
 sync
 chmod +w -R EFI/ images/
-# AArch64 does not support PC-BIOS, so skip all isolinux processing
-if [ "${iso_arch}" != 'aarch64' ]; then
+# Only x86_64 supports PC-BIOS, so skip all isolinux processing on other platforms
+if [ "${iso_arch}" = 'x86_64' ]; then
     wget_dir ${cd_isolinux_dir}/
     chmod +w -R isolinux/
 
@@ -77,7 +77,7 @@ if [ "${iso_arch}" != 'aarch64' ]; then
         cp $scriptdir/isolinux/isolinux.cfg isolinux/isolinux.cfg
     else
         sed -i "s/^timeout.*/timeout 100/" isolinux/isolinux.cfg
-        sed -i "s/^ -  Press.*/Beginning the cloud installation process/" isolinux/boot.msg
+        sed -i "s/^ -  Press.*/Begin the cloud installation process/" isolinux/boot.msg
         sed -i "s/^#menu hidden/menu hidden/" isolinux/isolinux.cfg
         sed -i "s/menu default//" isolinux/isolinux.cfg
         sed -i "/^label linux/amenu default" isolinux/isolinux.cfg
@@ -86,12 +86,18 @@ if [ "${iso_arch}" != 'aarch64' ]; then
     cp -f $scriptdir/akraino_splash.png isolinux/splash.png
 fi
 
+# Update grub.cfg for EFI booting, similar to isolinux
+sed -i '/menuentry/{N;N;N;q}' EFI/BOOT/grub.cfg
+sed -i -e 's|Install CentOS 7|Begin the cloud installation process|' \
+       -e '/vmlinuz/ s/$/ console=tty0 console=ttyS1,115200 console=ttyAMA0,115200/' \
+    EFI/BOOT/grub.cfg
+
 popd
 
 pushd $tmp
 
  # Copy latest kernel and initrd-provisioning from boot dir
-if [ "${iso_arch}" != 'aarch64' ]; then
+if [ "${iso_arch}" = 'x86_64' ]; then
     qemu-img convert $input_image guest-image.raw
     myloop=$(sudo losetup -fP --show guest-image.raw)
     mkdir mnt
@@ -100,7 +106,7 @@ if [ "${iso_arch}" != 'aarch64' ]; then
     sudo chown -R $(id -u):$(id -g) boot
     sudo umount mnt
     sudo losetup -d ${myloop}
-    rm -f guest-image.raw
+    sudo rm -rf guest-image.raw mnt
 else
     export LIBGUESTFS_BACKEND=direct
     virt-copy-out -a $input_image /boot/ ./
@@ -108,15 +114,18 @@ fi
 
 chmod u+w boot/
 KVER=`ls -lrt boot/vmlinuz-* |grep -v rescue |tail -n1 |awk -F 'boot/vmlinuz-' '{print $2}'`
-if [ "${iso_arch}" != 'aarch64' ]; then
+if [ "${iso_arch}" = 'x86_64' ]; then
     rm -f $iso_build_dir/isolinux/vmlinuz $iso_build_dir/isolinux/initrd.img
     cp -fp boot/vmlinuz-${KVER} $iso_build_dir/isolinux/vmlinuz
     cp -fp boot/initrd-provisioning.img $iso_build_dir/isolinux/initrd.img
 fi
+rm -f $iso_build_dir/images/pxeboot/vmlinuz $iso_build_dir/images/pxeboot/initrd.img
+cp -fp boot/vmlinuz-${KVER} $iso_build_dir/images/pxeboot/vmlinuz
+cp -fp boot/initrd-provisioning.img $iso_build_dir/images/pxeboot/initrd.img
 rm -rf boot/
 
 echo "Generating boot iso"
-if [ "${iso_arch}" != 'aarch64' ]; then
+if [ "${iso_arch}" = 'x86_64' ]; then
     bios_specific_args="-b isolinux/isolinux.bin -c isolinux/boot.cat \
                         -no-emul-boot -boot-load-size 4 -boot-info-table"
 fi
@@ -138,7 +147,7 @@ genisoimage  -U -r -v -T -J -joliet-long \
   ${bios_specific_args:-} \
   -eltorito-alt-boot -e images/efiboot.img -no-emul-boot \
   -o release.iso $iso_build_dir
-[ "${iso_arch}" = 'aarch64' ] || isohybrid $tmp/release.iso
+[ "${iso_arch}" != 'x86_64' ] || isohybrid $tmp/release.iso
 _publish_image $tmp/release.iso $output_image_path
 
 echo "Clean up to preserve workspace footprint"