Unattended system provisioning
Unattended installation comprises of two phases: 1. Installation of OS itself with automatic answers 2. Provisioning of installed OS (application installation, configuration etc.)
OS installation
Automated OS installation process utilizes PXE boot.
1. The UEFI/BIOS sends DHCP discover request
2. The DHCP offer must contain TFTP Server Name
(option 66) and Filename
(option 67)
3. BIOS/UEFI downloads the loader from TFTP server and runs it
The process looks like (BIOS example) this:
PXE booting relies on platform firmware, its configuration files are different for BIOS and its successor UEFI.
The available UEFI loaders (for BIOS just send the pxelinux.0
file):
1. Syslinux. Can download images via TFTP, contains many bugs, e.g. the TFTP download of linux image may take long time and syslinux will
terminate the download process with timeout. This breaks the whole process
2. GRUB. This must be pre-build grub image with PXE support that will continue to download the initrd/image from servers.
3. iPXE. The de-facto standard, open-source and most robust solution. Can download initrd/image from the HTTP servers thus
making it the most reliable.
BIOS
Hardware initialization in not exactly standarized manner (as reverse engineered from IBM first implementation).
After POST boots by reading and executing first sector on hard disk.
Booting runs in 16-bit processor mode and has only 1MB of space to execute in. Has problems with parallel device initialization.
Can boot only from hard disks of size less than 2.1TB
Uses MBR partitioning scheme
UEFI
Has no limitations of BIOS, standarized (by Intel).
Specifies following servies available for OS and OS loader:
System table |
---|
Boot time services |
Run time services |
Console |
Additional tables |
Boots by loading EFI program files.
Uses GPT partitioning scheme
References
- https://www.debian.org/releases/stretch/example-preseed.txt
- https://wikitech.wikimedia.org/wiki/PartMan
- https://wiki.debian.org/DebianInstaller/Preseed
- https://www.debian.org/releases/stable/amd64/ch03s06.html.en#UEFI
- http://fai-project.org/fai-guide/
- https://www.youtube.com/watch?v=bNL1pd-rwCU
- https://www.howtogeek.com/56958/htg-explains-how-uefi-will-replace-the-bios/
- https://superuser.com/questions/496026/what-is-the-difference-in-boot-with-bios-and-boot-with-uefi