Recommended unattend install method for BlueBuild images?
I would like to do a bare metal install on my computers using a custom image built with BlueBuild and have it be completely unattended. Right now I can build an ISO image and write it to a USB drive per documentation. But being relatively new to the Fedora ecosystem, I'm not sure which tool(s) I should be using to a) create the user account info and b) how I can inject or side-car that info into the installation process.
I've used cloud-init in the Ubuntu space. Not sure if that's relevant here. Searching has also turned up Ignition/Butane and Kickstart. It's not clear to me which tool is the best fit for this job.
I tried using Butane to generate an ignition file, and then tried to inject that into the ISO using coreos-installer, but that last part failed - unsurprisingly - since I'm building a Aurora based image.
Any advice, guides, or examples on how to achieve this? I've looked through BlueBuild and uBlue docs and have searched discussions on GitHub, but nothing jumped out at me as the answer.
I appreciate any wisdom here. Thanks!
Solution:Jump to solution
Ultimately the answer for Aurora (which I was customizing): Create an ISO / image / USB drive with a volume label of
OEMDRV
and place the Kickstart file named ks.cfg
in the root of this drive. Anaconda based installers look for a volume of this label by default and will pick up the Kickstart file automatically. To generate a good starting point for the Kickstart file, you can do a manual install first and then grab the generated file from that install process at `/var/roothome/anaconda-ks.cf...5 Replies
take inspiration from this repo: to have iso s created from github
https://github.com/m2Giles/m2os
this user follows the same methodology as "main" ublue distros (bazzite, bluefin)
uses the new titanoboa installer - much better than jasonn3's iso builder!
Thanks for the recommendation. The repo (and looking at titanoboa) did ultimately lead me to the answer I was looking for - as well as gave plenty of examples of future things I had planned in my image 🙂 So, excellent recommendation, thanks!
Solution
Ultimately the answer for Aurora (which I was customizing): Create an ISO / image / USB drive with a volume label of
OEMDRV
and place the Kickstart file named ks.cfg
in the root of this drive. Anaconda based installers look for a volume of this label by default and will pick up the Kickstart file automatically. To generate a good starting point for the Kickstart file, you can do a manual install first and then grab the generated file from that install process at /var/roothome/anaconda-ks.cfg
.I kept trying to go down the route thinking I needed to customize the installer image's grub config to add
inst.ks=
to this manually... and none of the image to ISO / boot-image tools that I could find allowed you to easily do this. The above repo theoretically could have been modified to allow this to work - including the Titanoboa project - but that was more customization than I wanted to do at this point in time. I wanted to stick with the Blue-Build process and tooling for now.
That said, it would still be nice to have an easy way to modify the installer image's grub so that the option timeout is much smaller when you anticipate using Kickstart. But I can live with this 🙂