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