live-ubuntu.ipxe.j2 2.5 KB

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