ubuntu.ipxe 2.4 KB

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