Compare commits

...

10 Commits

Author SHA1 Message Date
Joshua Boniface 133d6fe994 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.
2021-12-11 18:48:26 -05:00
Joshua Boniface c1be2d316b Add collision detection 2021-12-06 23:50:08 -05:00
Joshua Boniface 2b60ea27dd Fix package lists for bullseye 2021-12-06 23:12:13 -05:00
Joshua Boniface 318449d55b Improve log messages 2021-12-06 15:06:43 -05:00
Joshua Boniface 56d0f90baf Fix bad variable name 2021-12-06 14:56:32 -05:00
Joshua Boniface 152e176bd6 Add dosfstools to package list 2021-12-06 13:54:02 -05:00
Joshua Boniface 2927f9f6ca 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
2021-12-06 13:52:35 -05:00
Joshua Boniface 24758a765b Improve preseeding config 2021-12-06 02:49:33 -05:00
Joshua Boniface cafcfca9d0 Finish up seed install 2021-12-06 01:13:11 -05:00
Joshua Boniface f8e2eb7395 Work on modular installer 2021-12-06 01:12:44 -05:00
5 changed files with 664 additions and 327 deletions

View File

@ -63,7 +63,7 @@ while [ $# -gt 0 ]; do
esac
done
PACKAGE_LIST_MAIN="live-tools linux-image-amd64 mdadm lvm2 parted gdisk debootstrap grub-pc-bin grub-efi-amd64 sipcalc vim ca-certificates vlan"
PACKAGE_LIST_MAIN="live-tools live-boot live-boot-initramfs-tools linux-image-amd64 mdadm lvm2 parted gdisk dosfstools debootstrap grub-pc-bin grub-efi-amd64 sipcalc vim ca-certificates vlan tftp-hpa curl ipmitool"
PACKAGE_LIST_NONFREE="firmware-bnx2 firmware-bnx2x"
mkdir -p artifacts/lb

View File

@ -114,10 +114,6 @@ build_pxe() {
# Set global variables
set root-url tftp://\${next-server}
set host-url tftp://\${next-server}/host
# Load host/mac-*.ipxe if present (per-host host-args configuration)
chain --autofree \${host-url}/mac-\${mac:hexraw}.ipxe ||
set menu-default pvc-installer
set submenu-default pvc-installer
@ -125,11 +121,24 @@ set submenu-default pvc-installer
:pvc-installer
kernel \${root-url}/vmlinuz
initrd \${root-url}/initrd.img
imgargs vmlinuz console=tty0 console=ttyS0,115200n8 boot=live components timezone=America/Toronto fetch=\${root-url}/filesystem.squashfs username=root \${host-args}
imgargs vmlinuz console=tty0 console=ttyS0,115200n8 vga=normal nomodeset boot=live components ethdevice-timeout=60 timezone=America/Toronto fetch=\${root-url}/filesystem.squashfs username=root pvcinstall.preseed=on pvcinstall.seed_host=\${next-server} pvcinstall.seed_file=/host/mac-\${mac:hexraw}.preseed
boot
EOF
echo "done."
echo -n "Downloading iPXE binary undionly.kpxe (chainloads arbitrary PXE clients)... "
pushd ${outputdir} &>/dev/null
wget -O undionly.kpxe https://boot.ipxe.org/undionly.kpxe &>/dev/null || fail "failed to download undionly.kpxe."
popd &>/dev/null
echo "done."
echo -n "Downloading iPXE binary undionly.kpxe (chainloads UEFI clients)... "
pushd ${outputdir} &>/dev/null
wget -O ipxe.efi https://boot.ipxe.org/ipxe.efi &>/dev/null || fail "failed to download ipxe.efi."
popd &>/dev/null
echo "done."
sudo chown -R $(whoami) ${outputdir}
sudo chmod -R u+w ${outputdir}

35
install.seed.example Normal file
View File

@ -0,0 +1,35 @@
###
### General definitions
###
# The Debian release to use
debrelease="bullseye"
# The Debian mirror to use
debmirror="http://debian.mirror.rafal.ca/debian"
# Package list (installed during debootstrap)
debpkglist="lvm2,parted,gdisk,grub-pc,grub-efi-amd64,linux-image-amd64,sudo,vim,gpg,gpg-agent,aptitude,openssh-server,vlan,ifenslave,python2,python3,ca-certificates,ntp"
# Package list (installed in chroot)
suppkglist="firmware-linux,firmware-linux-nonfree,firmware-bnx2,firmware-bnx2x"
###
### Per-host definitions
###
# The hostname of the system (set per-run)
target_hostname="HOSTNAME"
# The target disk (either path or model to find; path overrides model if set)
target_disk_path="/dev/disk/by-path/pci-0000:01:00.0-scsi-0:2:0:0" # Example: Dell BOSS on R6515 via explicit path
target_disk_model="DELLBOSS VD" # Example: Dell BOSS on R6515 via model name
# SSH key method (usually tftp)
target_keys_method="tftp"
# SSH key path
target_keys_path="keys.txt"
# Deploy username
target_deploy_user="deploy"

File diff suppressed because it is too large Load Diff

0
pxelinux.0 Normal file
View File