HomeFreeBSD

MFC r280299, r280840, r280846, r280879, r280881, r280884, r280928,

Description

MFC r280299, r280840, r280846, r280879, r280881, r280884, r280928,
r281783, r281809, r281832:

r280299 (cperciva):

When creating VM images, copy the contents of the created filesystem
into a new filesystem before packaging it into a disk image.  This
prevents "remnants" of deleted files from showing up in the VM images,
and reduces their compressed size (by about 10% for the cloudware
images) as a result.

r280840 (cperciva):

Clean up filesystem unmounting in vmimage builds:
- Remove vm_umount_base function which is currently unused.
- Add umount_loop function which loops attempting to unmount one
  filesystem.
- Replace calls to umount with calls to umount_loop.
- Don't attempt to unmount ${DESTDIR}/dev if it isn't mounted.

The looping is necessary because sometimes umount fails due to
filesystems being busy.  The most common cause of such busyness is
periodic(8) jobs running `find / ...`.

r280846 (cperciva):

Improve check for whether ${DESTDIR}/dev is mounted.

r280879 (cperciva):

Add bits for building EC2 disk images.

r280881 (cperciva):

Partially revert r278118 now that the required logic for deciding
whether freebsd-update can be useful has moved into the
firstboot_freebsd_update script.

r280884 (cperciva):

Fix pkg(8) command line in vm_extra_pre_umount().

r280928 (cperciva):

Add code for creating an EC2 AMI.

r281783:

When building VM disk images, vm_copy_base() uses tar(1) to copy
the userland from one md(4)-mounted filesystem to a clean filesystem
to prevent remnants of files that were added and removed from
resulting in an unclean filesystem.  When newfs(8) creates the first
filesystem with journaled soft-updates enabled, the /.sujournal file
in the new filesystem cannot be overwritten by the /.sujournal in the
original filesystem.

To avoid this particular error case, do not enable journaled
soft-updates when creating the md(4)-backed filesystems, and instead
use tunefs(8) to enable journaled soft-updates after the new
filesystem is populated in vm_copy_base().

While here, fix a long standing bug where the build environment /boot
files were used by mkimg(1) when creating the VM disk images by using
the files in .OBJDIR.

r281809:

Simplify variable expansion in attempt to fix the vm-image build.

r281832:

Fix locating the /boot files.

Sponsored by: The FreeBSD Foundation

Details

Provenance
gjbAuthored on
Parents
rS282110: Drop the default for performance_cx_lowest (ie, what to use when AC is…
Branches
Unknown
Tags
Unknown