Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save AtaxyaNetwork/1e2a33c1f2f31766553101cba7ad8c5a to your computer and use it in GitHub Desktop.

Select an option

Save AtaxyaNetwork/1e2a33c1f2f31766553101cba7ad8c5a to your computer and use it in GitHub Desktop.
nutanix-on-xcpng
### Credit to https://github.com/bobalob/ahv-on-hyperv
#!/bin/bash
workingDir=$(pwd)
isoname="phoenix.x86_64-fnd_5.6.1_patch-aos_6.8.1_ga.iso"
if [ ! -f "$workingDir/$isoname" ]; then
echo "$isoname does not exist in $workingDir"
exit 1
fi
echo "unpacking iso"
mkdir "$workingDir/tmpdir"
mkdir "$workingDir/mntdir"
mkdir "$workingDir/output"
mkdir "$workingDir/tmpdir/$isoname"
sudo mkdir "$workingDir/mntdir/$isoname"
sudo mount -t iso9660 -o loop "$workingDir/$isoname" "$workingDir/mntdir/$isoname"
cd "$workingDir/mntdir/$isoname"
tar cf - . | (cd "$workingDir/tmpdir/$isoname"; tar xfp -)
cd "$workingDir"
exit 1
echo "unpacking initrd"
mkdir "$workingDir/tmpdir/initrd"
cd "$workingDir/tmpdir/initrd"
zcat "$workingDir/mntdir/$isoname/boot/initrd" | cpio -ivd
echo "patching scripts"
find . -type f -iname "*.py" -exec sed -i 's/\/sys\/devices\/pci/\/sys\/devices/g' "{}" +;
echo "packing initrd"
mkdir "$workingDir/tmpdir/initrd-packed"
find . | cpio -o -H newc > "$workingDir/tmpdir/initrd-packed/initrd"
cd "$workingDir/tmpdir/initrd-packed"
gzip -9 initrd
mv initrd.gz initrd
cd $workingDir
echo "packing iso"
rm "$workingDir/tmpdir/$isoname/boot/initrd"
cp "$workingDir/tmpdir/initrd-packed/initrd" "$workingDir/tmpdir/$isoname/boot"
cd "$workingDir/tmpdir/$isoname"
mkisofs -o "$workingDir/output/nutanix-patched.iso" -b boot/isolinux/isolinux.bin -c boot/isolinux/boot.cat -allow-limited-size -no-emul-boot -boot-load-size 4 -boot-info-table -J -R -V "PHOENIX" .
sudo umount "$workingDir/mntdir/$isoname"
cd $workingDir
rm -rf ./tmpdir
rm -rf ./mntdir
echo "done"
ls -al "$workingDir/output"
# You will also need to do a echo 0 > /sys/block/<device>/queue/rotational in the installer for each drive
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment