Commit Graph

7060 Commits

Author SHA1 Message Date
Glen Barber
f23e36d73c Add the cw-ec2-portinstall target to always install the
net/bsdec2-image-upload port.

MFC after:	3 days
Sponsored by:	The FreeBSD Foundation
2015-04-27 21:38:12 +00:00
Glen Barber
26e4122a80 Fix a comment.
MFC after:	3 days
Sponsored by:	The FreeBSD Foundation
2015-04-27 19:49:50 +00:00
Glen Barber
082a550bba Do not nest the BSD and MBR partitions, which produces
an unbootable image.  Use just an MBR scheme instead.

Sponsored by:	The FreeBSD Foundation
2015-04-27 18:07:11 +00:00
Glen Barber
62e0fc0426 Generate the arm64/aarch64 memstick image as MBR instead of
GPT.

Boot tested by:	andrew
Sponsored by:	The FreeBSD Foundation
2015-04-27 17:39:40 +00:00
Glen Barber
08a75d1f0e Create the arm64/aarch64 VM disk image as MBR instead of
GPT scheme.  UEFI needs to know the unique partition GUID
with GPT, which changes each time.  Specifically, the QEMU
EFI BIOS file has this hard-coded.[1]

Since the GPT labels are now unavailable, unconditionally
label the root filesystem as 'rootfs' with newfs(8), since
it does not hurt anything anywhere else.  For the arm64 case,
'/' is mounted from /dev/ufs/rootfs; for all other VM images,
'/' is mounted from /dev/gpt/rootfs.

Unfortunately, since the /dev/gpt/swapfs label is also lost,
set NOSWAP=1 for the arm64/aarch64 images.  This is temporary,
until I figure out a scalable solution to this.  But, a certain
piece of softare was written "very fast", and ended up living
for 15 years.  We can deal with this for a week or so.

Information from:	andrew, emaste [1]
Sponsored by:	The FreeBSD Foundation
2015-04-23 01:04:14 +00:00
Glen Barber
e19e678123 Remove the gptboot partition from the arm64 memory stick image,
which is not needed/used.

Sponsored by:	The FreeBSD Foundation
2015-04-22 13:52:29 +00:00
Glen Barber
bf93ac7884 Revert r281809, which did more harm than good, and apply
a more proper fix when attempting to locate the /boot
files.

Sponsored by:	The FreeBSD Foundation
2015-04-21 14:48:38 +00:00
Glen Barber
fa56961588 Simplify variable expansion in attempt to fix the vm-image build.
Sponsored by:	The FreeBSD Foundation
2015-04-21 02:49:44 +00:00
Glen Barber
6b1cf1b2c2 Merge the following from ^/projects/release-arm64 to allow
building FreeBSD/arm64 VM images and memstick.img installation
medium:
r281786, r281788, r281792:

 r281786:
  Add support for building arm64/aarch64 virtual machine images.

 r281788:
  Copy amd64/make-memstick.sh to arm64/make-memstick.sh for
  aarch64 memory stick images.

  Although arm64 does not yet have USB support, the memstick
  image should be bootable with certain virtualization tools,
  such as qemu.

 r281792:

  Add a buildenv_setup() prototype, intended to be overridden as
  needed.

  For example, the arm64/aarch64 build needs devel/aarch64-binutils,
  so buildenv_setup() in the release.conf for this architecture
  handles the installation of the port before buildworld/buildkernel.

Sponsored by:	The FreeBSD Foundation
2015-04-21 00:48:35 +00:00
Glen Barber
47a5593e1b Copy amd64/make-memstick.sh to arm64/make-memstick.sh for
aarch64 memory stick images.

Although arm64 does not yet have USB support, the memstick
image should be bootable with certain virtualization tools,
such as qemu.

Sponsored by:	The FreeBSD Foundation
2015-04-20 20:13:02 +00:00
Glen Barber
6a3afe6924 Add support for building arm64/aarch64 virtual machine images.
Sponsored by:	The FreeBSD Foundation
2015-04-20 20:06:25 +00:00
Glen Barber
4b8175ee8f 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.

MFC after:	3 days
Sponsored by:	The FreeBSD Foundation
2015-04-20 19:54:54 +00:00
Colin Percival
73d4ced07c Add code for creating an EC2 AMI. 2015-04-01 00:00:17 +00:00
Colin Percival
450a69e70c It would help if I committed the right patch... 2015-03-31 04:35:35 +00:00
Colin Percival
6e8e6c9951 Partially revert r278118 now that the required logic for deciding whether
freebsd-update can be useful has moved into the firstboot_freebsd_update
script.
2015-03-31 01:44:29 +00:00
Colin Percival
f65557efc4 Add bits for building EC2 disk images. Make logic for uploading these
to create EC2 AMIs will come in a later commit.
2015-03-31 01:28:33 +00:00
Glen Barber
e618222a18 Sigh. s/AutoSize/Growfs/ following upstream commit r761.
MFH:		3 days
Sponsored by:	The FreeBSD Foundation
2015-03-30 19:08:37 +00:00
Colin Percival
dcdebabdea Improve check for whether ${DESTDIR}/dev is mounted.
Submitted by:	gcooper
2015-03-30 09:08:24 +00:00
Colin Percival
963412283a 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 / ...`.

Reviewed by:	gjb
2015-03-30 08:33:19 +00:00
Glen Barber
6fb3faab63 Crochet sources moved to a new home; update accordingly.
MFC after:	3 days
Sponsored by:	The FreeBSD Foundation
2015-03-25 22:08:02 +00:00
Colin Percival
25c1155771 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.

Looks good to:	gjb
2015-03-20 19:40:19 +00:00
Glen Barber
70306bc375 Document r279663, qsort(3) enhancements.
Sponsored by:	The FreeBSD Foundation
2015-03-16 15:54:53 +00:00
Glen Barber
9f6b34fb0c Document r279571, freebsd-update(8) will not download updates when
a previous upgrade is not complete.
Add ScaleEngine Inc to sponsors.ent.

Sponsored by:	The FreeBSD Foundation
2015-03-16 15:54:50 +00:00
Glen Barber
5004b8647a Document r279463, iovctl(8) rc(8) script.
Add Sandvine Inc to sponsors.ent.

Sponsored by:	The FreeBSD Foundation
2015-03-16 15:54:47 +00:00
Glen Barber
5950cfe39b Document r279361, kern.osrelease and kern.osreldate sysctls are
now configurable jail(8) parameters.

Sponsored by:	The FreeBSD Foundation
2015-03-16 15:54:43 +00:00
Glen Barber
ac2456f1bd Document r279315, uefisign(8) addition.
Sponsored by:	The FreeBSD Foundation
2015-03-16 15:54:41 +00:00
Glen Barber
d658573212 Document r279252, pmap(9) overhaul for 64-bit PowerPC processors.
Sponsored by:	The FreeBSD Foundation
2015-03-16 15:54:38 +00:00
Glen Barber
bd847ded77 Document r279189, VSX support.
Sponsored by:	The FreeBSD Foundation
2015-03-16 15:54:35 +00:00
Glen Barber
3abb14e977 Document r279186, setmode(3) set errno on failure.
Sponsored by:	The FreeBSD Foundation
2015-03-16 15:54:32 +00:00
Glen Barber
881a1e7b53 Document r278970, acpi(4) update to 20150204.
Sponsored by:	The FreeBSD Foundation
2015-03-16 15:54:29 +00:00
Glen Barber
ff9b6b61e6 Properly evaluate XZ_CMD from the chroot.
Sponsored by:	The FreeBSD Foundation
2015-03-02 18:10:58 +00:00
Glen Barber
e37709dbab Use xz(1) to compress FreeBSD/arm images.
Sponsored by:	The FreeBSD Foundation
2015-03-02 18:04:57 +00:00
Glen Barber
dc1c45001a Add a CLOUDPACKAGE variable to contain a list of targets for
post-install packaging cloud provider images.

Add a 'gce-package.sh' script to generate the final output
image ready for upload to the GCE platform.  Right now, this
is the only image that has a specific output format (GNU-tar),
and this implementation is expected to be temporary.

This is not directly connected to the other release targets.

MFC after:	1 week
X-MFC-with:	r279249, r279250
Sponsored by:	The FreeBSD Foundation
2015-02-24 22:27:02 +00:00
Glen Barber
4e4c42d607 Remove a stale comment.
MFC after:	1 week
X-MFC-with:	r279249
Sponsored by:	The FreeBSD Foundation
2015-02-24 21:16:57 +00:00
Glen Barber
0e44fa6c1c Add 'cloudware-install' target to handle copying cloud
disk images to a directory within DESTDIR.

Add CLOUDINSTALL variable to automatically generate the
actual list of install targets.  While here, rename the
cloud-specific names from 'vm-' to 'cw-' to avoid naming
collisions.

Add AZURE_DISK, GCE_DISK, and OPENSTACK_DISK output file
variables.

Add 'cloudware-install' to the 'install' target.

MFC after:	1 week
Sponsored by:	The FreeBSD Foundation
2015-02-24 21:06:25 +00:00
Glen Barber
1db297199a Default XZ_THREADS=0, and add to RELEASE_RMAKEFLAGS
so it is passed to the 'release' make(1) target if
it needs to be adjusted to a non-zero integer.

Sponsored by:	The FreeBSD Foundation
2015-02-20 18:51:52 +00:00
Glen Barber
e813002e8e Fix wording in entry for r278934.
Submitted by:	markj
Sponsored by:	The FreeBSD Foundation
2015-02-20 18:42:00 +00:00
Glen Barber
a0d66e9e92 Document r275140, pmc callchain depths increased.
Sponsored by:	The FreeBSD Foundation
2015-02-20 18:06:11 +00:00
Glen Barber
dd0f25ada4 Fix a typo in r278037 entry: s/cam/ctl/
Submitted by:	mav
Sponsored by:	The FreeBSD Foundation
2015-02-20 17:56:27 +00:00
Glen Barber
74b73026fd Update the commented last revision.
Sponsored by:	The FreeBSD Foundation
2015-02-20 17:46:20 +00:00
Glen Barber
0112ff01e8 Document r278926, 'make release' now uses multi-threaded
xz(1).

Sponsored by:	The FreeBSD Foundation
2015-02-20 17:46:18 +00:00
Glen Barber
3f4dbd03fd Document r278433, xz(1) update to 5.2.0.
Separately document multi-threaded support to keep the
version update separate, so it remains correct if xz(1)
is updated again.

Sponsored by:	The FreeBSD Foundation
2015-02-20 17:46:15 +00:00
Glen Barber
fe6ce77dc0 Document r278354, ctld(8) update to control non-iSCSI CTL
ports

Sponsored by:	The FreeBSD Foundation
2015-02-20 17:46:12 +00:00
Glen Barber
742355ae61 Document r278320, devctl(3) and devctl(8) added.
Sponsored by:	The FreeBSD Foundation
2015-02-20 17:46:10 +00:00
Glen Barber
a2bc11a238 Add a 'General Storage' section.
Document r278037, CAM LUN mapping rewrite.

Sponsored by:	The FreeBSD Foundation
2015-02-20 17:46:07 +00:00
Glen Barber
6ba6ab0bd8 Document r278934, elf(3) dependency removed from dtri.o
Sponsored by:	The FreeBSD Foundation
2015-02-20 17:46:04 +00:00
Glen Barber
0bdad710c3 Document r277990, powerpc64 kernel now built as
a position-independent executable

Sponsored by:	The FreeBSD Foundation
2015-02-20 17:46:02 +00:00
Glen Barber
abaaa4bd06 Document r277904, '-s' option added to config(8).
Sponsored by:	The FreeBSD Foundation
2015-02-20 17:45:59 +00:00
Glen Barber
e28dd705df Document r277610, futimens(2) and utimensat(2) added.
Sponsored by:	The FreeBSD Foundation
2015-02-20 17:45:56 +00:00
Rui Paulo
bd9cab6fb4 release: use xz via pipe when compressing the tarballs.
libarchive(3) doesn't support the new liblzma API yet, but this change
allows us to enable multi-threaded xz compression.
``make release'' should now finish in half the time on a machine with
several cores and fast disks (our typical build server).

This behaviour only applies when building a release and it doesn't
affect buildworld/installworld.  To disable threaded xz compression,
set XZ_THREADS=1.

Reviewed by:	gjb
Tested by:	gjb
2015-02-17 23:13:45 +00:00