Fully automated UEFI-based O/S installation (Debian 10)
-
@robpomeroy Switch the VM to bios and try it (just to test). I was having that issue with efi on proxmox. I thought it was just being proxmox being silly. Maybe not.
The error is basically the kernel doesn’t understand the format of the virtual disk drive (initrd).
-
@george1421 It’s a physical server (Dell T40) that literally cannot boot BIOS-based OSes, I’m afraid. It has no internal legacy boot capability. I was amazed, but then I haven’t worked with physical hardware in a while.
-
@robpomeroy Ok so next plan I was going to try is to grab FOG’s bzImage from
/var/www/html/fog/service/ipxe
That is EFI capable I was thinking about sliding that in and replacing the “linux” kernel just to see if it would init the disk. Let me see what I can do on vmware I should be able to duplicate the error I was seeing in my home lab. -
@george1421 - okay, thanks George.
This boots beautifully though:
kernel tftp://${fog-ip}/grubx64.efi boot || goto MENU
Is there no way to squirt additional parameters into that Grub EFI loader?
Sorry - I figured that this might be simple. I should know better by now!
-
@robpomeroy Well I have a workable solution.
kernel tftp://${fog-ip}/os/debian/Server10.7/linux loglevel=7 initrd=initrd.gz root=/dev/nfs boot=casper netboot=nfs nfsroot=${fog-ip}:/images/os/debian/Server10.7/ locale=en_US.UTF-8 keyboard-configuration/layoutcode=us quiet splash ip=dhcp rw imgfetch tftp://${fog-ip}/os/debian/Server10.7/initrd.gz boot || goto MENU
After several itterations of try this, crash that… I found that the image args was missing this
initrd=initrd.gz
. Understand I did not push the installer past configuring the keyboard. But the kernel now boots. You will probably need to add in the link to the preseed fileauto=true url=http://${fog-ip}/os/autoinstall/debian-10/preseed.cfg
and anything else you want configured via image args. -
@george1421 George, firstly thanks again for the all the work you’ve put into this!
This steered me in exactly the right direction. The following are the parameters I used for a completely automated netboot install (no Live ISO required). This is the point I was hoping to get to. Brilliant.
kernel tftp://${fog-ip}/debian-installer/amd64/linux auto=true url=http://${fog-ip}/os/autoinstall/debian-10/preseed.cfg interface=auto hostname=debian-10 domain=local initrd=initrd.gz vga=788 noprompt quiet imgfetch tftp://${fog-ip}/debian-installer/amd64/initrd.gz boot || goto MENU
So this removes the need to mess around with
grub.cfg
or boot to an intermediate (grub) menu. All you need are thenetboot.tar.gz
files and apreseed.cfg
. Next I’ll try doing this all via HTTP (rather than TFTP), to avoid polluting/tftpboot
. I’m mindful that I would like to make the backup and restoration of FOG itself as straightforward as possible.I know I’ve said this a few times in this thread (!) but once more: thank you. If I can help by writing up a wiki page for this process, do point me in the right direction.
-
Yep, HTTP worked perfectly too, which means I could put the three required files in a single location under the web root. FOG menu parameters:
kernel http://${fog-ip}/os/autoinstall/debian-10/debian-installer/amd64/linux auto=true url=http://${fog-ip}/os/autoinstall/debian-10/preseed.cfg interface=auto hostname=debian-10 domain=local initrd=initrd.gz vga=788 noprompt quiet imgfetch http://${fog-ip}/os/autoinstall/debian-10/debian-installer/amd64/initrd.gz boot || goto MENU
This is clean & efficient. I like it. Probably not as quick as using a Live image, but I’m doing this over a fast internet connection and it’s a minimal install. So the whole thing is done in ten minutes or so.
Again, I’m more than willing to write this up somewhere if useful for others.
-
@robpomeroy said in Fully automated UEFI-based O/S installation (Debian 10):
three required
*the required
-
@robpomeroy said in Fully automated UEFI-based O/S installation (Debian 10):
I’m more than willing to write this up somewhere if useful for others
Tutorials in the tutorial forum section is always appreciated. No one knows the entire IT picture so your work covers areas where others have not been. That is kind of why I started that huge tutorial on network booting, to give others a platform to start their projects with.
-
@george1421 Done.