live-q4os.ipxe.j2 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. #!ipxe
  2. goto ${menu} ||
  3. :live_menu
  4. set os Q4OS Live
  5. menu ${os} - Current Arch [ ${arch} ]
  6. iseq ${arch} x86_64 && set arch_a amd64 || set arch_a ${arch}
  7. item --gap ${os} Versions
  8. item 3.10 ${space} ${os} 3.10
  9. item 3.9 ${space} ${os} 3.9
  10. choose live_version || goto live_exit
  11. menu ${os} ${live_version}
  12. item --gap ${os} Flavors
  13. goto ${live_version}
  14. :3.10
  15. {% for key, value in endpoints.items() | sort %}
  16. {% if value.os == "Q4OS" and 'squash' in key and value.version == "3.10" %}
  17. item {{ key }} ${space} {{ value.os | title }} {{ value.version }} {{ value.flavor | title}}
  18. {% endif %}
  19. {% endfor %}
  20. goto flavor_select
  21. :3.9
  22. {% for key, value in endpoints.items() | sort %}
  23. {% if value.os == "Q4OS" and 'squash' in key and value.version == "3.9" %}
  24. item {{ key }} ${space} {{ value.os | title }} {{ value.version }} {{ value.flavor | title}}
  25. {% endif %}
  26. {% endfor %}
  27. goto flavor_select
  28. :flavor_select
  29. choose flavor || goto live_menu
  30. echo ${cls}
  31. goto ${flavor} ||
  32. {% for key, value in endpoints.items() | sort %}
  33. {% if value.os == "Q4OS" and 'squash' in key %}
  34. {% set kernel_name = value.kernel %}
  35. :{{ key }}
  36. set squash_url ${live_endpoint}{{ value.path }}filesystem.squashfs
  37. {% for key, value in endpoints.items() | sort %}
  38. {% if key == kernel_name %}
  39. set kernel_url ${live_endpoint}{{ value.path }}
  40. {% endif %}
  41. {% endfor %}
  42. goto q4os-boot
  43. {% endif %}
  44. {% endfor %}
  45. :q4os-boot
  46. imgfree
  47. kernel ${kernel_url}vmlinuz boot=live fetch=${squash_url} initrd=initrd ${cmdline}
  48. initrd ${kernel_url}initrd
  49. boot
  50. :live_exit
  51. clear menu
  52. exit 0