git: bab6b01bcfea - main - release: Make azure cloudware images buildable as non-root
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 16 Sep 2025 20:50:51 UTC
The branch main has been updated by markj:
URL: https://cgit.FreeBSD.org/src/commit/?id=bab6b01bcfead662b8b10dc52a18beeb42794505
commit bab6b01bcfead662b8b10dc52a18beeb42794505
Author: Mark Johnston <markj@FreeBSD.org>
AuthorDate: 2025-09-16 16:53:13 +0000
Commit: Mark Johnston <markj@FreeBSD.org>
CommitDate: 2025-09-16 20:50:33 +0000
release: Make azure cloudware images buildable as non-root
- Don't chroot to uninstall pkg since we don't install pkg in the first
place.
- Use pw -R instead of chrooting.
- Add metalog entries.
Reviewed by: cperciva, emaste
MFC after: 3 days
Sponsored by: The FreeBSD Foundation
Sponsored by: Klara, Inc.
Differential Revision: https://reviews.freebsd.org/D52451
---
release/tools/azure.conf | 34 ++++++++++++++++++++--------------
1 file changed, 20 insertions(+), 14 deletions(-)
diff --git a/release/tools/azure.conf b/release/tools/azure.conf
index e13b63067fee..7975e1db0822 100644
--- a/release/tools/azure.conf
+++ b/release/tools/azure.conf
@@ -19,20 +19,25 @@ export NOSWAP=YES
export VM_BOOTPARTSOFFSET=1M
vm_extra_pre_umount() {
- mount -t devfs devfs ${DESTDIR}/dev
-
- # 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.
- chroot ${DESTDIR} ${EMULATOR} env ASSUME_ALWAYS_YES=yes \
- /usr/sbin/pkg delete -f -y pkg
- rm -r ${DESTDIR}/var/db/pkg/repos/FreeBSD-ports
- rm -r ${DESTDIR}/var/db/pkg/repos/FreeBSD-ports-kmods
-
- chroot ${DESTDIR} ${EMULATOR} pw usermod root -h -
-
- umount ${DESTDIR}/dev
+ # Remove the pkg package and repo databases as they will likely
+ # be out of date by the time the image is used. In unprivileged
+ # builds this is unnecessary as pkg will not be installed to
+ # begin with.
+ if [ -z "${NO_ROOT}" ]; then
+ mount -t devfs devfs ${DESTDIR}/dev
+
+ # 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.
+ chroot ${DESTDIR} ${EMULATOR} env ASSUME_ALWAYS_YES=yes \
+ /usr/sbin/pkg delete -f -y pkg
+ umount ${DESTDIR}/dev
+ rm -r ${DESTDIR}/var/db/pkg/repos/FreeBSD-ports
+ rm -r ${DESTDIR}/var/db/pkg/repos/FreeBSD-ports-kmods
+ fi
+
+ pw -R ${DESTDIR} usermod root -h -
cat << EOF >> ${DESTDIR}/etc/rc.conf
ifconfig_hn0="SYNCDHCP"
@@ -51,6 +56,7 @@ boot_serial="YES"
mlx4en_load="YES"
mlx5en_load="YES"
EOF
+ metalog_add_data ./boot/loader.conf
return 0
}