live-ubuntu.ipxe.j2 2.9 KB

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