live-ubuntu.ipxe.j2 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. #!ipxe
  2. goto ${menu} ||
  3. :live_menu
  4. set os Ubuntu Live
  5. menu ${os}
  6. item --gap ${os} Versions
  7. item jammy ${space} ${os} 22.04
  8. item impish ${space} ${os} 21.10
  9. item focal ${space} ${os} 20.04
  10. item bionic ${space} ${os} 18.04
  11. choose live_version || goto live_exit
  12. menu ${os} ${live_version}
  13. item --gap ${os} Flavors
  14. goto ${live_version}
  15. :jammy
  16. {% for key, value in endpoints.items() | sort %}
  17. {% if value.os == "ubuntu" and 'squash' in key and value.version == "22.04" %}
  18. item {{ key }} ${space} {{ value.os | title }} {{ value.version }} {{ value.flavor | title }}
  19. {% endif %}
  20. {% endfor %}
  21. goto flavor_select
  22. :impish
  23. {% for key, value in endpoints.items() | sort %}
  24. {% if value.os == "ubuntu" and 'squash' in key and value.version == "21.10" %}
  25. item {{ key }} ${space} {{ value.os | title }} {{ value.version }} {{ value.flavor | title }}
  26. {% endif %}
  27. {% endfor %}
  28. goto flavor_select
  29. :focal
  30. {% for key, value in endpoints.items() | sort %}
  31. {% if value.os == "ubuntu" and 'squash' in key and value.version == "20.04" %}
  32. item {{ key }} ${space} {{ value.os | title }} {{ value.version }} {{ value.flavor | title }}
  33. {% endif %}
  34. {% endfor %}
  35. goto flavor_select
  36. :bionic
  37. {% for key, value in endpoints.items() | sort %}
  38. {% if value.os == "ubuntu" and 'squash' in key and value.version == "18.04" %}
  39. item {{ key }} ${space} {{ value.os | title }} {{ value.version }} {{ value.flavor | title }}
  40. {% endif %}
  41. {% endfor %}
  42. goto flavor_select
  43. :flavor_select
  44. choose flavor || goto live_menu
  45. echo ${cls}
  46. goto ${flavor} ||
  47. {% for key, value in endpoints.items() | sort %}
  48. {% if value.os == "ubuntu" and 'squash' in key %}
  49. {% set kernel_name = value.kernel %}
  50. :{{ key }}
  51. set squash_url ${live_endpoint}{{ value.path }}filesystem.squashfs
  52. {% for key, value in endpoints.items() | sort %}
  53. {% if key == kernel_name %}
  54. set kernel_url ${live_endpoint}{{ value.path }}
  55. {% endif %}
  56. {% endfor %}
  57. goto {{ value.version }}-boot
  58. {% endif %}
  59. {% endfor %}
  60. :18.04-boot
  61. imgfree
  62. kernel ${kernel_url}vmlinuz ip=dhcp boot=casper netboot=http fetch=${squash_url} {{ kernel_params }}
  63. initrd ${kernel_url}initrd
  64. boot
  65. :20.04-boot
  66. :21.04-boot
  67. :21.10-boot
  68. :22.04-boot
  69. imgfree
  70. kernel ${kernel_url}vmlinuz ip=dhcp boot=casper netboot=url url=${squash_url} {{ kernel_params }}
  71. initrd ${kernel_url}initrd
  72. boot
  73. :live_exit
  74. clear menu
  75. exit 0