So, where have I been? Here. What have I been doing? Stuff. Mostly stressing, but still stuff.
So here’s a rough outline of what I’ve done since the last post:
- Reinstalled Gitea. Haven’t gotten around to standing up runners yet because I haven’t needed them.
- Reintroduced netboot.xyz into my network because I’m tired of manual installs
- Figured out that PiHolev6 doesn’t play nice with things, so learned some things about that, which turned out to not be that complicated
- Dove into the world of unattended installs, sorta
- Other stuff that’s irrelevant to the post
So, if you read the last post you know that Gitlab has been replaced (re-replaced?) by Gitea. That’s really all there is to say there, no issues so far. Go read the last post if you want more in depth explanation on what happened there.
Now onto some more fun parts: I reintroduced netboot.xyz into my environment. I had it installed and sem–configured a while back, but never used it, so I destroyed the container since it was just taking up space. Then I found a use for it. Its use right now is mainly for deploying Windows installs when I need to.
This did not go off without a hitch though. At some point this year (I don’t remember when) I upgraded by PiHoles to v6, which was a whole thing because v6 is… different. You can find the blog post on pihole’s site about v6 here. Just know that the upgrade wasn’t exactly seamless, but I got it working and it wasn’t broken enough to warrant a full post evidently. But what WAS broken enough to warrant a whole post was how it did not play well with netboot.xyz. Well, it did, but it didn’t. It was mostly the unattended installation bits.
So, what went wrong? Well, v6 re-designed how dns works. It no longer relies strictly on the dns entries in the webUI, it also uses dnsmasq. If you’re familiar with that, you know that you don’t really edit dnsmasq itself (usually. You shouldn’t. Don’t.) but you instead add additional config files inside of /etc/dnsmasq.d/. BUT here’s the fun part that I evidently didn’t read: you also have to enable a setting in PiHole’s webUI to load these additional configs, because that’s not on by default. Once you find that single checkbox and click it, you’re good to go. Just add your config and reboot to make dnsmasq happy, and you’re good.
So now on to the fun parts: netboot.xyz. What IS netboot, you ask? This. Basically though, it’s a PxE boot solution. What is PxE? This. Basically, it’s a way to be lazy with installation and deployment since you don’t have to babysit each machine and load an iso individually, you can just boot over the network, select an iso, and let it do things. BUT WAIT, THERE’S MORE. You probably guessed that that isn’t automated, since you’d still have to babysit each machine to walk it through installing the OS, which is just… really tedious and dumb. So what can we do about that? We can automate it!
So, how do we automate the installation of an OS? Well, it’s kinda like a how to train your dragon-esque situation, but exactly nothing like that at all. For Linux, you can just install an OS once, configure it, save it, export it to ISO, upload to netboot and be good. You can do the same for Windows, but the issue is getting through the tedious process of installing Windows to begin with, getting it actually configured, etc, etc. Trust me, there’s more invovled with getting Windows to behave than there is Linux. The simplest way to go about it is to do it from the get-go: you create an answer file or an unattended install file. I personally use this site to make mine because I’m not smart enough to do it without hand-holding.
Once you do that, you gotta go through the arduous process of actually setting up Windows installation media, then additionally setting up the Windows WinPE ISO, configuring netboot to point to that, blahblahblah, here’s a guide that someone smarter than me put together for all of that. Once we get all of that done, which should only take about 7 years off of your life, we can actually have a machine boot into netboot over the network, choose to install Windows, and have Windows install and configure itself without input from you during the entire process. Which should also take about 7 years off your life for some reason.
Trust me though, it’s worth it in the end. 14 years off your life or not, it’s well worth it.
So, that’s basically all there is to this post. I think. I probably rambled and lost the plot about half way through but we still got here somehow.
This post is a bit less walkthrough-y than some others, so it likely isn’t that helpful. I’m gonna just dump the resources I used during my actual setup and installation in case you don’t feel like reading the post and following the links:
Linkarzu - How to install netboot.xyz and install win11 over it
TechnoTim - Installing netboot.xyz
Windows unattended file generator
Hopefully that helps. Now go forth and automate all the things. Or don’t. Idk. Up to you.