Files
Mark Johnston 1d6b6ea2d0 release: Create /firstboot in common VM image creation code
Some services, such as growfs, only run upon the first boot of an image.
The first boot is indicated by the presence of the file /firstboot,
which is unlinked after boot.

Individual cloudware types shouldn't be responsible for creating it.  Do
so in a centralized place.  Aside from simplifying things, this ensures
that we create a metalog entry for the firstboot file.

Reviewed by:	cperciva, emaste
MFC after:	2 weeks
Sponsored by:	The FreeBSD Foundation
Sponsored by:	Klara, Inc.
Differential Revision:	https://reviews.freebsd.org/D52450
2025-09-11 13:05:31 +00:00

35 lines
656 B
Bash

#!/bin/sh
#
#
# Should be enough for base image, image can be resized in needed
export VMSIZE=5g
# Set to a list of third-party software to enable in rc.conf(5).
export VM_RC_LIST="sshd growfs nuageinit"
vm_extra_pre_umount() {
cat << EOF >> ${DESTDIR}/etc/rc.conf
dumpdev="AUTO"
ifconfig_DEFAULT="DHCP"
sshd_enable="YES"
EOF
cat << EOF >> ${DESTDIR}/boot/loader.conf
autoboot_delay="-1"
beastie_disable="YES"
loader_logo="none"
console="comconsole,vidconsole"
EOF
metalog_add_data ./boot/loader.conf
cat <<EOF >> ${DESTDIR}/etc/ssh/sshd_config
PermitRootLogin yes
PasswordAuthentication yes
PermitEmptyPasswords yes
UsePAM no
EOF
return 0
}