Attempting to use installerconfig for FreeBSD 15
This commit is contained in:
@@ -14,57 +14,12 @@ source "proxmox-iso" "freebsd-15" {
|
||||
vm_id = "210"
|
||||
boot_wait = "5s"
|
||||
boot_key_interval = "200ms"
|
||||
boot_command = ["<enter>",
|
||||
"<wait10s>", # wait for boot to finish
|
||||
"<enter><wait1s>", # begin installation
|
||||
"<enter><wait1s>", # keymap
|
||||
"freebsd<enter><wait1s>", # hostname
|
||||
"<enter><wait1s>",
|
||||
"<enter><wait1s>",
|
||||
"<enter><wait1s>",
|
||||
"<enter><wait15s>", # wait for network to come up
|
||||
"<enter><wait3s>", # wait for disk detection
|
||||
"<enter><wait1s>",
|
||||
"<enter><wait1s>",
|
||||
" <wait1s><enter><wait1s>", # select disk
|
||||
"<left><enter><wait5s>", # confirm disk destroy
|
||||
"<enter><wait120s>", # install base system
|
||||
"packer<tab>packer<enter><wait3s>", # root password
|
||||
"<down><down><enter><wait1s>", # timezone region
|
||||
"95<up><enter><wait10s>", # timezone selection
|
||||
"<enter><wait10s>",
|
||||
"<enter><wait10s>",
|
||||
"<enter><wait10s>",
|
||||
"<enter><wait10s>",
|
||||
"<down><down><down> <enter><wait1s>",
|
||||
"<down><down><down><down><down><down><down><down> <enter><wait1s>",
|
||||
"<enter><wait2s>",
|
||||
"<enter><wait1s>",
|
||||
"xadmin<enter>", # break-glass username
|
||||
"Remote admin user<enter>", # break-glass name
|
||||
"<enter>",
|
||||
"<enter>",
|
||||
"wheel<enter>", # break-glass group (wheel
|
||||
"<enter>",
|
||||
"<enter>",
|
||||
"<enter>",
|
||||
"<enter>",
|
||||
"<enter>",
|
||||
"<enter>",
|
||||
"<enter>",
|
||||
"<enter>",
|
||||
"packer<enter>", # break-glass password
|
||||
"packer<enter>", # break-glass password confirm
|
||||
"<enter>",
|
||||
"<enter>",
|
||||
"<enter><wait1s>",
|
||||
"<enter><wait1s>",
|
||||
"<left><enter><wait1s>", # open post-install shell
|
||||
"pkg install -y qemu-guest-agent sudo<enter><wait30s>", # install qemu-guest-agent package for Proxmox
|
||||
"echo 'xadmin ALL=(ALL:ALL) NOPASSWD:ALL' > /usr/local/etc/sudoers.d/xadmin<enter><wait1s>", # allow xadmin to sudo
|
||||
"sysrc qemu_guest_agent_enable=YES<enter><wait1s>", # enable QEMU guest agent
|
||||
"exit<enter><wait1s>", # exit shell
|
||||
"<enter>" # reboot
|
||||
boot_command = ["2<wait10s>", # boot to single-user mode
|
||||
"/bin/sh<enter><wait2s>", # open a shell
|
||||
"mdmfs -s 100m md /tmp<enter><wait2s>", # mount a writable /tmp memory disk
|
||||
"dhclient vtnet0<enter><wait5>", # bring up network (adjust interface: em0, vtnet0, etc.)
|
||||
"fetch -o /tmp/installerconfig http://{{ .HTTPIP }}:{{ .HTTPPort }}/freebsd-15-installerconfig<enter><wait5s>", # grab the installerconfig
|
||||
"bsdinstall script /tmp/installerconfig<enter>" # execute bsdinstall with fetched config
|
||||
]
|
||||
|
||||
os = "other"
|
||||
|
||||
@@ -0,0 +1,56 @@
|
||||
# ==============================================================================
|
||||
# FreeBSD bsdinstall Scripting Configuration
|
||||
# ==============================================================================
|
||||
|
||||
# 1. System & Partitioning Defaults
|
||||
KEYMAP="us.kbd"
|
||||
HOSTNAME="freebsd"
|
||||
DISTRIBUTIONS="kernel.txz base.txz"
|
||||
|
||||
# Guided ZFS Installation Parameters
|
||||
# Note: Adjust 'da0' below if your hypervisor uses vtbd0 or ada0!
|
||||
ZFSBOOT_DISKS="da0"
|
||||
ZFSBOOT_VDEV_TYPE="stripe"
|
||||
ZFSBOOT_CONFIRM_POOL_CREATE="YES"
|
||||
|
||||
# Timezone Configuration (US/Eastern)
|
||||
TIMEZONE="America/New_York"
|
||||
|
||||
# Enabling Services (local_unbound, sshd, etc.)
|
||||
# Maps to your service choices during setup
|
||||
bsdinstall_services="sshd local_unbound"
|
||||
|
||||
|
||||
# ==============================================================================
|
||||
# Post-Installation Shell Script (Runs automatically in chroot)
|
||||
# ==============================================================================
|
||||
#!/bin/sh
|
||||
|
||||
# Network configuration for the installed system
|
||||
echo 'ifconfig_DEFAULT="DHCP"' >> /etc/rc.conf
|
||||
|
||||
# Set Root Password ('packer')
|
||||
echo "packer" | pw usermod root -h 0
|
||||
|
||||
# Create 'xadmin' user in 'wheel' group with password 'packer'
|
||||
echo "packer" | pw useradd xadmin \
|
||||
-c "Remote admin user" \
|
||||
-g wheel \
|
||||
-m \
|
||||
-s /bin/sh \
|
||||
-h 0
|
||||
|
||||
# Install Packages (qemu-guest-agent, sudo)
|
||||
# ASSUMPTION: The system has internet access during post-install
|
||||
env ASSUME_ALWAYS_YES=YES pkg install -y qemu-guest-agent sudo
|
||||
|
||||
# Sudoers configuration for xadmin
|
||||
mkdir -p /usr/local/etc/sudoers.d
|
||||
echo 'xadmin ALL=(ALL:ALL) NOPASSWD:ALL' > /usr/local/etc/sudoers.d/xadmin
|
||||
chmod 0440 /usr/local/etc/sudoers.d/xadmin
|
||||
|
||||
# Enable QEMU Guest Agent service
|
||||
sysrc qemu_guest_agent_enable="YES"
|
||||
|
||||
# Finalize and reboot system
|
||||
reboot
|
||||
Reference in New Issue
Block a user