|
@@ -0,0 +1,90 @@
|
|
|
+#!ipxe
|
|
|
+
|
|
|
+menu Utilities - Image Sig Checks: [${img_sigs_enabled}]
|
|
|
+item --gap Utilities:
|
|
|
+{% for key, value in utilities.items() | sort(attribute='1.name') %}
|
|
|
+{% if value.enabled | bool and value.menu == "pcbios" %}
|
|
|
+item {{ key }} ${space} {{ value.name }}
|
|
|
+{% endif %}
|
|
|
+{% endfor %}
|
|
|
+item --gap netboot.xyz tools:
|
|
|
+item nbxyz-custom ${space} Set Github username [user: ${github_user}]
|
|
|
+item testdistro ${space} Test Distribution ISO
|
|
|
+item testpr ${space} Test forked netboot.xyz branch or hash
|
|
|
+choose --default ${menu} menu || goto utils_exit
|
|
|
+echo ${cls}
|
|
|
+goto ${menu} ||
|
|
|
+chain ${menu}.ipxe || goto utils_exit
|
|
|
+goto utils_exit
|
|
|
+
|
|
|
+{% for key, value in utilities.items() | sort %}
|
|
|
+{% if value.enabled | bool and value.menu == "pcbios" %}
|
|
|
+:{{ key }}
|
|
|
+set util_path {{ value.util_path }}
|
|
|
+set util_file {{ value.util_path | basename }}
|
|
|
+set util_version {{ value.version }}
|
|
|
+goto boot_{{ value.type }}
|
|
|
+{% endif %}
|
|
|
+{% endfor %}
|
|
|
+
|
|
|
+:boot_memdisk
|
|
|
+imgfree
|
|
|
+kernel ${memdisk} iso raw
|
|
|
+initrd --name ${util_file} ${util_path}
|
|
|
+echo
|
|
|
+echo MD5sums:
|
|
|
+md5sum memdisk ${util_file}
|
|
|
+iseq ${img_sigs_enabled} true && goto verify_sigs || goto skip_sigs
|
|
|
+:verify_sigs
|
|
|
+echo
|
|
|
+echo Checking signatures...
|
|
|
+imgverify memdisk ${sigs}memdisk.sig || goto error
|
|
|
+imgverify ${util_file} ${sigs}${menu}/${util_file}.sig || goto error
|
|
|
+echo Signatures verified!
|
|
|
+echo
|
|
|
+:skip_sigs
|
|
|
+boot
|
|
|
+goto utils_exit
|
|
|
+
|
|
|
+:boot_memtest
|
|
|
+chain https://${util_path} && goto main_menu ||
|
|
|
+goto utils_exit
|
|
|
+
|
|
|
+:nbxyz-custom
|
|
|
+echo EXPERIMENTAL
|
|
|
+echo
|
|
|
+echo Make sure you have a fork of https://github.com/antonym/netboot.xyz-custom.
|
|
|
+echo You can then customize your fork as needed and set up your own custom options.
|
|
|
+echo Once your username is set, a custom option will appear on the main menu.
|
|
|
+echo
|
|
|
+echo -n Please enter your Github username: ${} && read github_user
|
|
|
+goto utils_exit
|
|
|
+
|
|
|
+:testdistro
|
|
|
+echo This option will allow you to test booting an ISO using memdisk. Please
|
|
|
+echo specify the URL of the ISO you want to test and it will automatically
|
|
|
+echo attempt to load the ISO using memdisk.
|
|
|
+echo -n URL: ${} && read distro_iso
|
|
|
+kernel ${memdisk} iso raw
|
|
|
+initrd ${distro_iso}
|
|
|
+boot
|
|
|
+goto utils_exit
|
|
|
+
|
|
|
+:testpr
|
|
|
+clear github_user
|
|
|
+clear github_branch_or_hash
|
|
|
+echo This will chainload into a testing branch of netboot.xyz. You'll need to enter
|
|
|
+echo your Github username and the first part of the commit hash of the commit you want
|
|
|
+echo to test or the branch name. This assumes you are testing from a forked netboot.xyz
|
|
|
+echo repo.
|
|
|
+echo
|
|
|
+echo -n Specify Github username: ${} && read github_user
|
|
|
+echo -n Specify Github branch name or commit hash ( i.e. my_feature or 30b7ca ): ${} && read github_branch_or_hash
|
|
|
+echo
|
|
|
+echo Attempting to chainload branch or hash:
|
|
|
+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
|
|
|
+goto utils_exit
|
|
|
+
|
|
|
+:utils_exit
|
|
|
+clear menu
|
|
|
+exit 0
|