utils-efi.ipxe.j2 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. #!ipxe
  2. menu Utilities - Image Sig Checks: [${img_sigs_enabled}]
  3. item --gap Utilities:
  4. {% for key, value in utilitiesefi.items() | sort(attribute='1.name') %}
  5. {% if value.enabled %}
  6. item {{ key }} ${space} {{ value.name }}
  7. {% endif %}
  8. {% endfor %}
  9. item --gap netboot.xyz tools:
  10. item nbxyz-custom ${space} Set Github username [user: ${github_user}]
  11. item testdistro ${space} Test Distribution ISO
  12. item testpr ${space} Test forked netboot.xyz branch or hash
  13. choose --default ${menu} menu || goto utils_exit
  14. echo ${cls}
  15. goto ${menu} ||
  16. chain ${menu}.ipxe || goto utils_exit
  17. goto utils_exit
  18. {% for key, value in utilitiesefi.items() | sort %}
  19. {% if value.enabled | bool and value.type == "direct" %}
  20. :{{ key }}
  21. imgfree
  22. kernel {{ value.kernel }}
  23. initrd {{ value.initrd }}
  24. boot
  25. goto utils_exit
  26. {% endif %}
  27. {% endfor %}
  28. :nbxyz-custom
  29. echo EXPERIMENTAL
  30. echo
  31. echo Make sure you have a fork of https://github.com/netbootxyz/netboot.xyz-custom.
  32. echo You can then customize your fork as needed and set up your own custom options.
  33. echo Once your username is set, a custom option will appear on the main menu.
  34. echo
  35. echo -n Please enter your Github username: ${} && read github_user
  36. goto utils_exit
  37. :testdistro
  38. echo This option will allow you to test booting an ISO using memdisk. Please
  39. echo specify the URL of the ISO you want to test and it will automatically
  40. echo attempt to load the ISO using memdisk.
  41. echo -n URL: ${} && read distro_iso
  42. kernel ${memdisk} iso raw
  43. initrd ${distro_iso}
  44. boot
  45. goto utils_exit
  46. :testpr
  47. clear github_user
  48. clear github_branch_or_hash
  49. echo This will chainload into a testing branch of netboot.xyz. You'll need to enter
  50. echo your Github username and the first part of the commit hash of the commit you want
  51. echo to test or the branch name. This assumes you are testing from a forked netboot.xyz
  52. echo repo.
  53. echo
  54. echo -n Specify Github username: ${} && read github_user
  55. echo -n Specify Github branch name or commit hash ( i.e. my_feature or 30b7ca ): ${} && read github_branch_or_hash
  56. echo
  57. echo Attempting to chainload branch or hash:
  58. chain --autofree https://raw.githubusercontent.com/${github_user}/netboot.xyz/${github_branch_or_hash}/src/menu.ipxe || echo Unable to find Github branch or hash... && sleep 5 && goto utils_exit
  59. goto utils_exit
  60. :utils_exit
  61. clear menu
  62. exit 0