@george1421 Done. 
Posts
-
Preseeded (unattended) netboot UEFI Debian installationposted in Tutorials
With the assistance of @george1421 in this thread, I arrived at the following process.
Features
- Unattended installation, preseeded (using a
preseed.cfg) - Completely hands-off, after selecting the appropriate FOG menu item on PXE boot
- Based on Debian’s netboot - no need to download the Debian ISO
- Uses HTTP only (though you could swap in NFS, TFTP, etc., if you prefer)
- The three files required for the installation can reside in a single location on the FOG server
- Process can be generalised to other versions of Debian and other OSes (though you’d need to work out the Kickstart part for RedHat distros, etc.)
- Works with UEFI - I repeat, works with UEFI!!!
Process
On the FOG server, Unpack netboot.tar.gz to a folder under the Apache root, e.g.:
mkdir -p /home/fogproject/www/os/debian/10.7N cd /home/fogproject/www/os/debian/10.7N wget http://ftp.nl.debian.org/debian/dists/buster/main/installer-amd64/current/images/netboot/netboot.tar.gz tar zxf netboot.tar.gz rm netboot.tar.gz chown -R apache:apache /home/fogproject/www/os/debian/10.7NNote that I relocated my
wwwroot to/home/fogproject. Yours may still be at/var/www. or similar.The above unpacks:
debian-installer/ pxelinux.0@ pxelinux.cfg@ version.infoWe only really need two files, which are in the
debian-installerdirectory:linuxandinitrd.gz. Still, I leave this folder structure as it is.Place your preseed file (normally
preseed.cfg) in the same directory as the netboot files above (/home/fogproject/www/os/debian/10.7Nin my example). The content of your preseed file is entirely up to you. See the official example, to get started.Create a FOG menu entry as follows:
Menu item: os.Debian.10.7.auto.UEFI
Description: Unattended Debian 10.7 installation (UEFI)
Parameters:kernel http://${fog-ip}/os/debian/10.7N/debian-installer/amd64/linux auto=true url=http://${fog-ip}/os/debian/10.7N/preseed.cfg interface=auto hostname=debian-10 domain=local initrd=initrd.gz vga=788 noprompt quiet imgfetch http://${fog-ip}/os/debian/10.7N/debian-installer/amd64/initrd.gz boot || goto MENUMenu Show with: All hosts
Notes
If you need an option for manual installation, simply drop the auto parameters from the kernel line:
kernel http://${fog-ip}/os/debian/10.7N/debian-installer/amd64/linux initrd=initrd.gz vga=788 quietThe clue to getting this working was to include
initrd=initrd.gzin thekernelline and then useimgfetchto makeinitrd.gzavailable. - Unattended installation, preseeded (using a
-
RE: Fully automated UEFI-based O/S installation (Debian 10)posted in General
@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 MENUSo this removes the need to mess around with
grub.cfgor boot to an intermediate (grub) menu. All you need are thenetboot.tar.gzfiles 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.
-
RE: Fully automated UEFI-based O/S installation (Debian 10)posted in General
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 MENUThis 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.