├── custom.ipxe ├── README.md └── custom.ipxe.example /custom.ipxe: -------------------------------------------------------------------------------- 1 | #!ipxe 2 | ### 3 | ### netboot.xyz-custom menu 4 | ### 5 | 6 | :start 7 | echo Hello world! 8 | sleep 10 9 | goto custom_exit 10 | 11 | :custom_exit 12 | exit 0 13 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## netboot.xyz-custom 2 | 3 | Fork me! This repo will allow you to create custom menus within netboot.xyz. 4 | It works by using your github user name that you input and chains to this URL: 5 | 6 | https://raw.githubusercontent.com/${github_user}/netboot.xyz-custom/master/custom.ipxe 7 | 8 | Once forked, you can edit the menu as much as you want. You can compile the iPXE image to 9 | set the `github_user` name early on so that your Github user name is set ahead of time and 10 | will automatically display your custom submenu on boot. You can also set your Github user 11 | name from the Utilities menu (**Tools:** -> **Utilities** -> **netboot.xyz tools:**) which 12 | will cause a custom menu to appear in the main menu. 13 | 14 | If you are new to iPXE scripting, take a look at `custom.ipxe.example` and build up from that. 15 | -------------------------------------------------------------------------------- /custom.ipxe.example: -------------------------------------------------------------------------------- 1 | #!ipxe 2 | ### 3 | ### netboot.xyz-custom menu example 4 | ### 5 | 6 | :custom 7 | clear custom_choice 8 | menu This is a Test Menu 9 | item --gap This is the first sub menu 10 | item option_one ${space} Loading a kernel and initrd 11 | item option_two ${space} Loading an ISO 12 | item --gap This is a second sub menu 13 | item option_three ${space} Loads another custom sub menu 14 | item option_four ${space} This is option four 15 | choose custom_choice || goto custom_exit 16 | echo ${cls} 17 | goto ${custom_choice} 18 | goto custom_exit 19 | 20 | :option_one 21 | kernel http://path.to/vmlinuz 22 | initrd http://path.to/initrd 23 | imgargs vmlinuz put_kernel_img_args_here 24 | boot || goto custom_exit 25 | 26 | :option_two 27 | kernel https://boot.netboot.xyz/memdisk raw iso 28 | initrd http://path.to/iso 29 | boot || goto custom_exit 30 | 31 | :option_three 32 | echo Chains into another menu... 33 | chain https://raw.githubusercontent.com/${github_user}/netboot.xyz-custom/master/custom1.ipxe || goto custom 34 | 35 | :custom_exit 36 | chain utils.ipxe 37 | exit 38 | --------------------------------------------------------------------------------