ubuntu.ipxe 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. #!ipxe
  2. # Ubuntu Operating System
  3. # https://www.ubuntu.com
  4. goto ${menu}
  5. :ubuntu
  6. set os Ubuntu
  7. clear ubuntu_version
  8. menu ${os} - ${arch_a} - Image Sig Checks: [${img_sigs_enabled}]
  9. item --gap Latest Releases
  10. item bionic ${space} ${os} 18.04 LTS Bionic Beaver
  11. item artful ${space} ${os} 17.10 Artful Aardvark
  12. item xenial ${space} ${os} 16.04 LTS Xenial Xerus
  13. item trusty ${space} ${os} 14.04 LTS Trusty Tahr
  14. item --gap Older Releases
  15. item older_release ${space} Set release codename...
  16. choose ubuntu_version || goto ubuntu_exit
  17. iseq ${ubuntu_version} older_release && goto older_release ||
  18. goto mirrorcfg
  19. :older_release
  20. set older_release true
  21. set ubuntu_mirror old-releases.ubuntu.com
  22. echo Setting mirror to ${ubuntu_mirror}
  23. clear ubuntu_version
  24. echo -n Please set enter code name of release: ${} && read ubuntu_version
  25. set dir ${ubuntu_base_dir}/dists/${ubuntu_version}/main/installer-${arch_a}/current/images/netboot/
  26. goto deb_boot_type
  27. :mirrorcfg
  28. set mirrorcfg mirror/suite=${ubuntu_version}
  29. set dir ${ubuntu_base_dir}/dists/${ubuntu_version}/main/installer-${arch_a}/current/images/netboot/
  30. :deb_boot_type
  31. menu ${os} [${ubuntu_version}] Installer
  32. item --gap Install types
  33. item install ${space} Install
  34. item rescue ${space} Rescue Mode
  35. item expert ${space} Expert Install
  36. item preseed ${space} Specify preseed url...
  37. choose --default ${type} type || goto ubuntu
  38. echo ${cls}
  39. goto deb_${type}
  40. :deb_rescue
  41. set install_params rescue/enable=true
  42. goto deb_boot
  43. :deb_expert
  44. set install_params priority=low
  45. goto deb_boot
  46. :deb_preseed
  47. echo -n Specify preseed URL for ${os} ${ubuntu_version}: && read preseedurl
  48. set install_params auto=true priority=critical preseed/url=${preseedurl}
  49. goto deb_boot
  50. :deb_install
  51. :deb_boot
  52. set dir ${dir}${menu}-installer/${arch_a}
  53. imgfree
  54. kernel http://${ubuntu_mirror}/${dir}/linux ${install_params} ${netcfg} ${mirrorcfg} ${console} -- quiet ${params} initrd=initrd.gz
  55. initrd http://${ubuntu_mirror}/${dir}/initrd.gz
  56. echo
  57. echo MD5sums:
  58. md5sum linux initrd.gz
  59. iseq ${img_sigs_enabled} true && iseq ${older_release} true && goto skip_sigs ||
  60. iseq ${img_sigs_enabled} true && goto verify_sigs || goto skip_sigs
  61. :verify_sigs
  62. echo
  63. echo Checking signatures...
  64. imgverify linux ${sigs}${dir}/linux.sig || goto error
  65. imgverify initrd.gz ${sigs}${dir}/initrd.gz.sig || goto error
  66. echo Signatures verified!
  67. echo
  68. :skip_sigs
  69. boot
  70. :ubuntu_exit
  71. clear menu
  72. exit 0