Commit graph

1089 commits

Author SHA1 Message Date
Colin Percival
1dbcd9a15c vmimage.subr: Redirect etcupdate log to stdout
While we're here, send the etcupdate log from generating base.txz
to stdout instead of /dev/null (see e972e408d19a) as well.

Reviewed by:	emaste, gordon, jrtc27
MFC after:	1 week
Sponsored by:	Amazon
Differential Revision:	https://reviews.freebsd.org/D48719

(cherry picked from commit ace4637ee0c666c6f5a1c664f8956f7302234edd)
2025-02-05 20:14:21 -08:00
Colin Percival
9431091ee0 release: Don't break if firmware install fails
On some platforms (e.g. powerpc) we don't have packages, so we can't
install them onto the ISOs.  Proceed with building the images anyway.

Reported by:	Weekly snapshot builds
Fixes:	7e2996c1f5b4 ("release: install wireless firmware onto disc1 and dvd")
MFC after:	1 minute

(cherry picked from commit e8263ace39c8ecf11233c0a10d0b1839e6813046)
2024-11-20 22:13:44 -08:00
Bjoern A. Zeeb
b62012538e release: install wireless firmware onto disc1 and dvd
Wireless driver firmware is no longer added to the src tree.
In order to have wireless support in the installer for the new drivers
we install the firmware packages onto disc1 (and memstick) and dvd
if built on FreeBSD and NOPKG is not defined (to not break cross-builds
from Linux or OSX and to allow people to opt-out).

Sponsored by:	The FreeBSD Foundation
Submitted by:	cperciva (the orig. commands and where to place them)
Reviewed by:	jrtc27
Differential Revision: https://reviews.freebsd.org/D47407

(cherry picked from commit 7e2996c1f5b4e684cae40c2418b68061df9997d9)
2024-11-21 00:04:56 +00:00
Colin Percival
a8bdbdbdba release: Don't copy container images into /ftp/
These are installed into /ociimages/ and stage onto the download site
at /OCI-IMAGES/; they don't belong in the same directory as the
"distribution" .txz files.

Fixes:		d03c82c28da8 ("release: add optional OCI images")
MFC after:	1 minute
Sponsored by:	Amazon

(cherry picked from commit 976e1d36be688166e140cbaded01d433c61e6d47)
2024-11-15 13:52:15 -08:00
Colin Percival
012bb7fdaf release: Exclude container images from globs
We use a *.txz glob to get all of the "distributions" which comprise
the FreeBSD release, but we now (optionally) also build container
images which are .txz files.  Grep those out from the distribution
lists.

A better long-term fix would probably be to generate an explicit list
of the .txz files we want rather than using an overbroad glob and
filtering out the files we *don't* want.

Fixes:		d03c82c28da8 ("release: add optional OCI images")
MFC after:	1 minute
Sponsored by:	Amazon

(cherry picked from commit 47866cdcc7278faa27250dcea16374231c676050)
2024-11-14 14:40:07 -08:00
Doug Rabson
6686056ca3 release: add optional OCI images
This adds three OCI archive format files to the release containing
FreeBSD base images suitable for static linked, dynamic linked and shell
workloads. The shell image also contains pkg-bootstrap and can be easily
extended by installing packages (including pkgbase packages).

Reviewed by: dch, cpersiva, jlduran, zlei
Differential Revision: https://reviews.freebsd.org/D46759
MFC after: 2 days

(cherry picked from commit d03c82c28da86e0812b98b051d24ae5980804ad7)
2024-11-10 10:34:42 +00:00
Colin Percival
ce988aa3e8 release: Remove useless ls
Replace "$((ls *.txz))" with "*.txz"

Reported by:	jrtc27

(cherry picked from commit e166fea685da4ac6a6891f10b07f98d0e9fcfce3)
2024-11-06 14:46:28 -08:00
Colin Percival
ba7844e4c9 release: Include -dbg files in dvd image
In 2016, commit 8834318685 reworked the code for excluding -dbg
files from install media, and in the process accidentally broke it
for dvd images ('grep -v' should have been 'grep -vE').

FreeBSD Update builds later began to depend on this, and in any case
since DVD images are intended as "include everything" images there's
no point excluding those; so remove the (broken) filtering from DVD
image builds.

Sponsored by:	Amazon
MFC after:	2 days

(cherry picked from commit cdfd0600dc8882f0a0d0e6d9a1cdcf926edba6d6)
2024-11-06 14:46:28 -08:00
Gordon Tetlow
5a542a6055
release: Redirect etcupdate logfile to /dev/null.
Stop shipping a log file for etcupdate. This is a source of
non-reproducability as it uses mktemp thereby guaranteeing the output is
different each run.

Differential Revision:	https://reviews.freebsd.org/D46317

(cherry picked from commit e972e408d19a58c4f2855eface487d06ef73b799)
2024-08-31 09:17:55 -07:00
Colin Percival
4ef9a9d28a release: Publish non-uploaded cloudware bits
While most "cloudware" (AWS, Azure, GCP, Vagrant) images get uploaded
to their respective clouds, we have two images -- BASIC-CI and
BASIC-CLOUDINIT -- which are published via the FTP mirrors.  We have
been handling these using a manual and error-prone process of copying
them from the internal build directories into the FTP staging tree,
but they should be handled using the "make install ftp-stage"
mechanism which is used for all the other published images.

This commit 1. Adds a new 'make cloud-install' target which is run as
part of 'make install' and installs BASIC-CI and BASIC-CLOUDINIT images,
and 2. Extends 'make ftp-stage' in Makefile.mirrors to copy those bits
into the FTP staging area.

As a side benefit, this will also make BASIC-CI and BASIC-CLOUDINIT
images available for arm64; until now they have only been available
for amd64.

MFC after:	1 week

(cherry picked from commit 4771c2e9d1c7db949a82dfe4f2b9878bb358a50e)
2024-06-25 17:34:43 -07:00
Colin Percival
f1c7e9bc72 release: Build dvd image before staging pkgs
This missing dependency is only visible with -jN (which was otherwise
broken until recently) and only when building DVD images (which aren't
included in weekly snapshots and thereby slipped past testing).

MFC after:	3 days

(cherry picked from commit 567cbd8ff1c4edc1f2015ec4f93608aaf5a3c546)
2024-04-16 22:43:27 -07:00
Colin Percival
2c774c1bb4 release: Don't reuse disc1/bootonly directories
The disc1 and bootonly directories have files distributed into them
for use in "full" and "mini" images; the former are disc1.iso and
memstick.img, and the latter is bootonly.iso and mini-memstick.img.

Unfortunately the scripts which package a directory tree into an ISO
or memory stick image also modify the directory, for example to
create an appropriate /etc/fstab file; so creating two images at the
same time breaks.

Resolve this by copying disc1 to disc1-disc1 and disc1-memstick,
and copying bootonly to bootonly-bootonly and bootonly-memstick,
before using those directories for constructing the ISO+memstick
images.

MFC after:	1 week

(cherry picked from commit a1bff97300abe4b46528357e39c83da764df1fd8)
2024-04-16 22:43:26 -07:00
Colin Percival
b4435119ec release: distributekernel before packagekernel
With these as a single make command, `make -j` breaks when it tries to
package up a kernel which hasn't been distributed yet.

MFC after:	1 week

(cherry picked from commit 65c603ed65c700d6eacdf9e1e94dc42fd70fb0b7)
2024-04-16 22:43:26 -07:00
Colin Percival
a8659d8785 release: make -j compat: cd inside subshell
Place instances of "cd foo && bar" inside subshells for compatibility
with modern make(8) which uses a single shell for the duration of a
makefile target.

MFC after:	1 week

(cherry picked from commit 93e4813b9a157396ffbcf8456ca4f5c25599807d)
2024-04-16 22:43:26 -07:00
Ed Maste
87c576a25a release: rework distributions list
Components like base.txz and ports.txz are called distributions in the
installer, and with the introduction of pkgbase we will start dealing
with normal pkg packages in the installer.  Rename EXTRA_PACKAGES to
DISTRIBUTIONS, and move base.txz and kernel.txz to that list.

This introduces no functional change but is a small cleanup in advance
of some pkgbase experimentation.

Reviewed by:	cperciva
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D43544

(cherry picked from commit 2e9b8c8c1e3938335e17e63049887f8e8c6e11bc)
2024-04-01 19:49:25 -04:00
Glen Barber
29a16ce065 release: update stable/14 following branching from main
Approved by:	re (implicit)
Sponsored by:	GoFundMe https://www.gofundme.com/f/gjbbsd
Sponsored by:	PayPal https://paypal.me/gjbbsd
2023-08-24 19:07:33 -04:00
Warner Losh
d0b2dbfa0e Remove $FreeBSD$: one-line sh pattern
Remove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/
2023-08-16 11:55:03 -06:00
Jessica Clarke
32a79e8557 release: Fix make :@ modifier syntax
This spits out errors but seemingly isn't actually fatal, so was missed.

Fixes:	6853d893c7 ("release: Automatically generate MK_LIB${LIBCOMPAT} and lib${libcompat}-dbg lists")
2023-07-27 08:36:12 +01:00
Jessica Clarke
6853d893c7 release: Automatically generate MK_LIB${LIBCOMPAT} and lib${libcompat}-dbg lists
Reviewed by:	brooks, jhb
Differential Revision:	https://reviews.freebsd.org/D41184
2023-07-27 05:10:45 +01:00
Jessica Clarke
2a90c47af1 release: Set loader_menu_multi_user_prompt to "Installer" for installer
This makes it more obvious that the media being booted is an installer
rather than an installed system, which is otherwise hard to distinguish.
It also provides a more user-friendly, and more accurate, prompt.

Reviewed by:	gjb
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D36419
2022-09-02 20:30:50 +01:00
Jessica Clarke
f36b5d8a8c release: Include an etcupdate tree in -DNO_ROOT release image builds
This makes use of the new -N etcupdate flag and merges the resulting
METALOG into base.meta re-rooted to /var/db/etcupdate/current.

Reviewed by:	gjb
Obtained from:	CheriBSD
Differential Revision:	https://reviews.freebsd.org/D35858
2022-08-09 22:58:01 +01:00
Jessica Clarke
f377243996 release: Forward ${MAKE} to etcupdate via the new -m flag
This is in preparation for non-FreeBSD builds where make is GNU make and
so etcupdate needs to know the name of or path to the bmake binary to
use for its own builds.

Reviewed by:	gjb
Obtained from:	CheriBSD
Differential Revision:	https://reviews.freebsd.org/D35855
2022-08-09 22:57:01 +01:00
Jessica Clarke
e9ba25aabf release: Use in-tree etcupdate for build
This is in preparation for non-FreeBSD and -DNO_ROOT builds. On
non-FreeBSD there is no host etcupdate to use, and -DNO_ROOT will
require additional flags that may not be supported by the host's
etcupdate when building on FreeBSD. Moreover, there's no guarantee
anyway that the host's etcupdate is quite right for the current tree;
upgrading from source only requires that the host's is good enough for
-p which just manually copies master.passwd and group, the rest of the
upgrade is done post-installworld. For example, should a new set of
autogenerated files be added that etcupdate is taught about, the host
won't know about them and so the bootstrapped current tree will
incorrectly contain them, leading to spurious diffs on the installed
system.

Reviewed by:	gjb, delphij
Obtained from:	CheriBSD
Differential Revision:	https://reviews.freebsd.org/D35853
2022-08-09 22:52:47 +01:00
Jessica Clarke
fcf1208158 Makefile.inc1 release bsd.own.mk: Introduce and use TAR_CMD
Our uses of tar rely on BSDisms, and so do not work in environments
where GNU tar is the default tar. Providing a TAR_CMD variable like
some other commands allows it to be overridden to use bsdtar in such
cases.

Reviewed by:	brooks, delphij, gjb
Obtained from:	CheriBSD
Differential Revision:	https://reviews.freebsd.org/D35813
2022-07-15 23:04:34 +01:00
Jessica Clarke
13cb004130 release: Support -DNO_ROOT image building
This requires a bunch of METALOG mangling to include the files we inject
into the tree. The mkisoimages.sh and make-memstick.sh scripts are now
called with the current directory inside the tree so that the relative
paths in the METALOG match up with the current directory. The scripts do
not require this when not using a METALOG, but for simplicity we always
do so. The Makefile mangles the real METALOG created from the install,
as those files are shared across all uses of the tree, but the shell
scripts create a temporary copy of the METALOG that they mangle as their
tree modifications are specific to that image. We also need to pass -D
to makefs to turn any duplicate METALOG entry errors into warnings, as
we have many (harmless) instances of those.

Whilst dvd1.iso should work, the !NOPKG code will need more work to
support this.

All media will also lack mergemaster and etcupdate trees, since more
work is needed to add -DNO_ROOT modes to them. Users of install media
built this way will have to manually bootstrap them.

Reviewed by:	brooks, gjb
Differential Revision:	https://reviews.freebsd.org/D33999
2022-02-28 22:37:03 +00: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
Ed Maste
4bbfa3d3ba release: move installworld before installkernel
To support -DNO_ROOT work.  The top-level installworld target creates a
new METALOG starting with `#mtree 2.0` so it needs to be first, to avoid
overwriting installkernel METALOG entries.

Reviewed by:	gjb
MFC after:	1 month
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D29582
2021-04-05 13:16:01 -04:00
Glen Barber
f61e92ca5a release: permanently remove the 'reldoc' target and associates
Following 7b1d1a1658, the structure
for the reldoc target has significantly changed as result of the
ASCIIDoctor/Hugo migration.  As the release notes related files
on the installation medium are inherently out of date, purge them
entirely.

Discussed within:	re, doceng
No objection:		re (silence), doceng (silence)
Timeout:		2 weeks
MFC after:		1 week
MFC to:			stable/13, stable/12, and stable/11 only
Sponsored by:		Rubicon Communications, LLC ("Netgate")
2021-02-17 23:00:03 -05:00
Glen Barber
7b1d1a1658 release: disable the 'reldoc' target after the ASCIIDoctor switch
The 'reldoc' target includes release-related documentation on
installation medium.  Since the switch from XML to ASCIIDoctor,
the file locations have moved, and it will take some time to sort
out how this target should work now.

MFC after:	3 days
Sponsored by:	Rubicon Communications, LLC ("Netgate")
2021-02-05 11:47:15 -05:00
Mitchell Horne
3083b412e9 release: don't checksum images if there are none
For platforms that don't have any of the memstick, cdrom, or dvdrom
release images (i.e. riscv64), the release-install target will trip up
when invoking md5(1) on the non-existent image files. Skipping this
allows the install to complete successfully.
2020-12-08 00:48:50 +00:00
Glen Barber
29b282f31d Makefile.inc1:
- New file.  Adds logic to search for the git binary, as well
  as determining the branch and revision, used in various
  places.

Makefile:
- Remove searching for the svn{,lite} binary.

Makefile.ec2:
- Reduce duplicated code, removing searching for the svn{,lite}
  binary, in addition to EC2_SVN{BRANCH,REV}.
- Rename EC2_SVN* with GIT* for consistency.

Makefile.mirrors:
- Remove the SRCBRANCH declaration, replaced with the exported
  GITBRANCH variable.
- Update _SNAP_SUFFIX from SVNREVISION to GITREV, and remove
  the leading 'r' from it, since it will break git hashes.
- Remove yet another instance of duplicated code to search for
  the svn{,version}lite binary.

Sponsored by:	Rubicon Communications, LLC (netgate.com)
2020-07-16 20:34:26 +00:00
Ed Maste
13f7dbe822 retire amd(8)
autofs was introduced with FreeBSD 10.1 and is the supported method for
automounting filesystems.  As of r296194 the amd man page claimed that it
is deprecated.  Remove it from base now; the sysutils/am-utils port is
still available if necessary.

Discussed with:	cy
Relnotes:	Yes
Sponsored by:	The FreeBSD Foundation
2020-03-09 20:46:43 +00:00
Glen Barber
08f1325d3d Fix a typo.
MFC after:	3 days
Sponsored by:	Rubicon Communications, LLC (netgate.com)
2020-01-13 16:31:58 +00:00
Ed Maste
eacff37a61 Remove setting of long-unused MK_NCP option
NCP was removed from the tree in 2013 (r248097) and disconnected some
time before.

Reported by:	bz
Sponsored by:	The FreeBSD Foundation
2018-12-20 15:53:27 +00:00
Glen Barber
0434c14c14 Pass _BRANCH in the reldoc target to ensure the correct
src branch is used when generating the hardware.html page.

MFC after:	3 days
MFC before:	12.0-BETA3
MFC with:	r339873
Sponsored by:	The FreeBSD Foundation
2018-10-29 21:03:43 +00:00
Glen Barber
8c14a4095d Add debug.witness.trace=0 back to the installer sysctl.conf(5),
incorrectly removed from head when it should have been removed
from stable/12 post-branch.

Reported by:	bdrewery
Sponsored by:	The FreeBSD Foundation
2018-10-23 14:38:08 +00:00
Glen Barber
b958317950 - Update head to 13.0-CURRENT.
- Bump MACHINE_TRIPLE, TARGET_TRIPLE, FBSD_MAJOR, FBSD_CC_VER,
  FREEBSD_CC_VERSION, OS_VERSION.
- Update comment in UPDATING regarding debugging options.
- Remove debug.witness.trace=0 from installation media.
- Bump __FreeBSD_version.

Approved by:	re (implicit)
Sponsored by:	The FreeBSD Foundation
2018-10-19 00:37:47 +00:00
Kyle Evans
6e49372ee0 Disable kernels_autodetect on installation media
This feature is disabled on install media as these generally won't have any
interesting kernels to be listed other than the default kernel, so the
potential performance penalty in these situations likely isn't worth it.

Approved by:	re (kib)
2018-10-11 17:18:49 +00:00
Glen Barber
8046db8b49 Fix the hardware.{txt,html} build in the release/Makefile 'reldoc'
target.

The doc/share/mk/doc.commands.mk sets SVN to /usr/local/bin/svn
by default, which is not necessarily installed by the documentation
project textproc/docproj port.

Ensure SVN can be evaluated properly to include the hardware pages
by iterating through /usr/local/bin and /usr/bin and looking for
both svn and svnlite binaries, and pass the SVN variable explicitly
through env(1) in the reldoc target to avoid failures if it does not
exist.

Approved by:	re (rgrimes)
Sponsored by:	The FreeBSD Foundation
2018-10-04 01:46:56 +00:00
Roger Pau Monné
2502c66bbd build: skip the database check when generating install media
There are several scripts and targets solely used to generate install
media, make sure DB_FROM_SRC is used in that case in order to prevent
checking the host database, which is irrelevant when generating
install binaries.

Sponsored by:		Citrix Systems R&D
PR:			230459
Reviewed by:		gjb
Differential revision:	https://reviews.freebsd.org/D16638
2018-08-17 07:27:15 +00:00
Glen Barber
496a68519f Fix the reldoc target in release/Makefile following doc commit r51264.
Sponsored by:	The FreeBSD Foundation
2017-12-07 20:00:19 +00:00
Bryan Drewery
54a03abb68 Run mm-mtree with whatever -j value the build is using.
Reviewed by:	gjb
Sponsored by:	Dell EMC Isilon
Differential Revision:	https://reviews.freebsd.org/D12807
2017-10-31 00:03:29 +00:00
Glen Barber
7ea06b02c3 Fix the 'reldoc' target, following doc commit r51047.
Sponsored by:	The FreeBSD Foundation
2017-10-05 19:00:22 +00:00
Glen Barber
8f229143b1 Allow passing NOPKG= to make(1) to prevent the pkg-stage target
from getting executed.

MFC after:	3 days
Sponsored by:	The FreeBSD Foundation
2017-07-06 17:54:03 +00:00
Baptiste Daroussin
738919c039 Remove groff from base
All manpages in base are now compatible with mandoc(1), all roff documentation
will be relocated in the doc tree. man(1) can now use groff from the ports tree
if it needs.

Also remove checknr(1) and colcrt(1) which are only useful with groff.

Approved by:	(no objections on the mailing lists)
2017-06-07 23:00:34 +00:00
Glen Barber
fefd043963 Allow PORTSDIR to be overridden in the pkg-stage target.
Submitted by:	Johannes Jost Meixner (original)
PR:		218393
MFC after:	3 days
Sponsored by:	The FreeBSD Foundation
2017-05-22 14:21:45 +00:00
Glen Barber
13b0219ad7 Make sure we clean up the rdoc and reldoc directories if NODOC
is not set.

MFC after:	3 days
Sponsored by:	The FreeBSD Foundation
2016-07-18 15:50:54 +00:00
Nathan Whitehorn
4c0ef5db05 Reduce the set of things on the disc1 image to those on the bootonly image.
Notably, this removes the toolchain from the CD-ROM image (it remains on DVD
images) and pushes the CD-ROM image well below the 700 MB mark.

MFC after:	10 days
2016-07-13 02:07:36 +00:00
Glen Barber
32a4dda86d Remove vestigial cloudware-install bits missed in r300767.
Sponsored by:	The FreeBSD Foundation
2016-05-26 21:08:44 +00:00
Bryan Drewery
01d57ec066 Remove misspelled and redundant MK_INSTALLIB=no. 2016-04-13 20:43:02 +00:00