PXE boot devices from Omnia

Hi,

I want to PXE boot devices in my network via Omnia. I guess “Turris MOX network boot” is only for booting Turris MOX?

I want to have rescue ISOs, installers etc available via PXE boot. Did not find any useful resources for this. Has anyone done this and can share the needed steps?

1 Like

What have you tried so far?

Inspiration from the older version.

https://wiki.turris.cz/doc/en/howto/network_boot

1 Like

Nothing yet :slight_smile:

I have seen that, it says the information is obsoleted, but I cannot find anything on docs.turris.cz. Just Netboot for MOX.

I got this far with PXE: Problém s nastavením NFS

TL;DR - Some config changes were required to make nfsd run.

My setup is based on netboot.xyz.

root@staging-gw-prg:~# mkdir -p /srv/tftp # Directory for files served during PXE boot
root@staging-gw-prg:~# curl -o /srv/tftp/netboot.xyz.efi https://boot.netboot.xyz/ipxe/netboot.xyz.efi # Getting the PXE payload from boot.netboot.xyz
root@staging-gw-prg:~# # UCI configuration
root@staging-gw-prg:~# uci set dhcp.@dnsmasq[0].tftp_root='/srv/tftp'
root@staging-gw-prg:~# uci set dhcp.@dnsmasq[0].dhcp_boot='netboot.xyz.efi'
root@staging-gw-prg:~# uci set dhcp.@dnsmasq[0].enable_tftp='1'
root@staging-gw-prg:~# uci commit
root@staging-gw-prg:~# service dnsmasq restart # Restart of the DHCP service

This setup works for boot over PXE in EFI mode, not for Legacy (BIOS) mode.

1 Like

Thanks looks great. Just followed your steps and it just works <3

I probably don’t even need anything else as it holds Linux installers and rescue utilities and that’s exactly what I was trying to setup.

1 Like

Pretty cool - Minus the fact the efi file is just a binary off the net.

I have only one external ISO I need to be able to boot from. A Windows PE rescue environment. As it is possible with netboot.xyz to specify an ISO URL to boot from, can I copy this file to Omnia and then serve it from localhost somehow using the webserver already running on Omnia?

I know I can self-host netboot.xyz or just serve the ISO from a webserver in my network, but loading it directly from localhost would be the most convenient way for me right now.

Yeah, to serve it directly from Omnia you would need a webserver or a NFS share.

There is already a webserver:

root@turris:~# /etc/init.d/lighttpd status
running

But just linking it to /www/ does not work.

Did you check the permissions? Well, check the webserver config.

And what do I need to check here? I placed the link in /www/:

root@turris:/www# ls -l winpe.iso
lrwxrwxrwx    1 root     root            38 Nov 15 10:24 winpe.iso -> /srv/tftp/disks/WinPE/Win10XPE_x64.ISO

Under what URL can I access it? http://routerip/winpe.iso gives me a 404 Not Found

Changing the permissions of the file does not have any effect.

Well, you can always stick to the plain iPXE and build it yourself. And write your own PXE scripts. Even create your own WinPE and let it boot through the HTTP.

1 Like

It’s likely the webserver config.

So what to change? I have never touched any webserver config on Omnia, it’s all factory settings.

I don’t have a specific answer for you as I haven’t done this.

Look at this thread - You can find some info there …

I have configured lighttpd to serve my webpages on Turris 1.0, so I created new folder “www3” and placed my webs into it - I did it many years ago, so not sure if there is something more needed to be configured …
In “/etc/lighttpd/conf.d” I have placed config files for my web pages:

myadmin.conf - containing:

# lighttpd include file for myadmin

## Necessary lighttpd modules
#server.modules += (
#        "mod_proxy"
#)

$HTTP["url"] =~ "^/myadmin/*" {
  server.dir-listing = "enable"
}

alias.url += (
        "/vnstat" => "/www3/vnstat"
)

alias.url += (
        "/myadmin" => "/www3/myadmin"
)
1 Like

Thanks, that’s the simple solution. Moved the link to /www/turris-webapps and it instantly works :slight_smile:

1 Like