Commit Graph

1 Commits

Author SHA1 Message Date
Glen Barber
f3e8c4299d 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
2015-04-27 19:41:40 +00:00