Commit graph

8182 commits

Author SHA1 Message Date
Graham Perrin 5ff76402da pkg-stage.sh: add x11/sddm
MFC After: 2 days
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/996
2024-02-02 18:34:59 -07:00
Emmanuel Vadot 9bbe06b004 Revert "pkgbase: Create a FreeBSD-dtb package"
Somehow this doesn't work iwth make packages due to some kind of a race.
The package is first created correctly but later in the process it is
overwritten by a badly created empty package.
Revert in the mean time so we can have working pkgbase on arm/arm64

This reverts commit a5afd7920d.
2024-02-02 11:39:51 +01:00
Emmanuel Vadot a5afd7920d pkgbase: Create a FreeBSD-dtb package
Before that dtbs where included in each kernel packages which prevents
us to install multiple kernels.

Differential Revision:	https://reviews.freebsd.org/D43632
Reviewed by:	bapt
Sponsored by:	Beckhoff Automation GmbH & Co. KG
2024-01-29 19:24:25 +01:00
Colin Percival 7b707e797b Revert "release.sh: Add -jN to make release"
The release-building code is not fully parallel-safe yet.

This reverts commit 9c1bad2da5.

Reported by:	jrtc27
2024-01-28 21:43:56 -08:00
Colin Percival 9c1bad2da5 release.sh: Add -jN to make release
The `make release` command now creates VM and cloudware images (if
enabled) in addition to disk images; this results in a very large
number of 'make installworld' commands running sequentially.  Adding
-jN should speed this up significantly.

MFC after:	1 month
X-MFC-to:	stable/14
2024-01-28 18:08:23 -08:00
Xin LI 72dd306e44 releng-gce: Advertise the availability of UEFI support in GCE images.
The amd64 and arm64 images supported UEFI, mark it as so users can take
advantage of UEFI boot on GCE.  This is already done on FreeBSD
14.0-RELEASE but never codified into the release tools (and should).

PR:		conf/276532
Reviewed by:	lwhsu
MFC after:	3 days
Differential Revision: https://reviews.freebsd.org/D43557
2024-01-26 19:09:39 -08:00
Ed Maste 2e9b8c8c1e 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
2024-01-24 09:13:51 -05:00
Mike Karels 6137b5f7b8 Increase the size of riscv GENERICSD images to 6 GB
The stable/13 snapshot this week failed to build the riscv GENERICSD
image because it ran out of space.  Checking main and stable/14
snapshots, they are also low on space, around 100% or more of
capacity.  Increase them all from 5 GB to 6 GB.  Note, this is the
only riscv image configuration.

Discussed with:	cperciva
2024-01-15 07:28:53 -06:00
Xin LI e872a4013f releng-gce: Advertise the availability of gVNIC support in GCE images.
This marks FreeBSD GCE images as gVNIC capable by adding the
--guest-os-features=GVNIC flag at creation time as suggested in GCE
documentation[1].  This allows Generation 3 and newer GCE instances
to leverage advanced networking capabilities and performance
enhancements provided by gVNIC.  Users will benefit from these
improvements without needing to create custom images.

[1] https://cloud.google.com/compute/docs/networking/using-gvnic#create_a_vm_with_gvnic_support

Reviewed by:	cperciva
MFC after:	3 days
Differential Revision: https://reviews.freebsd.org/D43411
2024-01-11 21:38:04 -08:00
Mike Karels 4347ef6050 arm64/RPI: enable powerd by default on arm64-aarch64-RPI images
Most 64-bit Raspberry Pi models have a variable processor clock
speed that defaults to a slow speed (e.g. 600 MHz for a nominal
1.5 GHz clock).  This results in everything running slowly unless
or until powerd is started, and FreeBSD is then thought to be slow.
Enable powerd by default in /etc/rc.conf on the arm64-aarch64-RPI
images.  Tested on Raspberry Pi 3B+ and 4B so far.

PR:		256836
MFC after:	1 month
Reviewed by:	rgrimes
Differential Revision:	https://reviews.freebsd.org/D43296
2024-01-05 13:41:24 -06:00
Jose Luis Duran adc215de9c release: Add missing /var/crash ZFS dataset
This matches the layout from bsdinstall.

MFC after:	1 week
Fixes:	89585511cc ("release: Add support for creating ZFS-based VM images")
Pull Request:	https://github.com/freebsd/freebsd-src/pull/981
2024-01-02 12:51:13 -05:00
Colin Percival 8a735ffdf0 EC2: Bump AMI size to 6 GB
This week's cloud-init ZFS snapshots ran out of disk space.
2023-12-28 14:24:46 -08:00
Brad Davis 863975b684 release/Makefile.vm: Add cloudware overrides
Allow the cloudware *_FLAVOURS and *_FSLIST values to be overridden
at the command line, to assist users who want to e.g. build only one
of the many EC2 AMIs available.
2023-12-15 10:08:50 -08:00
Baptiste Daroussin 5faaa602ce pkgbase: propagate SRCRELDATE to the packages correctly
MFC After:		3 days
Reviewed by:		manu
Differential Revision:	https://reviews.freebsd.org/D42892
2023-12-04 22:27:57 +01:00
Baptiste Daroussin 6084d98949 pkgbase: kill circular dependency
clang was set to depend on clang-dev, but clang-dev already depends
on clang by design

MFC After:	3 days
2023-12-04 17:27:51 +01:00
Baptiste Daroussin 99b8c0c35b pkgbase: create source package
FreeBSD-src for all the sources but the kernel
FreeBSD-src-sys just for the kernel

MFC After:		3 days
Reviewed by:		manu
Differential Revision:	https://reviews.freebsd.org/D42651
2023-12-04 09:05:03 +01:00
Colin Percival 7d0ee5ebd0 release/Makefile.vm: Rework emulator-portinstall
The emulator-portinstall target now unconditionally ensures that qemu
is installed; but is only invoked if needed (aka. when cross building
VM images).

MFC After:	3 days
MFC With:	97bd53ef4d ("Fix duplicate rc.conf files")
2023-12-03 13:39:30 -08:00
Colin Percival 97bd53ef4d Makefile.vm: Fix duplicate rc.conf files
Two bugs in Makefile.vm resulted in disk images being "built" multiple
times, resulting in lines added to /etc/rc.conf being duplicated:

1. The vm-image target reused the same "staging tree" directory for all
of its builds (multiple disk image types and multiple filesystem types).

2. The cw-type-flavour-fs target depends on emulator-portinstall, which
did not have a 'touch ${.TARGET}' and thus re-ran every time -- and
caused the cw-type-flavour-fs target to be re-run.  This was triggered
by release builds running `make cloudware-release` (creating the disk
images) followed by `make ec2amis` (which re-created the disk images
prior to uploading them).

MFC After:	1 week
Sponsored by:	https://www.patreon.com/cperciva
2023-11-27 13:35:41 -08:00
Colin Percival a959ae1c50 releng-gce: Add missing _
Fixes:	1b10bdf0e2 "releng-gce: Add ZFS support to GCE"
MFC after:	3 days
2023-10-19 15:46:59 -07:00
Emmanuel Vadot 0983e80a9a pkgbase: Move blacklist utilities to a new package
Unbloat a bit FreeBSD-utilities.
The only package that will depends on this new one is FreeBSD-ssh
which not anyone have in some setup.
And this will allow to have small pkgbase setup with ssh without
having to bring the bloated FreeBSD-utilities package
Name the package blocklist to reflect upstream futur changes.

Sponsored by:	Beckhoff Automation GmbH & Co. KG
Reviewed by:	emaste
Differential Revision:	https://reviews.freebsd.org/D42148
2023-10-11 21:07:05 +02:00
Colin Percival 1f4ce7a39f EC2: Add experimental cloud-init images
Known issues:

1. The ec2-user user is created with a homedir of /usr/home/ec2-user
instead of /home/ec2-user; this appears to be a bug in cloud-init's
FreeBSD support.

2. Cloud-init configures IPv4 networking but not IPv6 networking.

releng/14.0 candidate.

Discussed with:	gjb
Reviewed by:	imp
MFC after:	5 days
Relnotes:	yes
Sponsored by:	https://www.patreon.com/cperciva
Differential Revision:	https://reviews.freebsd.org/D41793
2023-09-28 15:18:46 -07:00
Colin Percival fada6e2389 EC2: Split off reusable configuration bits
Split ec2-base.conf into ec2-base.conf and a reusable ec2.conf,
similar to how Vagrant flavours share a common vagrant.conf.

releng/14.0 candidate.

Discussed with:	gjb
MFC after:	5 days
Sponsored by:	https://www.patreon.com/cperciva
Differential Revision:	https://reviews.freebsd.org/D41792
2023-09-28 15:18:46 -07:00
Colin Percival 7494fb6b7d EC2: Flavour existing AMIs as "base"
Using the recently-added "cloudware flavours" mechanism, turn the
existing EC2 AMIs into a new "base" flavour.  The only user-visible
change is that AMI names now include the word "base".

releng/14.0 candidate.

Discussed with:	gjb
Reviewed by:	imp
MFC after:	5 days
Sponsored by:	https://www.patreon.com/cperciva
Differential Revision:	https://reviews.freebsd.org/D41791
2023-09-28 15:18:46 -07:00
Colin Percival e6eeac9b71 release/Makefile.vm: Add support for CW flavours
There are two "Vagrant" images right now: "Vagrant Image for VirtualBox"
and "Vagrant Image for VMWare".  Rather than listing these separately in
a CLOUDWARE list, place "VAGRANT" into a CLOUDWARE_TYPES list and then
use a VAGRANT_FLAVOURS variable to identify the two versions.  Add make
logic to allow defaults (in this case, image format and filesystem) to
be specified once for VAGRANT and inherited by both flavours.

This will make future work to add flavoured EC2 images simpler.

releng/14.0 candidate.

Discussed with:	gjb
Reviewed by:	imp
MFC after:	5 days
Sponsored by:	https://www.patreon.com/cperciva
Differential Revision:	https://reviews.freebsd.org/D41790
2023-09-28 15:18:46 -07:00
Colin Percival fcbeeb5ff4 release/Makefile.vm: Garbage collect unused bits
The cw*-package targets were introduced in February 2015 as part of
adding support for building GCE images; but GCE support was reworked
in June 2015 and the cw*-package targets were in fact never used.
Remove them.

The *_DISK variables were introduced in February 2015 as part of
adding the cloudware-install target; this was removed in May 2016 as
the cloudware images are published via the respective cloud systems
and not published as disk images via the FreeBSD FTP site.  As such,
the *_DISK variables are not unused; remove them.

releng/14.0 candidate.

Discussed with:	gjb
Reviewed by:	imp
MFC after:	5 days
Sponsored by:	https://www.patreon.com/cperciva
Differential Revision:	https://reviews.freebsd.org/D41789
2023-09-28 15:18:46 -07:00
Mark Johnston 63aa2e9134 release/ec2: Remove references to portsnap
We no longer install a default portsnap.conf, so the sed invocation just
generates an error.

Reviewed by:	cperciva
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D42003
2023-09-27 19:03:25 -04:00
John Baldwin 5919ab2991 powerpc/generate-hfs.sh: Don't include $FreeBSD$ in prefix to uuencoded image
Reviewed by:	imp, emaste
Differential Revision:	https://reviews.freebsd.org/D41958
2023-09-25 07:55:18 -07:00
Mikaël Urankar 36468371ce pkgbase: Fix ucl for libcompiler_rt
It's only a -dev package now so add it to the list of -dev package
that don't have non-dev package.

PR:	273859
2023-09-22 11:42:21 +02:00
Ed Maste 8ee478dfd4 release: stop generating mergemaster databases
mergemaster was deprecated some time ago and will be removed from
FreeBSD 15.

Reviewed by:	imp
Relnotes:	Yes
Sponsored by:	The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D41797
2023-09-20 07:28:40 -04:00
Doug Rabson 78847e1e59 pkgbase: Move headers and libs out of runtime and utilities
Headers from src/include were in the runtime-dev package but
subdirectories of src/include ended up in utilities-dev by default.
Neither package is a good choice - the headers in src/include are not
useful without the libraries contained in clibs-dev.

This moves the standard C headers to clibs-dev (C++ headers are already
in this package). While working on this, I found that various clang
libraries and headers were also bundled into utilities-dev by default
so these are also moved to clang-dev.

I also added a FreeBSD-build-essential meta package to make it simple to
install all the toolchain parts.

PR:		254173
Reviewed byb:	manu
MFC after:	1 week
Differential Revision: https://reviews.freebsd.org/D41815
2023-09-12 13:22:21 +01:00
Ed Maste b7528b16c6 release: remove inet blackhole sysctls from GCE config
Other cloud images do not do this, and it can produce confusing results.

Reviewed by:	Jose Luis Duran, delphij
MFC after:	3 days
Sponsored by:	The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D41751
2023-09-06 14:56:40 -04:00
Glen Barber 82c57e2a75 release: remove arm/armv6 RPI-B configuration file
The arm/armv6 RPI-B images are deprecated in 15 and 14.
An MFC to stable/14 will follow.

MFC after:	3 days
Sponsored by:	GoFundMe https://www.gofundme.com/f/gjbbsd
Sponsored by:	PayPal https://paypal.me/gjbbsd
2023-08-31 19:24:38 -04:00
Li-Wen Hsu 1b10bdf0e2
releng-gce: Add ZFS support to GCE image buliding and uploading
Approved by:	delphij (re), gjb (re)
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D41527
2023-08-30 01:41:43 +08:00
Li-Wen Hsu 78f901dcbd
releng-azure: Add ZFS support to Azure image buliding and uploading
Approved by:	gjb (re)
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D41454
2023-08-30 01:40:39 +08:00
Li-Wen Hsu 0fe6998d8a
releng-azure: Use port name to install Azure CLI
To overcome package name changing on default Python version updates.

Approved by:	gjb (re)
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D41453
2023-08-30 01:39:11 +08:00
Warner Losh 05248206f7 Remove $FreeBSD$: one-line bare tag
Remove /^\s*\$FreeBSD\$$\n/
2023-08-16 11:55:20 -06:00
Warner Losh d0b2dbfa0e Remove $FreeBSD$: one-line sh pattern
Remove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/
2023-08-16 11:55:03 -06:00
Colin Percival 219caac69a EC2: Build and upload AMIs for both UFS and ZFS
The pre-existing "ec2ami" target builds and uploads a single AMI
(with filesystem determined by ${VMFS}) as before; a new "ec2amis"
target does both UFS and ZFS.

Reviewed by:	gjb
Sponsored by:	https://www.patreon.com/cperciva
Differential Revision:	https://reviews.freebsd.org/D41343
2023-08-09 15:44:54 -07:00
Colin Percival 4c9c9b4b74 EC2: Respect ${VMFS}
Prior to this commit, ${VMFS} controlled the filesystem used for
building EC2 images, but the AMIs were recorded with SSM Parameter
paths which indicated that they were UFS.

This commit (a) uses ${VMFS} in the SSM parameter path instead of
a hard-coded "ufs", and (b) adds the filesystem to the AMI name.

Reviewed by:	gjb
Sponsored by:	https://www.patreon.com/cperciva
Differential Revision:	https://reviews.freebsd.org/D41342
2023-08-09 15:44:54 -07:00
Colin Percival 8dec47387b release: Build cloudware with multiple FS types
New ${CW}_FSLIST settings control the list of filesystem types with which
each cloudware image will be built; currently these are all set to "ufs",
i.e. no change from previous.

The cloudware images have their filesystem type as part of their file
name; for backwards compatibilty the ${VMFS} image is linked to the
previously used file name.  This compatibility can be removed once all
the cloudware uploading/publishing code has been updated to use the new
image names (possibly more than one of them).

Reviewed by:	gjb
Sponsored by:	https://www.patreon.com/cperciva
Differential Revision:	https://reviews.freebsd.org/D41341
2023-08-09 15:44:54 -07:00
Colin Percival 32ae9a6b39 release: Build UFS and ZFS VM images
A new option 'VMFSLIST' controls the list of filesystems for which VM
images will be built; the default is to build both UFS and ZFS.

The vm-install target installs these as ${OSRELEASE}-${FS}.${FORMAT},
e.g. FreeBSD-14.0-CURRENT-amd64-zfs.vmdk.  For backwards compatibility,
the ${VMFS} image is linked to the previously used ${OSRELEASE}.${FORMAT}
name.

Cloudware building will be updated in a later commit.

Reviewed by:	gjb
Reviewed by:	emaste, markj (previous version)
Sponsored by:	https://www.patreon.com/cperciva
Differential Revision:	https://reviews.freebsd.org/D41340
2023-08-09 15:44:54 -07:00
Colin Percival ac4f03e03e Firecracker: Make root disk configurable
Add a FCROOTFSSZ variable which defaults to "1g" which controls the
size of the Firecracker root filesystem; it can be set as low as "300m"
at present.

Allow WITHOUTS to be overridden if users want to build a root disk with
more -- or fewer -- parts of the FreeBSD base system.

Reviewed by:	gjb
Sponsored by:	https://www.patreon.com/cperciva
Differential Revision:	https://reviews.freebsd.org/D41041
2023-08-07 09:21:08 -07:00
Colin Percival 395b9c9977 OCI: Bump image size to 6 GB
5 GB is no longer enough.

Sponsored by:	https://www.patreon.com/cperciva
2023-08-06 18:51:35 -07:00
Doug Rabson 1d7ffb373c pkgbase: reorganise caroot and openssl packages
This splits out the certctl utility into a new certctl package and the
openssl libs into an openssl-lib package.

PR:		272816
Reviewed by:	manu
Differential Revision: https://reviews.freebsd.org/D41321
2023-08-05 09:30:35 +01: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
Glen Barber b24c35b326 release: adjust lang/python* dependencies for GCE
The lang/python3 port had failed to properly install because
it did in fact already exist and FORCE_PKG_REGISTER was not
set.  So, behaviorally everything here was correct.  However,
installing lang/python3 is in fact not correct and not needed,
so only install the lang/python port to provide symbolic links.

PR:		272354
MFC after:	3 days
MFC with:	510fd83138
MFC with:	cd8cad0ef5
MFC with:	0ed426276f
Sponsored by:	GoFundMe https://www.gofundme.com/f/gjbbsd
2023-07-17 16:16:46 -04:00
Glen Barber 510fd83138 release: remove a stray backslash
PR:		272354 (related)
MFC after:	3 days
MFC with:	0ed426276f
MFC with:	cd8cad0ef5
Sponsored by:	GoFundMe https://www.gofundme.com/f/gjbbsd
2023-07-12 16:57:57 -04:00
Glen Barber cd8cad0ef5 release: follow-up to previous commit to install lang/python{,3}
PR:		272354
Sponsored by:	GoFundMe https://www.gofundme.com/f/gjbbsd
2023-07-12 16:49:53 -04:00
Glen Barber 0ed426276f release: ensure gce-check-depends installs lang/python{,3}
PR:		272354
Sponsored by:	GoFundMe https://www.gofundme.com/f/gjbbsd
2023-07-12 16:08:40 -04:00
Colin Percival 7acb53817f release: Add code to make FreeBSD/Firecracker
This just stages the kernel and builds a stripped-down rootfs for use
with the Firecracker VMM.  At some point in the future the release
engineering team might start publishing these, but initially it's
just here to simplify FreeBSD/Firecracker development and testing.

Note that the rootfs generated:
* Uses an IP address of 10.0.0.2 with a gateway of 10.0.0.1,
* Has sshd enabled,
* Has user "freebsd" with password "freebsd" and a root password
  of "root", and
* Is 1 GB in size (but has growfs enabled).

All of those are subject to change without notice; anyone intending to
use FreeBSD/Firecracker in anything remotely resembling a production
environment should talk to cperciva first.

Reviewed by:	gjb
Sponsored by:	https://www.patreon.com/cperciva
Differential Revision:	https://reviews.freebsd.org/D40956
2023-07-10 15:19:33 -07:00
Li-Wen Hsu fea4a44c19
release/DVD_PACKAGES: Update the names of drm-kmod ports
Reviewed by:	x11 (manu), re (gjb)
MFC after:	3 days
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D40770
2023-07-05 04:24:52 +08:00
Glen Barber 3f21d3e0ba release: update GCE configuration for python3
Reported by:	asomers
PR:		272354
MFC after:	3 days
Sponsored by:	GoFundMe https://www.gofundme.com/f/gjbbsd
2023-07-03 15:28:33 -04:00
Li-Wen Hsu eb550615ef
release/azure: Update reference URL
Sponsored by:	The FreeBSD Foundation
2023-06-27 15:58:55 +08:00
Colin Percival bcf9147144 EC2: Default to "uefi-preferred" boot mode
In EC2, UEFI boots faster than BIOS, but not all amd64 instance types
support UEFI.  AMIs need to have their boot mode designated, which
created a dilemma: Faster boots, or wider compatibility?

The recently added "uefi-preferred" option solves this: AMIs can be
marked to use UEFI where it's available, but fall back to BIOS on
instance types which do not support UEFI.

This uses bsdec2-image-upload 1.4.6, which recently landed in the
ports tree.

PR:		265697
Reviewed by:	delphij, imp
MFC after:	1 week
Sponsored by:	https://www.patreon.com/cperciva
Differential Revision:	https://reviews.freebsd.org/D40470
2023-06-14 11:31:10 -07:00
Colin Percival 267411d164 EC2: Chase awscli package rename
MFC after:	1 week
2023-06-07 21:23:26 -07:00
Ed Maste ae60012e46 release/oci.conf: add missing vm_extra_pre_umount() steps
vm.subr's default vm_extra_pre_umount removes /qemu and
/etc/resolv.conf.  When vm_extra_pre_umount is overridden these steps
need to be performed in the cloud-specific conf file.

PR:		271602
Reviewed by:	dch, lwhsu
Event:		Kitchener-Waterloo Hackathon 202305
Sponsored by:	The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D40257
2023-05-24 13:11:07 -04:00
Mike Karels d3c32c80a1 release/tools/vmimage.subr: switch zfs dataset from /usr/home to /home
Change the vmimage script for zfs to create /home as a dataset
rather than /usr/home, ala change to bsdinstall's zfs script.

Reviewed by:	markj
Differential Revision:	<https://reviews.freebsd.org/D40111
2023-05-23 07:18:58 -05:00
Ed Maste 4194bbb34c release: Report disk image filename
For someone new to the release bits it's not always clear what files are
being created. Report the disk image name explicitly.

Reviewed by:	gjb
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D39953
2023-05-03 16:58:22 -04:00
Emmanuel Vadot d198b8774d fwget: Introduce new utility
This script's goal is to check the system for peripherals that needs
firmware and install the needed packages for them.
For now it only support pci subsystem and only video classes for AMD
and Intel GPUs.

Reviewed by:	bapt
Sponsored by:	Beckhoff Automation GmbH & Co. KG
Differential Revision:	https://reviews.freebsd.org/D39825
2023-05-01 08:32:59 +02:00
Emmanuel Vadot ea9075959b armv7: release: Stop installing BBB u-boot
BBB code was removed from GENERIC kernel as it's not functional.
Stop installing u-boot for a platform that we don't boot on.

Reviewed by:	imp, gjb
Approved by:	re@ (gjb)
MFC after:	never
Sponsored by:	Beckhoff Automation GmbH & Co. KG
Differential Revision:	https://reviews.freebsd.org/D39844
2023-05-01 08:32:21 +02:00
Ed Maste 4654ba28fb release: Remove "All Rights Reserved" from FreeBSD Foundation copyrights 2023-04-17 10:56:59 -04:00
Glen Barber e4e139b828 pkg-stage.sh: update port trailing version information
Reported by:	Ian Smith, Graham Perrin
MFC after:	1 week
X-MFC-13.2:	NO

Sponsored by:	Rubicon Communications, LLC ("Netgate")
2023-03-20 10:36:51 -04:00
Joerg Wunsch 57228a4933
ARM release build: enable IPv6 SLAAC by default
When building ARM release images, enable IPv6 SLAAC by default in
addition to IPv4 DHCP.

Unlike amd64 (and other desktop/server) releases, ARM releases on SoC
setups are usually deployed by just using the installation image, so
there is no interactive network configuration. Not having IPv6
included by default is kind of an anachronism these days, given that
FreeBSD with the KAME project once pioneered IPv6 technology.

MFC after:	2 weeks
2023-02-12 22:32:16 +01:00
Emmanuel Vadot cab549c76c pkgbase: Create a FreeBSD-console-tools package
And put in it:
 - kbdcontrol
 - vidcontrol
 - moused
 - kbdmap

Those aren't useful in a jail or for a modern desktop.
While here, split the devd.conf part into some new files.

Reviewed by:	bapt
Sponsored by:	Beckhoff Automation GmbH & Co. KG
Differential Revision:	https://reviews.freebsd.org/D38321
2023-02-08 08:52:40 +01:00
Emmanuel Vadot 4c9c296e63 pkgbase: Create a FreeBSD-netmap package
This unbloat FreeBSD-utilities a bit and not everyone uses
valectl which is the only in-tree consumer of libnetmap

Sponsored by:	Beckhoff Automation GmbH & Co. KG
Differential Revision:	https://reviews.freebsd.org/D38225
2023-02-08 08:49:28 +01:00
Emmanuel Vadot 1af3908ce6 pkgbase: Create a FreeBSD-elftoolchain package
It contain all the binaries and libs from the elftoolchain contrib
project except for libelf which is used everywhere.
All of those tools are never used by the average user.

Sponsored by:	Beckhoff Automation GmbH & Co. KG
Differential Revision:	https://reviews.freebsd.org/D38224
2023-02-08 08:49:12 +01:00
Emmanuel Vadot f0408cd92f pkgbase: Create a FreeBSD-ctf-tools package
It contains the ctf tools that most users will never use.

Sponsored by:	Beckhoff Automation GmbH & Co. KG
Differential Revision:	https://reviews.freebsd.org/D38223
2023-02-08 08:48:58 +01:00
Emmanuel Vadot 751ded1d02 pkgbase: Create a FreeBSD-inetd package
And put inetd and its config file in it.
This unbloat a bit FreeBSD-utilities and some people might not
want inetd always installed.

Sponsored by:	Beckhoff Automation GmbH & Co. KG
Differential Revision:	https://reviews.freebsd.org/D38229
2023-02-08 08:48:43 +01:00
Emmanuel Vadot 9c1720e59a pkgbase: Create a FreeBSD-smbutils package
And put smb related programs and lib in it.

Sponsored by:	Beckhoff Automation GmbH & Co. KG
Differential Revision:	https://reviews.freebsd.org/D38228
2023-02-08 08:48:28 +01:00
Ed Maste 0eccd618a3 pkgbase: share rules for packages without pkgdeps
Have liby and libcompat share *-dev and *-lib32_dev rules, and share
*-man rule for libcompat and libelftc.  Also correct name substitution
and description for man rules.

Reviewed by:	manu
Fixes:		5391bcf0f7 ("pkgbase: Do not record dependency on...")
Fixes:		65fa2fd23b ("pkgbase: Do record dependency on non-...")
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D37964
2023-01-09 10:42:59 -05:00
Emmanuel Vadot 65fa2fd23b pkgbase: Do record dependency on non-existent libelftc package
libelftc is an internal lib so it's never installed.
When building with WITH_MANSPLITPKG=yes the libelftc-man package
will have a dependecy on a non-existent libelftc package.

Sponsored by:	Beckhoff Automation GmbH & Co. KG
2023-01-05 23:42:39 +01:00
Emmanuel Vadot 5391bcf0f7 pkgbase: Do not record dependency on non-existent libcompat package
libcompat only provides a .a which is put in the -dev package.
Add a special record for it so we do not require a dependency on the
non-existent package FreeBSD-libcompat.

Sponsored by:	Beckhoff Automation GmbH & Co. KG
2023-01-05 23:42:37 +01:00
Emmanuel Vadot 6933abc3e4 pkgbase: Stop adding FreeBSD-runtime as a dep for every package
shlib_required/provided is enough for the dependencies and this also
causes problems for packages like rescue which shouldn't depend on runtime
at all.

PR:	268063
Sponsored by:	Beckhoff Automation GmbH & Co. KG
2022-12-08 20:02:41 +01:00
Dave Cottlehuber 0af49f00b3 release/oci: add Oracle Cloud image builder
Provides an OCI (Oracle Cloud Infrastructure) release target for
Oracle's KVM-based VM implementation. Tested using 13.1-RELEASE,
primarily on Ampere CPU on A1.Flex VM shapes, but also works on
amd64 shapes.

- supports cloud-init and custom scripts
- provides a freebsd@ sudo-enabled user
- root user disabled over ssh & console

Approved by:    gjb
Reviewed by:    emaste
MFS after:      1 week
Sponsored by:   The FreeBSD Foundation
Sponsored by:   SkunkWerks, GmbH
Technical assistance from:  Oracle
Differential Revision: https://reviews.freebsd.org/D34746
2022-11-27 11:12:02 +00:00
Ed Maste 1e9c9ab595 pkgbase: do not record dependency on non-existent liby package
liby-dev provides (only) liby.a.  liby has no headers or man pages, and
there is no liby package.  Add a special case to record no dependency on
the package that does not exist.

PR:		266923
Reviewed by:	bapt
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D37429
2022-11-18 13:08:46 -05:00
Li-Wen Hsu 3bf53c4c8f
release(7): Enable zpoolupgrade rc script in ZFS based VM images
This will enable VM access to all ZFS feature automatically, only on a
newly installed or provisioned VM or cloud instance.

Reviewed by:	markj
Sponsored by:	The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D37283
2022-11-07 11:47:33 +08:00
Li-Wen Hsu c711f3b453
release/azure: Don't use azure-agent deprovision to build image
Deprovision feature of waagent is used for preparing to capture a
running VM and turn it into a VM image.  Using it in the process of
building a VM image from scratch will cause some side effects such as
the hostname of the building host getting reset.

Remove calling the deprovision command and use a simpler way to fulfill
the requirements of the Azure VM image.

Sponsored by:	The FreeBSD Foundation
2022-11-04 03:17:43 +08: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
Emmanuel Vadot feec04b355 pkgbase: Create a FreeBSD-games package
And put :
- pom
- caesar
- grdc

Differential Revision:	https://reviews.freebsd.org/D36230
2022-10-26 19:46:40 +02:00
Emmanuel Vadot e7a5a60ed5 pkgbase: Put devmatch in its own package
devmatch is useful on standalone machine but not on jails.
Put devinfo(8) and libdevinfo there too.

Differential Revision:	https://reviews.freebsd.org/D36229
2022-10-26 19:46:38 +02:00
Emmanuel Vadot ea0850e4be pkgbase: Put devd in its own package
It's not that useful in a jail or in a mdroot.

Differential Revision:	https://reviews.freebsd.org/D36228
2022-10-26 19:46:36 +02:00
Emmanuel Vadot a7ffc94849 pkgbase: Put ufs related tools and lib in their own package
It's not really useful in a jail or in a mdroot or even if a users
wants to do a full zfs machine.

Reviewed by:	mckusick
Differential Revision:	https://reviews.freebsd.org/D36227
2022-10-26 19:46:34 +02:00
Emmanuel Vadot a71ea7bea0 pkgbase: Put zfs utilities and lib in their own package
It is useful to have zfs utilities and lib in a separate package as
it allow users to create image that can support ZFS (i.e. not with
WITHOUT_ZFS in src.conf set) without bloating the default image with
all zfs tools (for example for jails).

Differential Revision:	https://reviews.freebsd.org/D36225
2022-10-26 19:46:30 +02:00
Emmanuel Vadot 0bf688786f pkgbase: Put geom utilities in their own package
For most users it's not needed to boot and they are also
available in the FreeBSD-rescue package in case an update
break and FreeBSD-geom package isn't updated correctly.

Differential Revision:	https://reviews.freebsd.org/D36224
2022-10-26 19:46:28 +02:00
Emmanuel Vadot 6987b552dd pkgbase: Put resolvconf in its own package
It doesn't really make sense to have it in runtime and let's not
bloat utilities more.

Differential Revision:	https://reviews.freebsd.org/D36223
2022-10-26 19:46:26 +02:00
Emmanuel Vadot ab4bd66752 pkgbase: Put dhclient in its own package
It doesn't really make sense to have it in runtime and let's not
bloat utilities more.

Reviewed by:	emaste, imp
Differential Revision:	https://reviews.freebsd.org/D36222
2022-10-26 19:46:24 +02:00
Emmanuel Vadot 5f9db65d8a pkgbase: Put nvmecontrol in its own package
It doesn't really make sense to have it in runtime and let's not
bloat utilities more.

Reviewed by:	emaste
Differential Revision:	https://reviews.freebsd.org/D36221
2022-10-26 19:46:22 +02:00
Warner Losh 1be88beabb release: link from /boot/msdos to efi
We need to do a relative link to efi instead of an absolute link into
the build tree.

Sponsored by:		Netflix
Reviewed by:		gjb
Differential Revision:	https://reviews.freebsd.org/D36941
2022-10-11 13:19:52 -06:00
Ed Maste f4f6bc6367 Correct typo in soacceptqueue setting
I somehow introduced the typo when extracting one part of D34598.

Reported by:	Jose Luis Duran <jlduran@gmail.com>
Fixes:		9871ae6aa9 ("Track kern.ipc.somaxconn -> ...")
2022-10-11 13:03:04 -04:00
Jose Luis Duran 9871ae6aa9 Track kern.ipc.somaxconn -> kern.ipc.soacceptqueue rename
Fixes:		2bdf61ca29 ("Hide the unfortunate named sysctl...")
MFC after:	3 days
2022-10-11 12:46:46 -04:00
Jessica Clarke a09af1b7fd bsdinstall release: Start installer on multiple consoles
Currently the installer is only started on the primary ("high level")
console. For systems where this is the video console and serial consoles
aren't of interest, and headless systems with just a serial console,
this works just fine, but for systems where both video and serial
consoles are present and meaningful this requires the user to select the
right primary console in loader, with the poor user experience of the
system appearing to hang if they leave the wrong one selected. This
notably differs from our multi-user behaviour of spawning getty on every
console, where the only issue with selecting the wrong primary console
is a quieter boot process until the login prompt appears (or the system
crashes).

Instead, use the newly-added runconsoles helper to run the installer on
every console (except for ttyv*, where only ttyv0 will be used). For
interactive installations, any of the consoles can be used, though only
one should be used at a time as no effort is made to avoid multiple
installations running at the same time clobbering each other. If the
Live CD option is selected, the other installers (which should, if the
user is well-behaved, be sitting at the welcome screen) will be killed.
If an automated install is in use, the primary console will be used to
display its output, and the others will direct the user to the primary
console.

Reviewed by:	brooks, gjb
Differential Revision:	https://reviews.freebsd.org/D36805
2022-10-03 17:09:17 +01:00
Jessica Clarke d577d6178b bsdinstall release: Move code to a new startbsdinstall wrapper
This separates out the install media-specific environment (creating
bsdinstall_etc) from actually running the installer on a given console.
This will be used by a future change to start the installer on multiple
consoles.

Reviewed by:	brooks, gjb
Differential Revision:	https://reviews.freebsd.org/D36803
2022-10-03 17:09:16 +01:00
Jessica Clarke f334df7600 release: Remove remnants of pc98 support
The cons25w line was added in c991a64747 for pc98, along with reading
MACHINE in order to determine what terminal type to use for VTYs. Commit
2b375b4edd removed this condition, leaving it as always using xterm
for VTYs, but left behind the now-unused MACHINE variable and the
cons25w list entry. Clean these up to be how they were before pc98
support was added.

Note that anyone who really needs a cons25w terminal can still request
it, it's just not listed as a common option.

Reviewed by:	imp, brooks
Differential Revision:	https://reviews.freebsd.org/D36587
2022-10-03 17:09:16 +01:00
Brooks Davis 75c2975ac4 release: the telnet package contains the client
Reviewed by:	imp, delphij, emaste
Differential Revision:	https://reviews.freebsd.org/D36784
2022-09-29 17:56:41 +01:00
Warner Losh 62a7dae44d release: Use standard mount points for arm MBR boot images
Traditionally, we've used /boot/msdos for the MBR mount point for the SD
images that we produced. For GPT and bsdinstall, we've used
/boot/efi. Migrate to using /boot/efi for MBR as well and add a
/boot/msdos -> /boot/efi symlink for compatibility (which may disappear
before 14.0, but will remain on the stable branches).

When we first created the arm images, there was no EFI booting and the
FAT partion on an MBR image was used to hold the firmware, uboot.bin,
SoC config files and ubldr.  When we transitioned to uboot with EFI, we
put the loader files in the same partition. Later we standardized on
/boot/efi at about the same time we added GPT support to the RE produced
images. We left the MRB case as /boot/msdos for legacy reasons and since
it wasn't always EFI. Later, we dropped support of non-EFI booting on
the RE produced images, so the duality of /boot/msdos diminished even
more. Since so little secondary meaning remains, putting it all in
/boot/efi standardizes the location and reflects the RE images
better as using efi-only booting.

In addition, always label the msdosfs partion 'efi'. While a small
misnomer on some systems that store other files in the ESP, it was
requested in review for more consistency for similar reasons to the
mountpoint rename. There was no way to have an 'alias' or 'second label'
here, so this breaks compatibility. Since the images are self-contained,
this was judged to be an acceptable change.

Sponsored by:		Netflix
Reviewed by:		manu, allanjude, emaste, gjb
Differential Revision:	https://reviews.freebsd.org/D36635
2022-09-23 09:53:55 -06:00
Ben Woods e4505364c0 release/rc.local: Provide option to shutdown after installation complete
This can be useful instead of reboot if installing in a virtual machine,
and the user wants to modify the VM hardware or virtual media mounts
prior to booting into the newly installed system.

Reported by:	Juan Manuel Palacios (@jmp_imaginarium on Twitter)
Approved by:	philip
Differential Revision:	https://reviews.freebsd.org/D36560
2022-09-17 08:07:25 +08: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