Commit Graph

182 Commits

Author SHA1 Message Date
Joshua Boniface 1e61592ed9 Fix partition and console bugs 2023-09-01 15:41:58 -04:00
Joshua Boniface ea3096518b Fix bad escapes 2023-09-01 15:41:58 -04:00
Joshua Boniface efc152b6a6 Ensure defaults are always set 2023-09-01 15:41:58 -04:00
Joshua Boniface b18f1d85d6 Up fatal reboot timeout 2023-09-01 15:41:58 -04:00
Joshua Boniface 0c0498d15f Add filesystem selection and add BIOS boot part 2023-09-01 15:41:58 -04:00
Joshua Boniface f9fa2440ea Allow pausing before failure reboot. 2023-09-01 15:41:58 -04:00
Joshua Boniface ccf3c63606 Add more robust removal of LVM on target
Should prevent strange failures to recreate LVM if a previous one
existed and no block zeroing is done.
2023-09-01 15:41:57 -04:00
Joshua Boniface b023596ef6 Add ACPI support to initial config 2023-09-01 15:41:57 -04:00
Joshua Boniface d90ef479ef Fix incorrect echo statement 2023-09-01 15:41:57 -04:00
Joshua Boniface b245e480b9 Add autoselected consoles to Grub config
Prevents having to pick a bunch, which can break if more than one serial
is present for example. Also automates this based on what the installer
has/detects as active.
2023-09-01 15:41:57 -04:00
Joshua Boniface 2d37a4dd34 Fix incorrect conditional for failures 2023-09-01 15:41:57 -04:00
Joshua Boniface 2622595344 Add workaround if keys fail to fetch 2023-09-01 15:41:57 -04:00
Joshua Boniface 795b8d0caf Add addpkglist to prompt options and use apt-get 2023-09-01 15:41:57 -04:00
Joshua Boniface 9939e1f42d Convert seed example to jinja2 and copy in
The pvcbootstrapd system will load this template and write it out for
each host. But keep the nice comments for human-readable use just in
case.
2023-09-01 15:41:57 -04:00
Joshua Boniface ee89c0f5ad Convert preseed to supplemental package list
Converts the option that the preseed file gives into a supplemental
package list by default to avoid accidentally overwriting required
packages.

Also add ipmitool to the supplemental packages list.
2023-09-01 15:41:57 -04:00
Joshua Boniface d4640df3ce Add additional consoles to initial GRUB 2023-09-01 15:41:57 -04:00
Joshua Boniface 2e7c2071b5 Remove extra sleep 2023-09-01 15:41:57 -04:00
Joshua Boniface f5773eb2d7 Remove respawn and promote skip_blockcheck
1. Remove the respawning and replace with a restart, since it never
worked properly. Also add a "DONE" flag to prevent repeated triggering
during cleanup.

2. Promote the skip_blockcheck to a requested configuration item and a
fully-featured key in the tftp preseed file.
2023-09-01 15:41:57 -04:00
Joshua Boniface 23834a2c61 Lower ethdevice-timeout to 300s
With the auto-reboot implemented waiting this long is not required.
2023-09-01 15:41:57 -04:00
Joshua Boniface 9af47557f1 Use more reliable grep method 2023-09-01 15:41:57 -04:00
Joshua Boniface 4a43285ae2 Add interactive shell too 2023-09-01 15:41:57 -04:00
Joshua Boniface 8b45bbabae Fix bad grep 2023-09-01 15:41:57 -04:00
Joshua Boniface fafe47b79b Fix panic spawning shell 2023-09-01 15:41:57 -04:00
Joshua Boniface 7026ad29d2 Fix missing test command 2023-09-01 15:41:57 -04:00
Joshua Boniface cb729afd85 Correct location of remove-root-pw.sh 2023-09-01 15:41:57 -04:00
Joshua Boniface e2072a4979 Fix typo in remove-root-pw script 2023-09-01 15:41:57 -04:00
Joshua Boniface d6c1c8f38a Improve TTY locking
Prefer serial consoles to TTYs, and present a timeout on graphical TTYs.
2023-09-01 15:41:57 -04:00
Joshua Boniface c8f1d853a0 Move to template format instead of cat-EOF
Simplifies the scripts and adds the ability to easily and cleanly change
the contents of these files without dealing with escape characters, etc.
2023-09-01 15:41:57 -04:00
Joshua Boniface cf42c366e0 Redirect output to stdout 2023-09-01 15:41:57 -04:00
Joshua Boniface e6aa738a7d Remove serial console from installer boot cmdline
Having two consoles causes problems, so just remove it.
2023-09-01 15:41:57 -04:00
Joshua Boniface afc125bf83 Output DD results 2023-09-01 15:41:57 -04:00
Joshua Boniface df9b6e4dc6 Bump ethdevice-timeout to 600s
It seems that this can time out if dnsmasq is already sending a TFTP
file. To prevent this just bump up the timeout to 10 minutes.
2023-09-01 15:41:57 -04:00
Joshua Boniface d8e08ac5ef Complete implementation of seed install
Some fixed decisions were made, namely that bond0 would be created by
the installer from "all other interfaces" to facilitate easy
provisioning.
2023-09-01 15:41:57 -04:00
Joshua Boniface 8de0b4541a Add collision detection 2023-09-01 15:41:57 -04:00
Joshua Boniface 8dd16310b7 Fix package lists for bullseye 2023-09-01 15:41:57 -04:00
Joshua Boniface eccba97db0 Improve log messages 2023-09-01 15:41:57 -04:00
Joshua Boniface de179d2b65 Fix bad variable name 2023-09-01 15:41:56 -04:00
Joshua Boniface 037d81fb9d Add dosfstools to package list 2023-09-01 15:41:56 -04:00
Joshua Boniface 65b96a3b1b Optimize install.sh
1. Fix borked logfile
2. Exclude systemd-timesyncd for bullseye installs
3. Optimize block zeroing
4. Add some missing yes| in lvcreate/mkfs
2023-09-01 15:41:56 -04:00
Joshua Boniface 3707202c5e Improve preseeding config 2023-09-01 15:41:56 -04:00
Joshua Boniface 924ee347d2 Finish up seed install 2023-09-01 15:41:56 -04:00
Joshua Boniface 0dcb39a2f5 Work on modular installer 2023-09-01 15:41:56 -04:00
Joshua Boniface b3d2580eeb Fix destination host dir 2023-09-01 15:41:56 -04:00
Joshua Boniface ae6bfb974c Fix tabs 2023-09-01 15:41:56 -04:00
Joshua Boniface 023463574c Improve logging and messages 2023-09-01 15:41:56 -04:00
Joshua Boniface 976f5e444a Fix bad option 2023-09-01 15:41:56 -04:00
Joshua Boniface 0dfedda8d9 Improve option handling errors
The getopts framework just sucks for this, so do it manually.
2023-09-01 15:41:56 -04:00
Joshua Boniface 818f6a636d Add buildpxe.sh framework
Adds a script to set up a PXE image directory for the PVC installer.
Provides an alternative to the ISO for automating deploys in a
controlled, PXE-based environment.
2023-09-01 15:41:56 -04:00
Joshua Boniface f635e7010c Replace old buildiso.sh with live-build script
The old script was cumbersome and complex. Replace it with a script that
leverages the Debian live-build (lb) framework to simplify the script
and configuration as well as minimize sprawl in the final image (~40MB
savings).
2023-09-01 15:41:56 -04:00
Joshua Boniface 246562cb65 Revamp header into date 2023-09-01 15:41:56 -04:00