xref: /freebsd/release/tools/azure.conf (revision 078e8b34b13d6d0663661542eeac9007806fccdc)
13991f309SGlen Barber#!/bin/sh
23991f309SGlen Barber#
33991f309SGlen Barber#
43991f309SGlen Barber
5fbece760SLi-Wen Hsu# Convention of Linux type VM on Azure is 30G
6fbece760SLi-Wen Hsuexport VMSIZE=30g
7fbece760SLi-Wen Hsu
83991f309SGlen Barber# Set to a list of packages to install.
9fbece760SLi-Wen Hsuexport VM_EXTRA_PACKAGES="azure-agent python python3 firstboot-freebsd-update firstboot-pkgs"
103991f309SGlen Barber
113991f309SGlen Barber# Set to a list of third-party software to enable in rc.conf(5).
12fbece760SLi-Wen Hsuexport VM_RC_LIST="ntpd sshd waagent firstboot_freebsd_update firstboot_pkgs"
13fbece760SLi-Wen Hsu
14fbece760SLi-Wen Hsu# No swap space; waagent will allocate swap space on the resource disk.
15fbece760SLi-Wen Hsu# See ResourceDisk.EnableSwap and ResourceDisk.SwapSizeMB in waagent.conf
16fbece760SLi-Wen Hsuexport NOSWAP=YES
17fbece760SLi-Wen Hsu
18eb550615SLi-Wen Hsu# https://learn.microsoft.com/en-us/partner-center/marketplace/azure-vm-certification-faq#vm-images-must-have-1-mb-of-free-space
19fbece760SLi-Wen Hsuexport VM_BOOTPARTSOFFSET=1M
201e7c1f17SGlen Barber
211e7c1f17SGlen Barbervm_extra_pre_umount() {
22c711f3b4SLi-Wen Hsu	mount -t devfs devfs ${DESTDIR}/dev
23c711f3b4SLi-Wen Hsu
24fbece760SLi-Wen Hsu	# The firstboot_pkgs rc.d script will download the repository
25fbece760SLi-Wen Hsu	# catalogue and install or update pkg when the instance first
26fbece760SLi-Wen Hsu	# launches, so these files would just be replaced anyway; removing
27fbece760SLi-Wen Hsu	# them from the image allows it to boot faster.
28fbece760SLi-Wen Hsu	chroot ${DESTDIR} ${EMULATOR} env ASSUME_ALWAYS_YES=yes \
29fbece760SLi-Wen Hsu		/usr/sbin/pkg delete -f -y pkg
30*078e8b34SColin Percival	rm -r ${DESTDIR}/var/db/pkg/repos/FreeBSD
31fbece760SLi-Wen Hsu
32c711f3b4SLi-Wen Hsu	chroot ${DESTDIR} ${EMULATOR} pw usermod root -h -
33c711f3b4SLi-Wen Hsu
34c711f3b4SLi-Wen Hsu	umount ${DESTDIR}/dev
35fbece760SLi-Wen Hsu
36fbece760SLi-Wen Hsu	cat << EOF >> ${DESTDIR}/etc/rc.conf
37fbece760SLi-Wen Hsuifconfig_hn0="SYNCDHCP"
38fbece760SLi-Wen Hsuntpd_sync_on_start="YES"
39fbece760SLi-Wen HsuEOF
40fbece760SLi-Wen Hsu
41fbece760SLi-Wen Hsu	cat << EOF >> ${DESTDIR}/boot/loader.conf
42fbece760SLi-Wen Hsuautoboot_delay="-1"
43fbece760SLi-Wen Hsubeastie_disable="YES"
44fbece760SLi-Wen Hsuloader_logo="none"
45fbece760SLi-Wen Hsuhw.memtest.tests="0"
46fbece760SLi-Wen Hsuconsole="comconsole efi vidconsole"
47fbece760SLi-Wen Hsucomconsole_speed="115200"
48fbece760SLi-Wen Hsuboot_multicons="YES"
49fbece760SLi-Wen Hsuboot_serial="YES"
50fbece760SLi-Wen Hsumlx4en_load="YES"
51fbece760SLi-Wen Hsumlx5en_load="YES"
52fbece760SLi-Wen HsuEOF
53fbece760SLi-Wen Hsu
54fbece760SLi-Wen Hsu	touch ${DESTDIR}/firstboot
551e7c1f17SGlen Barber
561e7c1f17SGlen Barber	return 0
571e7c1f17SGlen Barber}
58