I’m wanting to create a centralized repository to keep base images of operating systems to be installed on new laptops or workstations bought/used in my household with my local CA already installed, configured to authenticate with my local FreeIPA instance, network configurations already configured, etc.
What do you all use to accomplish this? I’m only free/libre/open source software for my home lab, so that’s a requirement as well.
Ideally I’d like to be able to buy a computer, flash the latest and greatest from my repository onto a bootable thumb drive, install onto the computer, and be ready to go without any further configuration.
This is something NixOS excels at, but there is a bit of a learning curve. Maybe ansible as a non distro specific approach although I haven’t used it myself.
I’ve used commercial systems that provide what you are asking for. I’m not sure it is worth the time to setup for a home lab. I don’t see the ROI for it. Too much initial setup for the small gains afterwards.
I expect you’ll want to bake in a install config and likely a update-all.sh of some sort to each image you want to deploy. I think the frequency of that is the major time suck unless you only use LTS releases.
That said I think a PXE boot server is what you may be looking for.
Clonezilla. I usually prepare images in virtual machines and restore them on physical drives.
How do you deal with the hardware differences between a virtual machine and actual hardware?
I just have a bash script I run after the installation to configure things and install the software I use.
seems likea FOG server: https://fogproject.org/ is what you need.
A awesome project and greatly simplifies the PXE boot process. You have a repo of images you have setup ready to go and be installed.