xref: /freebsd/release/tools/azure.conf (revision 81b22a98)
1#!/bin/sh
2#
3# $FreeBSD$
4#
5
6# Convention of Linux type VM on Azure is 30G
7export VMSIZE=30g
8
9# Set to a list of packages to install.
10export VM_EXTRA_PACKAGES="azure-agent python python3 firstboot-freebsd-update firstboot-pkgs"
11
12# Set to a list of third-party software to enable in rc.conf(5).
13export VM_RC_LIST="ntpd sshd waagent firstboot_freebsd_update firstboot_pkgs"
14
15# No swap space; waagent will allocate swap space on the resource disk.
16# See ResourceDisk.EnableSwap and ResourceDisk.SwapSizeMB in waagent.conf
17export NOSWAP=YES
18
19# https://docs.microsoft.com/en-us/azure/marketplace/azure-vm-create-certification-faq#vm-images-must-have-1mb-free-space
20export VM_BOOTPARTSOFFSET=1M
21
22vm_extra_pre_umount() {
23	# The firstboot_pkgs rc.d script will download the repository
24	# catalogue and install or update pkg when the instance first
25	# launches, so these files would just be replaced anyway; removing
26	# them from the image allows it to boot faster.
27	mount -t devfs devfs ${DESTDIR}/dev
28	chroot ${DESTDIR} ${EMULATOR} env ASSUME_ALWAYS_YES=yes \
29		/usr/sbin/pkg delete -f -y pkg
30	umount ${DESTDIR}/dev
31	rm ${DESTDIR}/var/db/pkg/repo-*.sqlite
32
33	yes | chroot ${DESTDIR} ${EMULATOR} /usr/local/sbin/waagent -deprovision
34
35	cat << EOF >> ${DESTDIR}/etc/rc.conf
36ifconfig_hn0="SYNCDHCP"
37ntpd_sync_on_start="YES"
38EOF
39
40	cat << EOF >> ${DESTDIR}/boot/loader.conf
41autoboot_delay="-1"
42beastie_disable="YES"
43loader_logo="none"
44hw.memtest.tests="0"
45console="comconsole efi vidconsole"
46comconsole_speed="115200"
47boot_multicons="YES"
48boot_serial="YES"
49mlx4en_load="YES"
50mlx5en_load="YES"
51EOF
52
53	touch ${DESTDIR}/firstboot
54
55	rm -f ${DESTDIR}/etc/resolv.conf
56
57	return 0
58}
59