#!ipxe menu Utilities item --gap Utilities: {% for key, value in utilitiespcbios.items() | sort(attribute='1.name') %} {% if value.enabled %} 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 item nbxyz ${space} netboot.xyz endpoints choose --default ${menu} menu || goto utils_exit echo ${cls} goto ${menu} || chain ${menu}.ipxe || goto utils_exit goto utils_exit {% for key, value in utilitiespcbios.items() | sort %} {% if value.enabled | bool and value.type == "memdisk" %} :{{ 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 %} {% for key, value in utilitiespcbios.items() | sort %} {% if value.enabled | bool and value.type == "direct" %} :{{ key }} imgfree kernel {{ value.kernel }} initrd {{ value.initrd }} boot goto utils_exit {% endif %} {% endfor %} :boot_memdisk imgfree kernel ${memdisk} iso raw initrd --name ${util_file} ${util_path} echo echo MD5sums: md5sum memdisk ${util_file} boot goto utils_exit :memtest imgfree kernel {{ utilitiespcbios.memtest.util_path }} boot goto utils_exit :nbxyz-custom echo EXPERIMENTAL echo echo Make sure you have a fork of https://github.com/netbootxyz/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