freebsd-dev/release/tools/azure.conf
Li-Wen Hsu fbece76095
Update Azure release bits
Imports the changes for building official images on Azure Marketplace,
which fulfill the requirements of Azure and FreeBSD cloud images like
disk layout and UEFI for Gen2 VM, along with some minor improvements like
configurations to speed up booting.

"CLOUDWARE" list will be updated after some more collaborations with re
completed.

Reviewed by:	re (gjb)
Sponsored by:	The FreeBSD Foundation
Technical assistance from:	Microsoft
Differential Revision:	https://reviews.freebsd.org/D23804
2021-10-02 04:59:10 +08:00

59 lines
1.6 KiB
Bash

#!/bin/sh
#
# $FreeBSD$
#
# Convention of Linux type VM on Azure is 30G
export VMSIZE=30g
# Set to a list of packages to install.
export VM_EXTRA_PACKAGES="azure-agent python python3 firstboot-freebsd-update firstboot-pkgs"
# Set to a list of third-party software to enable in rc.conf(5).
export VM_RC_LIST="ntpd sshd waagent firstboot_freebsd_update firstboot_pkgs"
# No swap space; waagent will allocate swap space on the resource disk.
# See ResourceDisk.EnableSwap and ResourceDisk.SwapSizeMB in waagent.conf
export NOSWAP=YES
# https://docs.microsoft.com/en-us/azure/marketplace/azure-vm-create-certification-faq#vm-images-must-have-1mb-free-space
export VM_BOOTPARTSOFFSET=1M
vm_extra_pre_umount() {
# The firstboot_pkgs rc.d script will download the repository
# catalogue and install or update pkg when the instance first
# launches, so these files would just be replaced anyway; removing
# them from the image allows it to boot faster.
mount -t devfs devfs ${DESTDIR}/dev
chroot ${DESTDIR} ${EMULATOR} env ASSUME_ALWAYS_YES=yes \
/usr/sbin/pkg delete -f -y pkg
umount ${DESTDIR}/dev
rm ${DESTDIR}/var/db/pkg/repo-*.sqlite
yes | chroot ${DESTDIR} ${EMULATOR} /usr/local/sbin/waagent -deprovision
cat << EOF >> ${DESTDIR}/etc/rc.conf
ifconfig_hn0="SYNCDHCP"
ntpd_sync_on_start="YES"
EOF
cat << EOF >> ${DESTDIR}/boot/loader.conf
autoboot_delay="-1"
beastie_disable="YES"
loader_logo="none"
hw.memtest.tests="0"
console="comconsole efi vidconsole"
comconsole_speed="115200"
boot_multicons="YES"
boot_serial="YES"
mlx4en_load="YES"
mlx5en_load="YES"
EOF
touch ${DESTDIR}/firstboot
rm -f ${DESTDIR}/etc/resolv.conf
return 0
}