[Support] Linuxserver.io - netboot.xyz


Recommended Posts

@badsmoke I'm editing the files via web interface, after every change i just "save config". Modified file then change its name to "*.ipxe - custom".


See below simple example of custom menu, system then should boot to that custom menu and from that menu you can still exit to netboot default menu (by pressing ESC or by selecting respective menu option) if you need. You can also update default netboot menu with a new menu options of your needs.


In boot.cfg file I just update "live_endpoint" and "win_base_url" variables, but this is optional. If variable(s) not updated, you will need to hardcode full path to your boot files (see snapshot below with commented lines 24, 25) otherwise netboot will take the files from "https://github.com/netbootxyz" by default.

 

obrazek.thumb.png.a071c7db48295293200927c100a56d2d.png

Link to comment
  • 1 month later...
On 5/21/2020 at 2:58 PM, zakna said:

Great job, thank you!

I just successfully booted win10 installation image. Few steps, but took me couple of hours to make it work. Here how i configured it:

 

- installed netbootxyz docker (used default settings + mapped "/asset" to my image folder "/mnt/cache/appdata/ISO")

 

- configured my pfsense FW/router via webinterface. Went to services/dhcp server and specified the following options :

    IP Address of TFTP server (my unraid server IP)
    Enable network booting yes
    Next Server (my unraid server IP)
    Default Bios file name (netboot.xyz.kpxe)

 

- configured NETBOOT.XYZ via webinterface (http://unraid_IP:3000/) - in the file "boot.cfg" located under "Menus" updated variables "live_endpoint" and "win_base_url" as follow:

    set live_endpoint http://unraid_IP:8080
    set win_base_url ${live_endpoint}/WinPE/

 

- downloaded official win10 x64 iso file and extracted it via 7zip to my image folder (/mnt/cache/appdata/ISO/Win10_1903_V2/x64/). Files had to be place to subfolder x64. note: with normal Win10 iso everything went fine except when I got to the actual install phase, I was getting "A required CD/DVD drive device is missing. If you have a driver floppy disk, CD,DVD, or USB flash drive, please insert it now" message. WinPE image had to be used instead and from WinPE then install any win iso you need.

 

- created Win PE with integrated PowerShell (PowerShell needed for mounting iso images) as per instructions:

https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/winpe-adding-powershell-support-to-windows-pe

 

- uploaded the Win PE to my image folder (/mnt/cache/appdata/ISO/WinPE/x64/). Files had to be place to subfolder x64.

 

- powered on client PC and forced it to boot from LAN. It booted up to netboot menu where navigated to windows disro

 

- booted WinPE, mounted required win 10 iso file and started the installation:

    wpeinit   (initialize the network)
    net use z: \\10.0.0.16\appdata\ISO   (map z: drive to my samba image folder with official Win 10 image "Win10_1903_V2.iso")
    PowerShell   (run powershell)
    Mount-DiskImage   (mount the official iso win10 file located at z: drive z:\Win10_1903_V2.iso)
    d:\setup.exe   (run win10 installation from the mounted ISO)

 

useful links:

https://ipxe.org/howto/winpe
https://ipxe.org/wimboot

 

Hello - very useful post!  Is there any chance you'd be willing to share your WinPE files?  I don't have a Windows installation handy, and I'm trying to get Windows going on a box via PXE but don't have a Windows machine readily available.  If not, no worries.  Appreciate you sharing your notes either way!

Link to comment

@dereitzHappy you found it handy, check also comment from @total with his experiences. About the files, sorry, I don't want to break any copyright. I would recommend you to create your own image, even for security reasons as some unofficial images downloaded from internet may contain malicious code.

 

However, if you don't have an option to create your own image, try to search for "ark:/13960/t5q864f63" or "Windows10PEX86" on google, it should point you to archive.org site, where someone shared one, but it is at your own risk.

 

Or you can try to use Hiren’s BootCD (also at own risk), it is based on windows PE, should do the same job maybe. I didn't test the windows installation from there, but succedded to boot it with following menu:

#!ipxe
###
### custom menu
###
:start
chain --autofree boot.cfg ||

:custom
clear custom_choice
menu Menu
item --gap
item hbcd ${space} Hiren's Boot CD

choose custom_choice || goto custom_exit
goto ${custom_choice}

:hbcd
initrd http://10.0.0.16:8080/HBCD/HBCD_PE_x64.iso
chain memdisk iso raw ||

:custom_exit
exit

 

Link to comment
20 hours ago, zakna said:

@dereitzHappy you found it handy, check also comment from @total with his experiences. About the files, sorry, I don't want to break any copyright. I would recommend you to create your own image, even for security reasons as some unofficial images downloaded from internet may contain malicious code.

 

However, if you don't have an option to create your own image, try to search for "ark:/13960/t5q864f63" or "Windows10PEX86" on google, it should point you to archive.org site, where someone shared one, but it is at your own risk.

 

Or you can try to use Hiren’s BootCD (also at own risk), it is based on windows PE, should do the same job maybe. I didn't test the windows installation from there, but succedded to boot it with following menu:


#!ipxe
###
### custom menu
###
:start
chain --autofree boot.cfg ||

:custom
clear custom_choice
menu Menu
item --gap
item hbcd ${space} Hiren's Boot CD

choose custom_choice || goto custom_exit
goto ${custom_choice}

:hbcd
initrd http://10.0.0.16:8080/HBCD/HBCD_PE_x64.iso
chain memdisk iso raw ||

:custom_exit
exit

 

Very good point about the copyright.  I didn't think through that at all!  Thank you for the tips!!

Link to comment
  • 1 month later...
On 3/6/2021 at 10:00 AM, zakna said:

@dereitzHappy you found it handy, check also comment from @total with his experiences. About the files, sorry, I don't want to break any copyright. I would recommend you to create your own image, even for security reasons as some unofficial images downloaded from internet may contain malicious code.

 

However, if you don't have an option to create your own image, try to search for "ark:/13960/t5q864f63" or "Windows10PEX86" on google, it should point you to archive.org site, where someone shared one, but it is at your own risk.

 

Or you can try to use Hiren’s BootCD (also at own risk), it is based on windows PE, should do the same job maybe. I didn't test the windows installation from there, but succedded to boot it with following menu:


#!ipxe
###
### custom menu
###
:start
chain --autofree boot.cfg ||

:custom
clear custom_choice
menu Menu
item --gap
item hbcd ${space} Hiren's Boot CD

choose custom_choice || goto custom_exit
goto ${custom_choice}

:hbcd
initrd http://10.0.0.16:8080/HBCD/HBCD_PE_x64.iso
chain memdisk iso raw ||

:custom_exit
exit

 

Note for anyone reading this: this only worked for Legacy BIOS setups for me - not UEFI.  That seems to be netboot's general recommendation anyway, but it is a shame.

  • Upvote 1
Link to comment
  • 2 weeks later...

The OpenWRT instructions are not accurate for the latest RC (21.02-rc1) of OpenWRT. When using that command only the last option will actually save in UCI. I have yet to find a working solution to this, any ideas from the Linuxserver team?

 

EDIT: I got it sorta working. It'll only pass a single file but since all of my devices are currently 64 bit EFI based, it works for my own setup.

 

uci add_list dhcp.@dnsmasq[0].dhcp_boot='netboot.xyz.efi,server name,server IP'
uci commit
/etc/init.d/dnsmasq restart

 

Edited by projektdotnet
personal solution
Link to comment
59 minutes ago, projektdotnet said:

The OpenWRT instructions are not accurate for the latest RC (21.02-rc1) of OpenWRT. When using that command only the last option will actually save in UCI. I have yet to find a working solution to this, any ideas from the Linuxserver team?

 

EDIT: I got it sorta working. It'll only pass a single file but since all of my devices are currently 64 bit EFI based, it works for my own setup.

 


uci add_list dhcp.@dnsmasq[0].dhcp_boot='netboot.xyz.efi,server name,server IP'
uci commit
/etc/init.d/dnsmasq restart

 

 

Which instructions are you talking about?

Use a stable release instead of an RC release of you have issues.

Link to comment
7 hours ago, saarg said:

 

Which instructions are you talking about?

Use a stable release instead of an RC release of you have issues.

 

The release version of OpenWRT is not compatible with my device unfortunately due to it being an EFI boot. I found out that the issue is related to a known bug after I'd already made my first edit. I put in my edit how I got it working for my setup for now but thank you for responding.

Link to comment
  • 2 weeks later...

Hey guys,

 

I want to host a VHD and boot it via iPXE Client, is this possible?

 

I already set up the netboot.xyz docker in unraid and booted from a vm with the ipxe iso.. Am I right that I need to do some router config to bring them together? I got a FritzBox 7590 and a OpenWRT Router (GL INET 750S)..

 

Thank you for help

Link to comment
  • 1 month later...

Has anyone tried using this as a TFTP server?

I have it installed and running on the right ports.

However, when I try to get a file from the untracked list using a tftp command, I can't seem to get the file.

Example on windows tftp client (firewall configured too):

 

C:\Windows\system32>tftp -i 172.16.0.2 get /assets/test.txt
 Connect request failed

 

I have also tried without the `/assets/` portion

 

The file is there but can't seem to get it to download from any tftp on any device.... windows 10, cisco wlcs, cisco switches, etc.

Any thoughts?

 

 

Link to comment
17 hours ago, HH0718 said:

Has anyone tried using this as a TFTP server?

I have it installed and running on the right ports.

However, when I try to get a file from the untracked list using a tftp command, I can't seem to get the file.

Example on windows tftp client (firewall configured too):

 


C:\Windows\system32>tftp -i 172.16.0.2 get /assets/test.txt
 Connect request failed

 

I have also tried without the `/assets/` portion

 

The file is there but can't seem to get it to download from any tftp on any device.... windows 10, cisco wlcs, cisco switches, etc.

Any thoughts?

 

 

That doesn't seem to be the correct IP. That looks like the internal docker bridge network IP

Link to comment
  • 3 months later...

For the life of me, I can't get VMware VM to boot efi image. I can boot if I change the firmware type to BIOS on the VM ( also need to change netboot.xyz.efi to netboot.xyz.kpxe in Unifi but the damn efi won't work :-/ All I get is "Downloading NBP file..." and then it jumps back to the Boot Managet of the VM ... 

 

EDIT 1:

Looks like the issue might be Vmware only related... I managed to efi boot my NUC machine just fine... but found a bug ?

The docker template have "Webserver for local asset hosting (Default 8080)" while:

root@3cd6e4a03848:/config/nginx# cat site-confs/default 
server {
        listen 80;
        location / {
                root /assets;
                autoindex on;
        }
}


EDIT 2:

Also, there seems to be something wrong with the squash images, I have tried two live CDs and none of them loaded the downloaded squash image ( started downloading new one from net ) but initrd and vmlinuz was no problem from local NW...

 

EDIT 3:
Well, I'm at the end of my wits, I made Ubuntu-21.10-LXDE local, via web interface. It downloaded OK ( i think ), all 3 files present... again booting the initrd and vmlinuz loads ok... the squashfs not... this is in console:  (attached pic)

245689471_166917465560946_959738679077100455_n.jpg

Edited by VladoPortos
Link to comment
  • 1 month later...
  • 1 month later...
  • 3 months later...
On 7/6/2021 at 11:57 AM, HH0718 said:

Has anyone tried using this as a TFTP server?

I have it installed and running on the right ports.

However, when I try to get a file from the untracked list using a tftp command, I can't seem to get the file.

Example on windows tftp client (firewall configured too):

 

C:\Windows\system32>tftp -i 172.16.0.2 get /assets/test.txt
 Connect request failed

 

I have also tried without the `/assets/` portion

 

The file is there but can't seem to get it to download from any tftp on any device.... windows 10, cisco wlcs, cisco switches, etc.

Any thoughts?

 

 

I am having the same issue. I primarily want to use it as TFTP but would also like to play around with PXE boot as well. PXE seems to work to the point that it shows up as an option but when I select it, it comes up with the error "EFI PXE Network (mac) boot failed." Overall, I am not sure if the container is working at all or if it is just the TFTP portion. I have opnSense configured correctly because I can change the IP to my desktop and TFTP works as it should.

Link to comment
  • 10 months later...

I finally found a way to boot isos for UEFI boot. I modified boot.cfg from NETBOOT.XYZ:

 

item option_iso ${space} Option Iso

:option_iso
set url http://192.168.1.202:80/Option Iso
sanboot ${url}/Some_iso.iso


Make sure not to use spaces in your image file. Also this method helps for booting Windows isos, but still cannot locate drivers. I think I saw the workaround somewhere in this thread.

Edited by Zvaniel4o
Link to comment
  • 3 months later...
On 2/21/2023 at 6:41 PM, Zvaniel4o said:

I finally found a way to boot isos for UEFI boot. I modified boot.cfg from NETBOOT.XYZ:

 

item option_iso ${space} Option Iso

:option_iso
set url http://192.168.1.202:80/Option Iso
sanboot ${url}/Some_iso.iso


Make sure not to use spaces in your image file. Also this method helps for booting Windows isos, but still cannot locate drivers. I think I saw the workaround somewhere in this thread.

For someone who often needs to install windows OS for deployment to PC's would this be a good way to go about that?

 

My understanding is that I can take the base windows install ISO, and using pxe boot, I can have it installed onto PC's using netboot?

Link to comment
  • 4 months later...
  • 4 weeks later...

Nevermind, had installed on a custom network and those ignore custom port settings :)

 

I don't seem to be able to change the webui port from 3000. Whatever I set it to it just goes back to 3000. Tried a few times and pulling down fresh. 

 

Anyone else have this issue? I already have grafana on 3000.

Edited by sirkuz
Link to comment
  • 3 weeks later...

I used to have everything working perfect with this but an update must have broke things. When using netboot the config seems to be automatically launching the menu from https://boot.netboot.xyz/2.0.69/menu.ipxe rather than using my locally hosted menu. Before the menu loads I can also see "Attempting to retrieve latest upstream version number... https://boot.netboot.xyz/version.ipxe..." Any changes I make to the menu files via the web interface do not apply as it seems the configuration is bypassing any of these settings. This is driving me crazy as this was working and now I'm not able to use any of my custom configs. 

 

Is anyone else experiencing this issue and know what to do?

Link to comment
  • 1 month later...

One minor issue I had but kludged, if you want a completely local setup, I had to move wimboot over to the asset folder, otherwise it couldn't load it.

 

On 11/30/2023 at 7:12 AM, jjooee said:

I used to have everything working perfect with this but an update must have broke things. When using netboot the config seems to be automatically launching the menu from https://boot.netboot.xyz/2.0.69/menu.ipxe rather than using my locally hosted menu. Before the menu loads I can also see "Attempting to retrieve latest upstream version number... https://boot.netboot.xyz/version.ipxe..." Any changes I make to the menu files via the web interface do not apply as it seems the configuration is bypassing any of these settings. This is driving me crazy as this was working and now I'm not able to use any of my custom configs. 

 

Is anyone else experiencing this issue and know what to do?

 

I had this issue, although I don't know exactly what fixed it (presuming it's not an intermittent thing)

 

Either starting from scratch (including removing appdata) and testing with the default script fixed it (later starting from scratch again but this time updating it now worked), changing it to have a dedicated IP address (obviously updating the DHCP server as well) or just messing around fixed it somehow.

 

On 10/17/2023 at 2:09 PM, autumnwalker said:

Is it possible to use this to host local files on TFTP? I have a couple of devices (e.g. IP phone) which are updated via tftp hosted files. 

 

I like the iPXE features too ... but wondering if I can also use this to allow a device to grab a local file via tftp without the whole iPXE menu, etc.

 

There's a separate tftp docker image which may work, although I've not used it since pfsense has one as a plugin.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.