Remote Boot or Remote Install using Netboot.xyz and/or iPXE.org

sphen

Well-Known Member
Joined
Dec 12, 2022
Messages
871
Reaction score
753
Credits
10,429
I have a server on the internet and have successfully installed Debian on it. You can boot the installer remotely over the internet by using the Booting from Grub method described here:
https://netboot.xyz/docs/booting/grub

You can install many different distros using this method. I tested it with Debian and it works very well.

-> Has anybody else on Linux.org tried it?

I would like to use the same method to repeat what I did, but self-hosted from another of my servers rather than using netboot.xyz. The netboot.xyz website includes instructions for self-hosting here:
https://netboot.xyz/docs/selfhosting

I tried to follow the Ansible method, but I am still missing some pieces. I do not know anything about Docker, which is another way to accomplish the same thing.

-> Can somebody here help me figure out what I am missing to make the self-hosting work?

-> If not, can you suggest a better forum or source to find someone who knows? I have not had much luck with the netboot.xyz Discord group. I am willing to learn what I need to know. Often it takes only a few hints to fill in the blanks so I can run with it.
 


Way outside my knowledge sphere...

However, @JasKinasis may be able to shed some light.

The inclusion of his name here will lead him to this post

Also @stan may show an interest, or perhaps @Old Tom Bombadil
 
Last edited:
BTW and lest I forget, our site's Super Administrator @Rob IIRC has an interest in Docker.

c u round
 
First time hearing of that. That looks quite interesting, thanks for sharing! I haven't tried it but looking at the documentation for Ansible it looks like the Ansible role they provide will deploy a PXE server for your, so that you don't have to manually configure it yourself. So it seems all they require is you to do the following.
1. Have an already installed system.
2. Install apache git and ansible.
3. Clone the netboot.xyz ansible role onto that system, you can change the location: git clone https://github.com/netbootxyz/netboot.xyz.git /opt/netboot.xyz
4. Enter the location where the role was cloned to: cd /opt/netboot.xyz
5. Run the role from that location: ansible-playbook -i inventory site.yml
The end result will be a configured PXE server with a netboot.xyz environment on the system you ran it on. So basically what they mention in the beginning will be the end result for the system you run it on.
Ansible, an open-source automation engine, is utilized to generate custom templates based on a set of default configurations which can then be overridden by the user. This allows a user to customize a netboot.xyz environment to their specification and set up a PXE server easily. The Ansible playbooks will generate:

Menus for their netboot.xyz environment using default configuration settings
iPXE Bootloaders for booting into that environment
Customized menu options for those who have additional options they want to add
So in short that server will be able to be allow other servers to PXE boot from, so for the "booting-methods" examples where "boot.netboot.xyz" is mentioned you will be able replace with the name of your server.
 
Last edited:
I just ran the playbook on a virtual test system and did run into a few things.
1. An Ansible community collection is needed which isn't installed by default, to install it run: ansible-galaxy collection install community.general
2. A few packages weren't in the default repos so you may have to activate de appropriate 3rd party repo, in my case I enabled EPEL since my test system is Rhel.
 
In the end you a whole lot of ipxe boot files(under /var/www/html) and it loads in a webpage.
Screenshot_20221230_155506.png
 
Sorry I cannot be of much help here I am not familiar with docker
 

Members online


Latest posts

Top