Commit Graph

112 Commits

Author SHA1 Message Date
Mark Johnston
96bc40f4df release.7: Correct a variable name
MFC after:	1 week
2023-01-27 14:01:12 -05:00
Mark Johnston
89585511cc release: Add support for creating ZFS-based VM images
The change extends vmimage.subr to handle a new parameter, VMFS, which
should be equal to either "ufs" or "zfs".  When it is set to ZFS, we use
makefs to create a bootable pool populated using the same dataset layout
as bsdinstall and "poudriere image" use.  The pool can be grown using
the growfs rc.d script, just as in UFS images.

This will make it easy to provide VM and cloud images with ZFS as the
root filesystem.  So far I did not do extensive testing of cloud images;
I merely verified that creation of ZFS-based AWS AMIs works and allows
me to create amd64 and arm64 EC2 instances with ZFS as the root
filesystem.

Reviewed by:	emaste, gjb
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D34426
2022-10-28 17:00:24 -04:00
Mateusz Piotrowski
d3d6092795 release.7: Remove Subversion references
MFC after:	1 week
2022-07-21 20:25:58 +02:00
Mateusz Piotrowski
6542fd4b95 release.7: Update EMDEDDEDPORTS documentation
EMDEDDEDPORTS does not contain devel/subversion anymore.

Fixes:	a03128832c In extra_chroot_setup(), use 'uname -U' to determine OSVERSION.
MFC after:	1 week
2022-07-21 20:21:44 +02:00
Mark Johnston
745f30641c release.7: Drop obsolete notes about old versions of mkimg
MFC after:	1 week
Sponsored by:	The FreeBSD Foundation
2022-02-08 12:40:41 -05:00
Ceri Davies
c1a148873d sys/*/conf/*, docs: fix links to handbook
While here, fix all links to older en_US.ISO8859-1 documentation
in the src/ tree.

PR:             255026
Reported by:    Michael Büker <freebsd@michael-bueker.de>
Reviewed by:    dbaio
Approved by:    blackend (mentor), re (gjb)
MFC after:      10 days
Differential Revision: https://reviews.freebsd.org/D30265
2021-05-20 09:27:10 +01:00
Glen Barber
fa04db4762 release: fix VMSIZE following 1ca8842f3a
truncate(1) is not case-sensitive with regard to setting the size
of a file.  makefs(8), however, does not honor upper-case values.
Update release-specific files and the release(7) manual page to
reflect this.

MFC with:	1ca8842f3a
Submitted by:	ehem_freebsd_m5p.com (original)
Differential Review:	https://reviews.freebsd.org/D28979
Sponsored by:	Rubicon Communications, LLC ("Netgate")
2021-03-04 08:43:02 -05:00
Alan Somers
de415e663c release.7: describe the NOGIT option
It was added in 91ce469984 (svn r365638)

MFC after:	7 days
Sponsored by:	Axcient
Reviewed by:	gjb
Differential Revision:	https://reviews.freebsd.org/D29027
2021-03-02 19:39:57 -07:00
Daniel Ebdrup Jensen
ef1a1fc7e8 release(7) Fix mistake noted in review
I missed this when doing the final pass.

Fixes: f695e960 release(7): Remove stray references to DOC* variables
2021-02-23 19:11:54 +01:00
Daniel Ebdrup Jensen
f695e96067 release(7): Remove stray references to DOC* variables
We now live in the world of git, and release(7) should reflect that.

As of the commit referenced below, release images also no longer
include (stale) documentation, as the documentation has moved to
AsciiDoctor. This means that a few environment variables no longer
make sense, so remove them from their sections and mention them in
the compatibility section instead.

While here, also pet mandoc.

PR: 253615
MFC after: 3 days
MFC with: f61e92ca5a release: permanently remove the 'reldoc'
target and associates

Reviewed by:	gjb, lwhsu, yuripv
Differential Revision:	https://reviews.freebsd.org/D28881
2021-02-23 19:06:36 +01:00
Ed Maste
55c9a224e2 release.7: update for current context
It's no longer unusual to be able to build a release with a single
command, so drop "actually" that hints at a surprise.  Also just use
"network install directory" instead of referencing FTP; it's more
likely to be HTTP now.

Reviewed by:	gjb
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D26260
2020-09-01 15:30:40 +00:00
Glen Barber
2e67e6ffa3 Update release(7) to note OSRELEASE is only relevant when the
'install' target is invoked.

While here, bump the sample output version name, and explicitly
add the 'obj' target to avoid polluting the src checkout.

Submitted by:	Trond Endrestol
PR:		243287 (related)
MFC after:	3 days
Sponsored by:	Rubicon Communications, LLC (netgate.com)
2020-01-16 15:07:52 +00:00
Glen Barber
0e976a76ff Add an example for building SD card images for the RPI-B and
RPI3.

MFC after:	3 days
Suggested by:	Arshan Khanifar
Reviewed by:	Arshan Khanifar <arshan@freebsdfoundation.org>
Sponsored by:	The FreeBSD Foundation
2018-03-28 18:43:06 +00:00
Glen Barber
a8233b81c7 Update the Release Engineering article URL to the modern version.
MFC after:	3 days
Sponsored by:	The FreeBSD Foundation
2018-03-28 18:28:27 +00:00
Glen Barber
20772e472f Add a comment to release/release.conf.sample documenting
EMBEDDEDPORTS. [1]

Remove and update stale documentation from release(7) while here.

PR:		206344 [1]
MFC after:	3 days
Sponsored by:	The FreeBSD Foundation
2017-11-28 18:02:58 +00:00
Eitan Adler
a2aef24aa3 Update several more URLs
- Primarily http -> https
- Primarily FreeBSD project URLs
2017-10-29 08:17:03 +00:00
Enji Cooper
2f6a7e426e Update TARGET/TARGET_ARCH examples to use arm64/aarch64 instead of i386/pc98
pc98 support was removed in r312910
2017-01-28 23:58:17 +00:00
Mark Johnston
41ad38ef18 Fix a couple misspellings of "environment."
MFC after:	3 days
2015-12-07 22:00:13 +00:00
Brad Davis
59dad225f1 Remove a link to the now defunct "Release Engineering of Third Party Packages".
PR:		202803
Submitted by:	Tobias Kortkamp <tobias.kortkamp@gmail.com>
MFC after:	1 week
2015-11-21 00:35:40 +00:00
Christian Brueffer
548afe2bec Fix mandoc warnings/errors.
MFC after:	1 week
2015-08-12 11:56:19 +00:00
Glen Barber
a79d18b7d5 Fix XZ_THREADS description in release(7), which defaults to
'0', not kern.ncpu.

Sponsored by:	The FreeBSD Foundation
2015-02-20 18:49:49 +00:00
Glen Barber
7a07bd4607 Document XZ_THREADS in release(7).
Sponsored by:	The FreeBSD Foundation
2015-02-20 17:53:10 +00:00
Glen Barber
47176cacac Update release(7) to reflect renaming the 'system' target
to 'disc1'.

MFC after:	3 weeks
X-MFC-with:	r277458, r277536, r277606, r277609, r277836
Sponsored by:	The FreeBSD Foundation
2015-01-28 18:13:16 +00:00
Glen Barber
85311c29b0 Add 'list-vmtargets' target, which produces a list of
all supported VM and cloud provider images.

Add VHD_DESC, VMDK_DESC, QCOW2_DESC, RAW_DESC image
descriptions.

Format the output to make a bit more readable.

Update release(7) to document the list-vmtargets target.

Sponsored by:	The FreeBSD Foundation
2015-01-16 17:40:30 +00:00
Glen Barber
b513fff0b2 Update release(7):
- Add a "CLOUD HOSTING MACHINE IMAGES" section,
   documenting the CLOUDWARE and WITH_CLOUDWARE
   make(1) environment variables.

 - Document the vm-cloudware and list-cloudware
   targets.

 - Add release/Makefile.vm, release/tools/*.conf
   and release/tools/vmimage.subr to FILES.

Sponsored by:	The FreeBSD Foundation
2015-01-16 17:07:35 +00:00
Glen Barber
a8c229a55f Document the new 'vm-image' target, and associated release.conf
variables.

Sponsored by:	The FreeBSD Foundation
2014-10-02 16:00:50 +00:00
Baptiste Daroussin
a63d6c943d use .Mt to mark up email addresses consistently (part6)
PR:		191174
Submitted by:	Franco Fichtner <franco at lastsummer.de>
2014-06-23 08:27:27 +00:00
Glen Barber
3e64b4c52d Add SRC_UPDATE_SKIP, DOC_UPDATE_SKIP, and PORTS_UPDATE_SKIP
variables.  These are intended to allow bypassing the
'svn co /usr/{src,doc,ports}' step in the chroot when the
tree exists from external means.

The use case here is that /usr/src, /usr/doc, and /usr/ports
in the chroot exist as result of zfs dataset clones, so it
is possible (and happens quite often) that the included
distributions may not be consistent.  (This is not the case
for -RELEASE builds, but does happen for snapshot builds.)

Tested on:	stable/9@r264319
MFC After:	3 days
Sponsored by:	The FreeBSD Foundation
2014-04-11 13:48:45 +00:00
Glen Barber
55af5cf123 Use xz(1) instead of gzip(1) to compress release images
when WITH_COMPRESSED_IMAGES is used.

Requested by:	delphij, brooks, Nikolai Lifanov
MFC After:	1 week
X-MFC-With:	r264027,r264028,r264029,r264030
Sponsored by:	The FreeBSD Foundation
2014-04-02 16:53:07 +00:00
Glen Barber
cbc0e08a7b Add a new release build variable, WITH_COMPRESSED_IMAGES.
When set to a non-empty value, the installation medium is
compressed with gzip(1) as part of the 'install' target in
the release/ directory.

With gzip(1) compression, downloadable image are reduced in
size quite significantly.  Build test against head@263927
shows the following:

 bootonly.iso:		64% smaller
 disc1.iso:		44% smaller
 memstick.img:		47% smaller
 mini-memstick.img:	65% smaller
 dvd1.iso:		untested

This option is off by default, I would eventually like to
turn it on by default, and remove the '-k' flag to gzip(1)
so only compressed images are published on FTP.

Requested by:	wkoszek
MFC After:	1 week
Sponsored by:	The FreeBSD Foundation
2014-04-01 22:41:26 +00:00
Glen Barber
e0436612a9 Merge ^/projects/release-embedded into ^/head.
After several months of testing and fixing (and breaking)
various parts of release/release.sh changes, it is now
possible to build FreeBSD/arm images as part of the release
process.

When EMBEDDEDBUILD is set in the release.conf file, release.sh
will create the build environment, then run a separate script
in release/${XDEV}/release.sh [1].  Currently, only arm is
supported.

The release/${XDEV}/release.sh configures the build environment
specific for the target image, such as installing gcc(1),
installing additional third-party software from the ports tree,
and fetching external sources.

Once the build environment is set up, release/${XDEV}/release.sh
runs Crochet, written by Tim Kientzle, which builds the userland
and kernel, and creates an image that can be written to an SD
card with dd(1).  Many thanks to Tim for his work on Crochet.

Sample configurations for FreeBSD/arm boards are in the
release/arm/ directory, and Crochet configuration files for each
board are located in release/tools/arm/.  Supported boards at this
time are: BEAGLEBONE, PANDABOARD, RPI-B, and WANDBOARD-QUAD.

Adding support for additional boards will continue in the
projects/release-embedded/ branch, and incrementally merged back
to head/.

Many thanks to the FreeBSD Foundation for the support and
sponsorship of this project.

[1] XDEV is used in order to keep the various configurations
    organized by architecture, but since TARGET and TARGET_ARCH
    are used to build the chroot, the values of those variables
    cannot be used.

MFC after:	1 month
Sponsored by:	The FreeBSD Foundation
2014-03-05 23:17:53 +00:00
Glen Barber
9bb84a63b7 release.sh:
- Add a VCSCMD variable that defaults to 'svn checkout',
  and update places 'svn co' is used directly.
- After sourcing a configuration file, prefix SRCBRANCH,
  PORTBRANCH, and DOCBRANCH with the SVNROOT.
- Properly capitalize 'FreeBSD.org' in the default SVNROOT.
- Update Copyright.

release.conf.sample:
- Add an example to use git instead of svn, by nullifying
  SVNROOT, and setting SRCBRANCH, DOCBRANCH, and PORTBRANCH
  to the URL fo a git repository.

release.7:
- Document VCSCMD.

Submitted by:	Rick Miller (based on)
Sponsored by:	The FreeBSD Foundation
2014-02-25 22:13:48 +00:00
Glen Barber
f7f650c76a Turn off the dvdrom target by default. dvd1.iso is now built by
specifying 'WITH_DVD=1' during 'make release'.

This caused some problems during the freebsd-update builds for
10.0-BETA4.

MFC after:	3 days
Sponsored by:	The FreeBSD Foundation
2013-12-02 18:47:57 +00:00
Glen Barber
d7cfbadb1b Document the 'dvdrom' target.
MFC after:	3 days
X-MFC-With:	r258310
Sponsored by:	The FreeBSD Foundation
2013-11-18 18:45:27 +00:00
Glen Barber
16fb00c198 Update release(7) to include 'mini-memstick' after r257805.
MFC after:	1 week
X-MFC-After:	10.0-RELEASE
X-MFC-With:	r257805, r257806
Sponsored by:	The FreeBSD Foundation
2013-11-07 19:17:17 +00:00
Glen Barber
bda5988364 Remove the {SRC,DOC,PORT}REVISION variables from release(7), and
update the default {SRC,DOC,PORT}BRANCH defaults.

Submitted by:	nwhitehorn
X-MFC-With:	r254224, r254294
X-MFC-To:	stable/9, releng/9.2
2013-08-14 14:45:47 +00:00
Glen Barber
bc1af85cfe - Remove the defaults for TARGET/TARGET_ARCH.
- Note that WORLD_FLAGS and KERNEL_FLAGS set the number of
  make(1) jobs only on SMP-capable systems.

MFC after:	3 days
X-MFC-With:	r254224
X-MFC-To:	stable/9, releng/9.2
2013-08-13 20:22:57 +00:00
Glen Barber
ebe2785690 - Update the wrapper script to 'release.sh', as used by the FreeBSD
Release Engineering Team as of 9.2-RELEASE.

- Document that a cross-build release is possible by setting the
  TARGET and TARGET_ARCH variables.

- Include an example of using release.sh with and without the
  optional configuration file.

- Document the supported release.sh configuration file variables.

- Update the 'cdrom' target output file to disc1.iso.

- Update the 'memstick' target output file to memstick.img.

- Add attributions for the last major updates to this manual page.

- Fix some mdoc(7) style nits:
  - Sentences should begin on a new line
  - Use .Pq to enclose full lines in parenthesis
2013-08-11 18:57:27 +00:00
Hiroki Sato
de17cbcc7e - Add CHECKSUM.* support in Makefile[1].
- Use ln -fs to create a symlink.
- Remove pkgadd for docports.
- Use WITHOUT_JADETEX=yes instead of WITH_JADETEX=no.
- Add {WORLD,KERNEL}_FLAGS to [BTWK]MAKE.
- Use makefs(8) and gpart(8) for sparc64 ISO image[2].
- Add publisher option to makefs(8)[2].

Based on work by:	gjb[1]
Discussed with:		marius, nwhitehorn[2]
2013-02-03 10:26:24 +00:00
Glen Barber
af285c0936 Update svn port directory in release(7).
Submitted by:	Nikolai Lifanov
2013-01-31 20:15:43 +00:00
Glen Barber
0cd4fb9206 Update release(7) to reflect changes from r240586 and r240587:
- Remove cvs(1) references.
 - Remove CVS* environment references.
 - Add default entries for the default SVNROOT for the Ports
   Collection, and Documentation Project.
 - While here, update 'SGML-based documentation' to 'XML-based',
   since the recent SGML->XML conversion.
 - Update an example providing SVNROOT environment usage.

Reminded by:	nwhitehorn
MFC After:	1 week
X-MFC-With:	r240586, r240587
2012-09-17 02:45:52 +00:00
Glen Barber
82f39c10fe Fix an mdoc(7) formatting nit.
MFC after:	3 days
2012-05-30 01:52:01 +00:00
Glen Barber
67d785e9ef Typo and mdoc(7) style fixes.
PR:		167890
Submitted by:	Nobuyuki Koganemaru (kogane&jp!freebsd!org)
MFC after:	3 days
2012-05-20 16:09:40 +00:00
Eitan Adler
50d675f7a9 Remove trailing whitespace per mdoc lint warning
Disussed with:	gavin
No objection from:	doc
Approved by:	joel
MFC after:	3 days
2012-03-29 05:02:12 +00:00
Gleb Smirnoff
5af5af75aa No need to run buildworld before generate-release.sh. 2012-01-14 18:16:10 +00:00
Nathan Whitehorn
3aad2a9d15 Further automate production release generation by naming files the right
things and generating checksums.

MFC after:	1 week
2011-11-15 18:49:27 +00:00
Nathan Whitehorn
d408a341b2 It is generally considered useful for release media to have kernels on them.
Submitted by:	joel
2011-05-31 12:59:15 +00:00
Nathan Whitehorn
feacd98ee8 Update some terminology: floppies are no longer built, and FreeBSD is not
necessarily distributed by CVS any longer.
2011-04-12 12:57:46 +00:00
Nathan Whitehorn
8ef63d0dcd Don't do make release and make install in one step. Setting DESTDIR for
make release has deleterious consequences.
2011-04-11 15:03:01 +00:00
Nathan Whitehorn
299a8b95ac Add an install target to release/Makefile instead of grubbing around
(and requesting that users grub around) in /usr/obj. Also make sure that
make clean removes the bootonly media and clean up that target a little.
2011-04-11 14:30:45 +00:00