Commit Graph

7993 Commits

Author SHA1 Message Date
Colin Percival
b43d7aa09b EC2: Default to UEFI booting
This reduces the FreeBSD boot time by approximately 5 seconds,
roughly equally divided betwenn two factors:
* Disk I/O is faster in the EFI loader since it can perform larger
I/Os.  (The BIOS loader is limited due to the use of bounce buffers
in sub-1M memory.)
* The EFI console is much faster than the VGA console.

Note however that not all EC2 instance types support UEFI; as a
general rule the newer instances (based on Amazon's "Nitro" platform)
support UEFI but the older instances (based on Xen) do not.

X-MFC:	TBD based on tradeoff between performance and compatibility
Relnotes:	yes
Sponsored by:	https://www.patreon.com/cperciva
2021-09-16 12:23:19 -07:00
Colin Percival
0aa2a94ea6 EC2: Allow AMI boot mode to be specified
The default boot method for amd64 AMIs is BIOS, but at AMI creation
time a flag can be set to specify that UEFI should be used instead.
This commit adds a variable AMIBOOTMETHOD which, if set to "UEFI",
causes the appropriate flag to be set during AMI creation.

The only boot method supported by EC2 for arm64 is UEFI.

The names of AMIs are also amended to include the boot method; they
now look like "FreeBSD 14.0-CURRENT-amd64-20210915 UEFI".

MFC after:	1 week
Sponsored by:	https://www.patreon.com/cperciva
2021-09-16 12:23:19 -07:00
Emmanuel Vadot
b5be5c35db pkgbase: Create a FreeBSD-ftp package
ftp tools aren't that useful nowadays but some might want them.
Create a FreeBSD-ftp package so users have a choice to have
them or not.

Differential Revision:	https://reviews.freebsd.org/D31794
2021-09-07 10:25:23 +02:00
Emmanuel Vadot
db953e8b97 pkgbase: Create a FreeBSD-hyperv package
Put all hyperv utilities in it.

Differential Revision:	 https://reviews.freebsd.org/D31805
2021-09-07 10:24:54 +02:00
Emmanuel Vadot
d8d41d3b84 pkgbase: Remove libefivar package and add a efi-tools one
Put all the efi related tools into FreeBSD-efi-tools.

Differential Revision:	https://reviews.freebsd.org/D31803
2021-09-07 10:24:21 +02:00
Emmanuel Vadot
a30235a4c3 pkgbase: Create a FreeBSD-kerberos package
This allows users to install or not kerberos related utilities
and libs.

Differential Revision:	https://reviews.freebsd.org/D31801
2021-09-07 10:23:14 +02:00
Emmanuel Vadot
cab6a39d7b pkgbase: Create a FreeBSD-rdma package
Put all the rdma related tools into this package.

Differential Revision:	 https://reviews.freebsd.org/D31799
2021-09-07 10:22:16 +02:00
Emmanuel Vadot
88ba5e8955 pkgbase: Create a vt-data package
vt files for either keyboards and fonts are totally optional
so create a separate package for them.

Differential Revision:	     https://reviews.freebsd.org/D31797
2021-09-07 10:21:09 +02:00
Emmanuel Vadot
a3266ba269 pkgbase: Create a FreeBSD-dwatch package
While dwatch is useful some users might not want it by default.
Create a package for it.

Differential Revision:	https://reviews.freebsd.org/D31796
2021-09-07 10:20:40 +02:00
Emmanuel Vadot
80645e1ce5 pkgbase: Create a mlx-tools package
mlx* are only useful for users who have a Mellanox card.
Create a package for it so users that don't have this card can
avoid having this program.

Differential Revision:	https://reviews.freebsd.org/D31795
2021-09-07 10:20:16 +02:00
Emmanuel Vadot
b8876cac2d pkgbase: Create a cxgbe-tools package
cxgbetool is only useful for users who have a Chelsio card.
Create a package for it so users that don't have this card can
avoid having this program.

Differential Revision:	https://reviews.freebsd.org/D31793
2021-09-07 10:19:37 +02:00
Emmanuel Vadot
c7fd29f0f2 pkgbase: Create a FreeBSD-telnet package
both telnet and telnetd aren't that useful nowadays but some
might want them.
Create a FreeBSD-telnet package so users have a choice to have
them or not.

Differential Revision:	https://reviews.freebsd.org/D31791
Reviewed by: emaste
2021-09-07 10:18:11 +02:00
Emmanuel Vadot
d22072a7d5 pkgbase: Create a FreeBSD-ggate package
Move ggate* to it.

Differential Revision:	https://reviews.freebsd.org/D31790
2021-09-07 10:17:28 +02:00
Colin Percival
c5af0ac1a7 Add support for recording EC2 AMI Ids in SSM
If SSMPREFIX is specified, AMI Ids will be recorded in the SSM
Parameter Store under the name
  ${SSMPREFIX}/${ARCH}/${FLAVOUR}/${ROOTFS}/${REVISION}/${BRANCH}
where ARCH is "amd64" or "arm64", FLAVOUR is "base" (but may have
other options in the future), ROOTFS is "ufs" (but may have other
options in the future), and REVISION and BRANCH have their normal
meanings.

FreeBSD will be using the public prefix "/aws/service/freebsd",
resulting in SSM Parameter names which look like
  /aws/service/freebsd/amd64/base/ufs/14.0/CURRENT

Relnotes:	yes
Sponsored by:	https://patreon.com/cperciva
MFC after:	2 weeks
2021-08-26 18:01:02 -07:00
Brad Davis
83952a5baa release: allow VM_EXTRA_PACKAGES to be specified in the environment
This is useful for adding extra packages to the build of an AMI.
For example:
	env VM_EXTRA_PACKAGES="zsh" make -C release ec2ami

Approved by:	gjb
MFC after:	1 week
Sponsored by:	Rubicon Communications, LLC ("Netgate")
2021-08-09 10:31:51 -06:00
Brad Davis
be2bc82f18 release: fix copypasta
Approved by:	gjb
MFC after:	1 week
X-MFC-With:	fd17ea8c18
Sponsored by:	Rubicon Communications, LLC ("Netgate")
2021-08-09 10:23:18 -06:00
Brad Davis
fd17ea8c18 release: make pkg installs more robust
Currently pkg(8) will fail to install any package if one is missing, so
make this a loop to prevent one missing package from preventing the rest
from installing.  Seen building an AWS AMI for aarch64 on main and
ebsnvme-id is not available in the repo at the moment.

Approved by:	gjb
MFC after:	1 week
Sponsored by:	Rubicon Communications, LLC ("Netgate")
2021-08-09 09:54:08 -06:00
Emmanuel Vadot
735041a613 arm64: allwinner: Remove sun50i-a64-opp
This is unneeded now that the DTS have the opp.
MFC after:	1 week
Sponsored by:	Diablotin Systems
2021-07-24 17:59:35 +02:00
Jose Luis Duran
3f197b101f release: Remove C-like string comparison operator
Per [(1), i.e. test(1), the string comparison operator should be `=`,
not `==` in sh(1) scripts.

No functional change. FreeBSD's test accepts `==` as an alias for `=`
for compatibility with gnu test's `==` extension.

Reviewed by:	imp@, gjb@
Pull Request:	https://github.com/freebsd/freebsd-src/pull/485
2021-06-30 11:13:51 -06:00
Colin Percival
524260db76 EC2: Tell gptboot to skip its 3 second wait
Nobody is going to hit a key to tell gptboot to select another disk,
so there's no point waiting.
2021-06-21 15:37:15 -07:00
Emmanuel Vadot
081fb64492 pkgbase: Create a FreeBSD-nfs package
And move all the nfs related commands there.

Reviewed by:	emaste
Differential Revision:	https://reviews.freebsd.org/D30754
Sponsored by:	Diablotin Systems
2021-06-19 17:49:50 +02:00
Emmanuel Vadot
79ac3c12a7 pkgbase: Put dtrace in its own package
While dtrace is usefull some people might not want it.

Differential Revision:	https://reviews.freebsd.org/D30752
Sponsored by:	Diablotin Systems
2021-06-19 17:49:31 +02:00
Max Stucchi
1976e07954 Add bcm2710-rpi-cm3.dtb to the list of DTBs being added.
This allows to boot out of the box on the RPI COmpute Module 3 with 32G
of eMMC.

Tested by:		imp confirmed .dtb is in the rpi-firmware pkg
Reviewed by:		gjb@, imp@
Pull Request:		https://github.com/freebsd/freebsd-src/pull/452

Sponsored by:		Netflix
2021-06-02 11:28:01 -06: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
Emmanuel Vadot
ca179c4d74 pkgbase: Put openssl in its own package
This is useful for upgrade and also to make tiny jail so they won't
depend on FreeBSD-utilities (where openssl was packaged before).

MFC after:	1 month
Differential Revision:	https://reviews.freebsd.org/D30081
2021-05-13 17:42:29 +02:00
Glen Barber
c0dbc49ab3 release: fix ports checkout if /usr/ports does not exist
Reported by:	Yasuhiro Kimura
Sponsored by:	Rubicon Communications, LLC ("Netgate")
2021-05-12 12:08:59 -04:00
Glen Barber
69b6abb7b2 release: remove logic to locate the svn{,lite} binary
Sponsored by:	Rubicon Communications, LLC ("Netgate")
2021-05-12 10:32:03 -04:00
Glen Barber
fb6e261c20 release: follow-up to previous commit to use Git for the ports tree
MFC after:	immediately (pending re approval)
Sponsored by:	Rubicon Communications, LLC ("Netgate")
2021-05-12 10:29:53 -04:00
Glen Barber
3f25cfea55 release: update release.sh to use Git for ports tree checkouts
MFC after:	immediately (pending re approval)
Sponsored by:	Rubicon Communications, LLC ("Netgate")
2021-05-12 10:27:21 -04:00
Mitchell Horne
ac099daf67 arm: add a release conf for distribution files
We do not currently generate armv7 distribution sets, because we don't
build any installer images. However, having such sets available can be
useful for quickly installing a base system, particularly in the case
of creating an armv7 poudriere jail on arm64.

Add a configuration file for the generation of these distribution sets.

Reviewed by:	manu, imp, gjb
MFC after:	3 weeks
Relnotes:	yes
Differential Revision:	https://reviews.freebsd.org/D29923
2021-04-29 10:10:08 -03:00
Mark Johnston
09d83a060f pkgbase: Remove package name mangling in generate-ucl.sh
The mangling was present in the initial revision of the script, but its
purpose is not clear.  It may have been to avoid defining make(1)
variables with a dash in the name, but this is permitted.  Furthermore,
it results in invalid dependency information if a dependency's name
contains an underscore, causing e.g., libcompiler_rt-dev to depend on
libcompiler-rt, and resulting in warnings when installing base system
packages.  Remove the mangling.

Reviewed by:	manu
MFC after:	2 months
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D29883
2021-04-26 15:16:04 -04: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
Mina Igalic
1c1ff79795 pkgbase: make only vital packages vital, not their sub-packages
make "vital" a replaceable, which defaults to "false" and only set it for
the main clib, utilities and runtime packages, not their sub-packages

PR: 254174
Differential Revision:	https://reviews.freebsd.org/D29224
2021-03-28 12:18:09 +02:00
Emmanuel Vadot
90d2f7c413 release: amd64: Fix ISO/USB hybrid image
Recent mkimg changes forces to have partitions given in explicit order.
This is so we can have the first partition starting at a specific offset
and the next ones starting after without having to specify an offset.
Switch the partition in the mkisoimage.sh script so the first one created
is the isoboot one.

PR:    254490
Reported by:	Michael Dexter <editor@callfortesting.org
Tested by:	Vincent Milum Jr <freebsd@darkain.com>
MFC after:	Right now
2021-03-27 12:04:51 +01:00
Glen Barber
e5c6913a8d release: sync 'git count' logic with newvers.sh
Sync determining the git count with newvers.sh by adding the
--first-parent argument.  This ensures uname(1) reflects the
file name for snapshots.

Reported by:	Mark Millard
MFC after:	3 days
Sponsored by:	Rubicon Communications, LLC ("Netgate")
2021-03-17 10:57:32 -04:00
Daniel Engerg
5bffdafd6c Remove tmpfs size and properly format generated fstab for arm
Remove tmpfs size limitation, this breaks make installworld and installation of some packages
Format generated fstab using tabs to make it consistent and readable

MFC after:	1 week
Differential Revision: https://reviews.freebsd.org/D29283
2021-03-17 15:02:05 +01:00
Glen Barber
0af8a2db34 release: do not set __MAKE_CONF and SRCCONF for the chroot build
PR:		254319
Submitted by:	truckman
MFC after:	1 week
Sponsored by:	Rubicon Communications, LLC ("Netgate")
2021-03-16 12:01:48 -04:00
Emmanuel Vadot
c7e6cb9e08 pkgbase: Add an src.conf option for splitting man pages
Man pages can be big in total, add an options to split man pages
in -man packages so we produce smaller packages.
This is useful for small jails or mfsroot produced of pkgbase.
The option is off by default.

Reviewed by:	bapt, Mina Galić <me@igalic.co>
Differential Revision:	https://reviews.freebsd.org/D29169
MFC after:      2 weeks
2021-03-16 07:13:09 +01:00
Emmanuel Vadot
c76439da01 pkgbase: Remove case for runtime and jail package ucl generation
They aren't needed and produce wrong package comments :
We use to have "runtime-dev package" instead of
"FreeBSD Base System (Development Files)" for example

Reviewed by:	bapt
Differential Revision:	https://reviews.freebsd.org/D29168
MFC after:      2 weeks
2021-03-16 07:12:56 +01:00
Brad Davis
81c6dfbf56 release: Move the vagrant.vmx config out to its own file to match vbox
Silly to have all these echos and makes this easier to use in other tooling.

Reviewed by:	gjb (re)
2021-03-12 09:44:42 -07:00
Glen Barber
63749bfe96 release: sprinkle UNAME_r hacks following c883b6fd8c
Pass UNAME_r override to make(1) for ports builds when building
ports for another branch.

MFC after:	3 days
MFC with:	0be274d373, 80ab50e1de, c883b6fd8c
Sponsored by:	Rubicon Communications, LLC ("Netgate")
2021-03-04 09:25:18 -05: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
Nathan Whitehorn
2c26d77d98 Remove /boot/efi from mtree, missed in 0b7472b3d8.
This had prevented the bootconfig step from determining if an ESP exists,
resulting in its unconditional setup. On BIOS-booted amd64, this wasn't
harmful, just unnecessary, but it resulted in failed installations on
non-EFI-supporting platforms like powerpc64.

MFC after:	3 days
2021-03-02 11:49:41 -05:00
Glen Barber
c883b6fd8c Include Makefile.inc1 in Makefile.vm, missed in previous change
MFC after:	3 days
MFC with:	80ab50e1de, 0be274d373
Sponsored by:	Rubicon Communications, LLC ("Netgate")
2021-03-02 10:19:59 -05:00
Glen Barber
0be274d373 Adjust where UNAME_r is defined for ports builds
In followup to 80ab50e1de,
export UNAME_r in Makefile.inc1 instead of Makefile.vm.

MFC after:	3 days
MFC with:	80ab50e1de
Sponsored by:	Rubicon Communications, LLC ("Netgate")
2021-03-02 10:11:04 -05:00
Nathan Whitehorn
1ca8842f3a Use makefs(8) in release VM-image generation instead of md(4) and newfs.
Using makefs instead reduces the privileges needed to build VM images,
simplifies the script (no need to copy files to a fresh image at the end),
and improves portability by allowing generation of cross-endian images.
As a result of the last, this patch also adds support for generation of
powerpc64 and powerpc64le VM images.

No other changes to the output. Tested and working for both amd64 and
powerpc64 targets.

Reviewed by:	gjb
Differential Revision:	https://reviews.freebsd.org/D28912
2021-02-24 21:16:56 -05:00
Nathan Whitehorn
e70eb40271 Mount the ESP on /boot/efi in VM images.
This follows an earlier change (0b7472b3d8) for mounting the ESP from
systems set up through the installer and should be MFC'ed with it.
2021-02-24 08:18:07 -05:00
Nathan Whitehorn
1af48800c2 Delete memstick images for PowerPC.
These images only ever worked on Apple Powermacs, which are now a very
old platform, and did so only for a very loose definition of "worked"
(they booted on a small subset of supported machines). Moreover, all
the machines they *did* boot on also would boot from a memstick made
by dd'ing an CD image to a flash drive. Since a flash drive prepared
in this way would also boot all the newer systems we support, the
memstick images were strictly less functional than the CD images, even
for booting from memory sticks.
Reviewed by:	jhibbits
MFC after:	1 week
2021-02-23 22:17:20 -05:00
Glen Barber
80ab50e1de pass UNAME_r to fix building 14.x ports on 13.x
MFC after:	1 week
Sponsored by:	Rubicon Communications, LLC ("Netgate")
2021-02-18 18:53:20 -05: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