Commit Graph

7970 Commits

Author SHA1 Message Date
Emmanuel Vadot
5321a88409 release: rpi3: Copy the bcm2710 variant of the rpi2
This is the dtb intented to be used for booting RPI2 v1.2 in aarch64.
2020-11-22 18:42:08 +00:00
Emmanuel Vadot
44bef6729b release: Switch the Allwinner board to GPT
Allwinner bootrom have an alternate location for u-boot at 128k.
Work was made recently in u-boot to relocate correctly if loaded from
there.
The advantage of this offset is that we can now use a GPT scheme.
2020-11-19 14:27:01 +00:00
Emmanuel Vadot
308c75d1e5 pkgbase: Remove %VCS_REVISION% from utilities comments
We don't do that on other packages so be consistent.
It also don't work when building from git.
2020-11-06 15:21:53 +00:00
Emmanuel Vadot
ea07005137 release: Add an image for CI
A lot of projects CI can't do FreeBSD tests currently.
The main reason is that the project CI infrastructure is runned on Linux
and that our images aren't modifiable from a Linux hosts.
Add a basic image specific for this case (called BASIC-CI for a lack of a
better name).
The image have no package pre-installed.
It only have a few modification to have dhcp client runned on the default
interface and sshd started with option to be able to log on without a password
as root.

Sponsored by: The FreeBSD Foundation

Reviewed by:	re (gjb@)
Differential Revision:	https://reviews.freebsd.org/D25598
2020-11-02 21:10:49 +00:00
Mitchell Horne
e0f9cec7d6 arm64: set the correct partition type in make-memstick.sh
We create a UFS root filesystem using makefs(8), and later pass it to
mkimg(1) when creating the final image. The correct partition type is
freebsd-ufs; the freebsd parition type is for partitions containing a
BSD disklabel.

Reviewed by:	emaste
MFC after:	2 weeks
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D26987
2020-10-30 18:22:46 +00:00
Mitchell Horne
1d76e25a67 arm64: convert virtual machine images to GPT
These images were switched to MBR in r281876 as a way to cope with a
hard-coded partition GUID in QEMU's default EFI firmware. Enough time
has passed that this is no longer a problem; QEMU versions >= 4.0
include a copy of edk2 EFI firmware that can detect the root filesystem
properly. Alternatively, sysutils/u-boot-qemu-arm64 can be used.

Switch back to building these images with a GPT partition table, and
re-enable the swap partition.

Reviewed by:	gjb, emaste
MFC after:	2 weeks
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D26986
2020-10-30 18:20:52 +00:00
Mitchell Horne
0d51f9e589 vmimage.subr: noisier failure for unsupported targets
The return code of write_partition_layout() doesn't bubble up, so an
invocation of make vm-release for an incorrect/unsupported target will
appear to succeed while make vm-install will fail due to missing
files. This isn't a common point of failure, but is worth handling
properly.

Upgrade this case to print a message to stderr, and exit in place. This
is okay to do since at this point in the execution of mk-vmimage.sh,
cleanup() has already been run.

Reviewed by:	gjb
MFC after:	2 weeks
Differential Revision:	https://reviews.freebsd.org/D26985
2020-10-30 18:18:25 +00:00
Mitchell Horne
027b4efccf Slight refactor in vmimage.subr
De-duplicate the invocation of mkimg(1). No functional change.

Reviewed by:	gjb
MFC after:	2 weeks
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D26984
2020-10-30 18:16:10 +00:00
Glen Barber
bdccfea1ea Bump the ISO EFI partition size from 1024 to 2048, following r366732.
Suggested by:	imp
Sponsored by:	Rubicon Communications, LLC (netgate.com)
2020-10-15 23:05:13 +00:00
Glen Barber
a0da9a6272 Increase the amd64 ISO ESP file size from 800KB to 1024KB.
At some poing over the last week, the bootx64.efi file has grown
past the 800KB threshold, resulting in being unable to copy it to
the EFI/BOOT directory.

 # stat -f %z efiboot.znWo7m
 819200
 # stat -f %z stand-test.PIEugN/EFI/BOOT/bootx64.efi
 842752

The comment in the script that creates the ISOs suggests that 800KB
is the maximum allowed for the boot code, however I was able to
boot an ISO with a 1024KB boot partition.  Additionally, I verified
against an ISO from OtherOS, where the boot EFI partition is 2.4MB.

Sponsored by:	Rubicon Communications, LLC (netgate.com)
2020-10-15 17:12:58 +00:00
Brandon Bergren
ead0ba6e8d [PowerPC64LE] Add release building script for powerpc64le.
This was originally part of the initial commit, but after discussion in
D26399, I split it out into its own commit after the kernel config file.

Sponsored by:	Tag1 Consulting, Inc.
2020-09-23 01:13:29 +00:00
Mitchell Horne
6dadc5d1cd arm64: generate ISO release images
Some IPMI implementations on arm64 are reportedly unable to load our
memstick installer images, but support the older ISO format. Start
generating these for arm64.

Unlike installer ISOs for other platforms, these images are UEFI-only.

Reviewed by:	emaste
Relnotes:	yes
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D26452
2020-09-18 14:40:13 +00:00
Kyle Evans
209dcc7cec pkgbase: use consistent annotation for objectk eys
Everywhere else we use objects ("scripts", generally) we do sepcify the
optional colon. Be consistent and do the same for directories.

PR:		249273
Submitted by:	Martin <martin.jakob gmx com>
MFC after:	1 week
2020-09-18 14:29:01 +00:00
Glen Barber
5fb8eca870 Fix setting RELENGDIR when release.sh is called from an external
script.

Sponsored by:	Rubicon Communications, LLC (netgate.com)
2020-09-14 15:58:10 +00:00
Colin Percival
a72eeb2025 Spawn the DHCPv6 client in EC2 instances via rtsold.
Prior to this commit, EC2 AMIs used a "dual-dhclient" tool which was
launched in place of dhclient and spawned both the base system dhclient
for IPv4 and the ISC dhclient from ports for IPv6.

Now that rtsold supports the "M bit" (managed configuration), we can go
back to having the base system dhclient spawned normally, and provide a
script to rtsold which spawns the ISC dhclient from ports when rtsold
decides that it is appropriate.

Thanks to:	bz
MFC after:	1 week
Sponsored by:	https://www.patreon.com/cperciva
2020-09-13 19:56:53 +00:00
Colin Percival
ff5188db54 Bump the size of EC2 AMIs up to 5 GB.
The FreeBSD base system continues to expand.  4GB is now insufficient;
we passed 3 GB in May 2019; we passed 2 GB in August 2017.  Over half
of the disk space used is in /usr/lib/debug/.

Without this change, instances boot but are unusable, since the first
thing which breaks when VM filesystems are too small is the "pkg install"
in the VM building process.
2020-09-13 19:11:45 +00:00
Glen Barber
c71c2b76aa Fix indentation following r365638. No functional changes.
Sponsored by:	Rubicon Communications, LLC (netgate.com)
2020-09-11 17:05:09 +00:00
Glen Barber
91ce469984 Add a NOGIT option to avoid explicitly requiring devel/git if the
sources are obtained through a different mechanism.

Reported and tested by:	Ruslan Garipov
Sponsored by:	Rubicon Communications, LLC (netgate.com)
2020-09-11 17:04:09 +00:00
Glen Barber
5f1198f36b Fix ordering of the 'pull' subcommand and the '-q' flag.
Pointyhat to:	gjb (myself)
Sponsored by:	Rubicon Communications, LLC (netgate.com)
2020-08-29 21:47:49 +00:00
Glen Barber
cbb418fe50 Restore the '-q' flag to the 'git pull' command.
Sponsored by:	Rubicon Communications, LLC (netgate.com)
2020-08-29 21:46:34 +00:00
Glen Barber
0fda149dad Remove the VCSUPDATE command, because git is too stupid to have
the '-C <directory>' after the subcommand.

Meanwhile, hard-code 'git -C <...> pull' for now.

Reported by:	Michael Butler
Sponsored by:	Rubicon Communications, LLC (netgate.com)
2020-08-29 21:42:59 +00:00
Glen Barber
8ea469ebbb Refine the VCSUPDATE logic further:
- Look for the .git directory instead of top-level directory.
- Use 'git -C' instead of cd(1).

Sponsored by:	Rubicon Communications, LLC (netgate.com)
2020-08-29 16:04:02 +00:00
Glen Barber
91edfc6ca5 Add a VCSUPDATE command to run 'git pull' instead of 'git clone'
if the tree already exists.

Reported by:	Michael Butler
Sponsored by:	Rubicon Communications, LLC (netgate.com)
2020-08-29 15:50:27 +00:00
Glen Barber
9fb61eb199 Indentation fixes. No functional changes.
Sponsored by:	Rubicon Communications, LLC (netgate.com)
2020-08-29 15:31:23 +00:00
Glen Barber
52a8a2de0f Avoid the build from falling over if devel/git is not installed
on the system.  Set a null branch/hash in this case, to avoid
undefined GITREV/GITBRANCH variables from falling over in other
areas.

Reported by:	many
Sponsored by:	Rubicon Communications, LLC (netgate.com)
2020-08-29 15:30:21 +00:00
Glen Barber
8f82b5d4e3 Install devel/git from packages if NOPORTS is set in the release.sh
configuration file.

Reported by:	Michael Butler
Sponsored by:	Rubicon Communications, LLC (netgate.com)
2020-08-29 15:13:07 +00:00
Glen Barber
233a5529d1 Add a new line to force a commit to verify if lwhsu did indeed
fix the jenkins build by adding git to the dependency list.

Sponsored by:	Rubicon Communications, LLC (netgate.com)
2020-08-28 02:09:10 +00:00
Glen Barber
884ea3e64c Correct the conditional evaluating if git exists.
Pointyhat to:	gjb (myself)
Sponsored by:	Rubicon Communications, LLC (netgate.com)
2020-08-27 14:36:00 +00:00
Glen Barber
eade353551 Do not unconditionally build git from ports if it already exists.
Sponsored by:	Rubicon Communications, LLC (netgate.com)
2020-08-27 14:29:06 +00:00
Glen Barber
6e7be14e7f Adjust the logic to locating GIT_CMD.
Use 'git -C' instead of cd(1). [1]

Suggested by:	garga [1]
Sponsored by:	Rubicon Communications, LLC (netgate.com)
2020-08-27 13:33:21 +00:00
Glen Barber
bee3d446c4 Fix passing OPTIONS_UNSET with multiple options to make(1).
While here, adjust the copyright.

Sponsored by:	Rubicon Communications, LLC (netgate.com)
2020-08-27 13:25:24 +00:00
Glen Barber
2b65ed0302 Fix the current working directory when setting GITREV and
GITBRANCH.

Sponsored by:	Rubicon Communications, LLC (netgate.com)
2020-08-25 18:30:12 +00:00
Glen Barber
64f0728e67 Remove an escape that does not belong.
Sponsored by:	Rubicon Communications, LLC (netgate.com)
2020-08-24 19:00:57 +00:00
Glen Barber
440cec3faf MFH
Sponsored by:	Rubicon Communications, LLC (netgate.com)
2020-08-12 17:16:26 +00:00
Glen Barber
0a459a714f release: update to use git instead of svn:
Makefile.* (cloudware):
 - Consistify setting the BUILDDATE for snapshots.
   (Missed a spot)

Sponsored by:	Rubicon Communications, LLC (netgate.com)
2020-08-12 16:30:33 +00:00
Glen Barber
86e5b1377d release: update to use git instead of svn:
Makefile.* (cloudware):
 - Consistify setting the BUILDDATE for snapshots.

release.conf.sample/release.sh:
 - Run 'git clone' in 'quiet' mode.

Makefile.inc1:
 - Set BUILDDATE and export the variable.

Sponsored by:	Rubicon Communications, LLC (netgate.com)
2020-08-12 16:25:25 +00:00
Emmanuel Vadot
a90022d4d1 pkgbase: Replace / with | for PKG_WWW
PKG_WWW contain / char, replace the delimiter by a '|'.

Reported by:	0mp
2020-08-11 10:07:59 +00:00
Emmanuel Vadot
82087d4b68 pkgbase: Add PKG_NAME_PREFIX, PKG_MAINTAINER and PKG_WWW
This is useful for downstream users to customize the packages.
Reviewed by:	emaste
Differential Revision:	https://reviews.freebsd.org/D26019
2020-08-11 08:42:24 +00:00
Emmanuel Vadot
d7c8186d67 release: RPI3: Add the RPI2 DTB
The RPI2 v1.2 is using the same SoC as the RPI3 so it can boot this image
but needs the RPI2 dtb.

MFC after:	3 days
2020-08-08 16:56:20 +00:00
Emmanuel Vadot
096026e516 pkgbase: Fix dependancies
The package name is converted with _ instead of - as we have some variables
that cannot contain -
Convert back the dependancies with - instead of _
2020-08-07 10:20:39 +00:00
Emmanuel Vadot
1931aa942f pkgbase: Remove vcs revision from kernel and runtime comment
This is not needed and we don't do that for other packages.
2020-08-06 16:11:30 +00:00
Glen Barber
c7aa572cac MFH
Sponsored by:	Rubicon Communications, LLC (netgate.com)
2020-07-31 19:37:45 +00:00
Glen Barber
66fe2bef95 release: update to use git instead of svn:
release.sh:
  - Bump the version number.
  - Default VCSCMD to '/usr/local/bin/git clone'.
  - Rename SVN* variables to GIT* equivalents.
  - Remove dead code to inject a trailing '/' between two variables.
  - Remove SRC_FORCE_CHECKOUT.
  - Exit if the build host does not have devel/git installed.
  - Install devel/git in the build chroot(8) for newvers.sh.

release.conf.sample:
  - Update sample configuration variables to the git equivalent.

relnotes-search.sh:
  - Remove script.  It is specifically for use with svn.

Sponsored by:	Rubicon Communications, LLC (netgate.com)
2020-07-31 19:31:52 +00:00
Yoshihiro Takahashi
8f11c99715 - Cleanups related to sparc64 removal.
- Remove remains of sparc64 files.

Reviewed by:	imp
Differential Revision:	https://reviews.freebsd.org/D25831
2020-07-28 10:58:37 +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
Oleksandr Tymoshenko
083c262899 Enable EFI system partition on amd64 and i386 VM images
EFI support is a hard requirement for generating Hyper-V Gen2 VM images.

Reviewed by:	gjb
MFC after:	2 weeks
Differential Revision:	https://reviews.freebsd.org/D25655
2020-07-14 18:02:24 +00:00
Colin Percival
fd5f7f341b Make EC2 AMIs use portsnap and freebsd-update mirrors hosted in AWS
This adjusts freebsd-update.conf and portsnap.conf files in EC2 AMIs to
point at the new AWS-hosted mirror network.

Approved by:	re (delphij)
MFC after:	1 month
Differential Revision:	https://reviews.freebsd.org/D25498
2020-06-30 06:14:34 +00:00
Emmanuel Vadot
45d0192ef8 release: Fix arm GPT image
msdosfs labels are capitalized, use EFI instead of efi.

MFC after:	3 days
2020-06-10 14:10:48 +00:00
Emmanuel Vadot
3163f6aa26 release: amd64 efi boot name is bootx64
efi_boot_name is just used for arm image so no harm done.

Reported by:	gonzo
MFC after:	3 days
2020-06-09 18:13:52 +00:00
Glen Barber
537ab18306 Include the shells/bash port on Vagrant images, which prevents
a shell issue during startup.

PR:		245051
MFC after:	1 minute (if approved by re@)
X-MFC-for:	11.4-RC2
Sponsored by:	Rubicon Communications, LLC (netgate.com)
2020-05-28 18:48:30 +00:00
Ed Maste
05f2347421 Make i386 memstick images bootable.
This reverts the i386 part of r342283, "Rework UEFI ESP generation", and
the followup commit in r342690.

r342283 added an ESP to the i386 memstick image, and as a side effect
made the ESP the active partition, not the bootcode-containing UFS
partition.  As a result the i386 memstick images would not boot in
either UEFI or legacy mode - UEFI failed because we do not support i386
UEFI booting, and legacy mode failed because the partition with legacy
bootcode was not active.

The bootcode-containing UFS partition is again the only, and active,
partition.

PR:		246494
Reported by:	Jorge Maidana
Differential Revision:	The FreeBSD Foundation
2020-05-24 18:25:49 +00:00
Ed Maste
697b271da9 pkgbase: use -dev,-dbg instead of -development,-debug
-development is long and awkward, and is also inconsistent with prior art
from the Linux world, which uses -dev (Debian) or -devel (Red Hat).  Follow
the Debian convention, and similarly for debug info packages.

Also remove redundant pkgbase development tag from includes.  We already tag
include files with package=runtime,dev; there is no need to separately tag
them as dev.

Discussed with:	bapt
Reviewed by:	manu
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D24139
2020-05-20 19:45:22 +00:00
Colin Percival
5f148eeefd Add ebsnvme-id to EC2 AMIs and enable /dev/aws/disk
The ebsnvme-id utility exposes information about EC2 disks -- for
Elastic Block Store volumes, their volume IDs and "linux device
names", and for Instance Store (aka "Ephemeral") disks, their
serial numbers.

The dev_aws_disk rc.d script and associated devd.conf rule maintains
a tree under /dev/aws/disk:
	/dev/aws/disk/ebs/<volume ID>
	/dev/aws/disk/linuxname/<linux device name>
	/dev/aws/disk/ephemeral/<serial number>
which are symlinks to the corresponding nda or nvd devices.

MFC after:	1 week
Sponsored by:	https://www.patreon.com/cperciva
2020-05-18 02:14:25 +00:00
Colin Percival
ba97bfb0de Add /etc/autofs/special_efs to EC2 AMIs
Since Amazon Elastic File System is only available within AWS, it seems
more appropriate to have this added only in EC2 AMIs rather than
"polluting" non-EC2 images with it.

Reviewed by:	gjb
MFC after:	7 days
Relnotes:	Amazon EFS filesystems can be automounted by enabling autofs
		and placing "/efs -efs" into /etc/auto_master.
Sponsored by:	https://www.patreon.com/cperciva
Differential Revision:	https://reviews.freebsd.org/D24791
2020-05-17 21:54:59 +00:00
Colin Percival
b9f767ebd2 Set use_nvd=0 in EC2 AMIs.
FreeBSD is in the process of switching from nvd(4) to nda(4) as the disk
device front-end to NVMe. Changing the default in the kernel is tricky
since existing systems may have /dev/nvd* hard-coded e.g. in /etc/fstab;
however, there's no reason to not change the default in HEAD for *new*
systems.

At present I have no intention of MFCing this to stable branches, since
someone might reasonably expect scripts they use for launching and
configuring FreeBSD 12.1 instances to work with FreeBSD 12.2 AMIs, for
example.

Reviewed by:	gjb, imp
Relnotes:	NVMe disks in EC2 instances launched from 13.0 and later
		now show up as nda(4) devices.
Differential Revision:	https://reviews.freebsd.org/D24583
2020-04-27 21:44:02 +00:00
Emmanuel Vadot
56005e4b71 release: arm64: rockpro64: Set hw.ncpu to 4
Since there is known issue with big.LITTLE set the number of CPU to 4
which is the number present in the LITTLE cluster.
2020-04-25 20:00:44 +00:00
Emmanuel Vadot
b407a449ac Add PINE64 ROCK64 config for generation of release images 2020-04-24 16:33:07 +00:00
Emmanuel Vadot
0edb2e1d0c Add PINE64 ROCKPro64 config for generation of release images
Submitted by:	Daniel Engberg
Reviewed by:	imp
Differential Revision:	https://reviews.freebsd.org/D22538
2020-04-24 16:32:25 +00:00
Emmanuel Vadot
38e4df107d Add support for generating release images using GPT for ARM
Submitted by:	Daniel Engberg (Original version)
Differential Revision:	https://reviews.freebsd.org/D22537
2020-04-24 16:31:27 +00:00
Emmanuel Vadot
c5e7aeedcf release: arm64: Remove DTSO for Allwinner boards
Both SID and THS dts node are now in the main dts and the DTSO have
been removed in r359935

MFC after:	2 month
X-MFC-With:	r359935
2020-04-19 10:50:29 +00:00
Ed Maste
af5319f92c pkgbase: remove more profile package leftovers
As of r356797 we don't produce profile packages.  r358549 removed one
remnant of profile package support; clean up another now.
2020-04-01 16:03:06 +00:00
Emmanuel Vadot
c016c89196 pkgbase: Move device.hints from the runtime to the bootloader package
Also mark it as config file so if a user changes this file pkg will attempt
to merge the new file upon an update.
device.hints is neither related to runtime or loader but it make more sense
to have it in loader in case some user delete /boot/ and wants to recreate it,
now only two packages are required FreeBSD-bootloader and the kernel package.
While here change where we override the package for files installed in /boot,
this allow us to keep other tags (such as config).

Reported by:	pizzamig
Reviewed by:	bapt pizzamig emaste
Differential Revision:	https://reviews.freebsd.org/D24159
2020-03-24 01:07:01 +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
Kyle Evans
9c5d67e942 pkgbase: remove logic for _profile packages
We don't produce these anymore as of r356797, remove the remnant in
generate-ucl.sh that accounted for them. This isn't strictly necessary, but
future work is needed for the various packages that can be generated on a
lib build.

Namely, we may produce -development packages for private/internal libs that
should be installed but won't have the base FreeBSD-libfoo pkg to depend on
because it's internal (e.g. liby, libpmcstat, libifconfig) but we want the
headers installed. It may be a better move to just shove these into
-runtime-development instead, but if not then we've just simplified the
cases that need to take private/internal libs into account.
2020-03-02 15:58:50 +00:00
Kyle Evans
ac92e1359b caroot pkg: pass through the pkg -r rootdir as DESTDIR
If we're trying to bootstrap a different root with pkgbase, we should be
doing the right thing with caroot.
2020-02-19 02:35:43 +00:00
Colin Percival
9f7cca9218 Mount /dev while deinstalling pkg inside EC2 AMIs.
This gets rid of (harmless) warnings:
"pkg: Cannot open /dev/null:No such file or directory".

MFC after:	2 weeks
2020-02-11 04:05:45 +00:00
Colin Percival
d82420cbfc Remove /qemu from EC2 ARM AMIs
I forgot to do this as part of r345858 -- I added it to the
vm_extra_pre_umount in vmimage.subr but forgot that function
was overridden in the EC2 build.

MFC after:	2 weeks
2020-02-11 04:03:22 +00:00
Kyle Evans
a0dc3f8626 RPI3: Add RPi4 firmware files to the FAT partition
I've discovered I have this local diff that never got committed -- this
should have been a part of r355424.

Reproted by:	Klaus Küchemann <maciphone2@googlemail.com>
2020-01-31 15:56:08 +00:00
Kyle Evans
f2c462994d pkgbase: generate dependencies in generate-ucl.sh
This cuts out a large chunk of duplicated *.ucl files that just needed
dependencies tacked on, and gives generate-ucl.sh some leeway in case a
future pkg may need more than one dependency.

Run-through to determine which ones could simply be removed done with for i
in *.ucl; do diff -U3 template.ucl ${i}; done | less and inspecting for any
differences beyond just adding deps at the end. The remaining ucl files are
basically all differently-licensed, require scripts, or are marked vital.

I've opted to remove %PKGDEPS% entirely without regard for third-party ucl,
as pkgbase is not yet considered production. However, I do not hold a strong
position on this and there is approximately 0 chance it will return.

clibs should have been added previously in generate-ucl.sh as one that
doesn't have any dependencies, but do so now that we would otherwise be
tacking on the runtime dependency.

Reviewed by:	manu, bapt (earlier version)
Differential Revision:	https://reviews.freebsd.org/D23415
2020-01-30 03:01:00 +00:00
Kyle Evans
fbd46fe94a pkgbase: fix caroot packaging and add post-install script
The original intention for caroot was to be packaged separately, perhaps so
that users can have a more/less conservative upgrade policy for this
separated from the rest of base.

secure/caroot/Makefile doesn't have anything interesting to package, but its
subdirectories might. Move the PACKAGE= to Makefile.inc so both blacklisted
and trusted get packaged consistently into the correct one rather than the
default -utilities. Also tag the directories for package=caroot, as they
could also be empty; blacklisted is empty by default, but trusted is not.

Add a post-install script to do certctl rehash, along with a note should we
eventually come up with a way to detect that files have been added or
removed that requires a rehash.

-caroot gets a dependency on -utilities, as that's where we provide certctl
at the moment. We can perhaps reconsider this and put certctl into this
package in the future, but there are some bits within -utilities that
unconditionally invoke certctl so let's hold off for now.

Reviewed by:	manu (earlier version, before -utilities dep added)
Differential Revision:	https://reviews.freebsd.org/D23352
2020-01-29 18:47:08 +00:00
Kyle Evans
d353e1199a pkgbase: kill off clibs.ucl and docs.ucl
These are just direct copies of the template. If they don't exist but are
attempted to be used, generate-ucl.sh will simply fallback to the template
anyways. Let it do so to reduce potential maintenance burden.
2020-01-29 16:24:16 +00:00
Warner Losh
2e08f5b4ce multi-boot for openstack/qcow images
Make stock FreeBSD more useful for people wishing to use them. The
QEMU folks suggested this change. It adds a serial console which
allows them to interact with FreeBSD from the earliest moments. This
allows them to configure FreeBSD via the serial port to set it up for
CI use.

Reviewed by: kevans@
Sponsored by: Netflix, Inc
Differential Revision: https://reviews.freebsd.org/D22786
2020-01-27 22:40:03 +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
Glen Barber
e2827b51f0 Ensure the TYPE, BRANCH, and REVISION variables are set in
cloudware targets when OSRELEASE is overridden.

Submitted by:	Trond Endrestol
PR:		243287
MFC after:	3 days
Sponsored by:	Rubicon Communications, LLC (netgate.com)
2020-01-13 16:31:00 +00:00
Kyle Evans
324cdd9320 release: chase ports r519089 (rpi-firmware update)
The recent rpi-firmware update renamed "0" to "zero" in the RPi0 DTB
filename

It also included the components needed to boot the RPi4, so install those
now -- interested parties can install sysutils/u-boot-rpi4 and copy
config_rpi4.txt to config.txt on the FAT partition in order to boot the
board. Do note that we currently don't support ethernet/usb/pci.

Reviewed by:	manu
MFC after:	3 days
2019-12-05 16:17:56 +00:00
Kyle Evans
6d180b1360 Remove picobsd build scripts and the remaining tinyware
Postings were sent to -arch@ on 2019/09/13 and 2019/10/01, proposing and
confirming a removal of these scripts on 2019/10/31, due to significant work
needed to bring this into the modern world and nobody having done this work
in the past couple of years. No objections or proposed work was raised in
response to these postings. The tinyware may see a resurrection into a
separate repo for archival purposes if any users of it show interest in
doing so.

MFC after:	never
2019-11-05 02:30:41 +00:00
Kyle Evans
022b70f504 picobsd: add deprecation notices
Notices appear both in picobsd(8) (near the top for easy notice) and are
also printed to stderr on every invocation of picobsd for visibility.

The tentative date for removal is October 31st, as no volunteers have
stepped forward at all from postings to -arch@ at least.

No objection from:	-arch@
MFC after:	3 days
2019-10-21 00:52:21 +00:00
Glen Barber
7d89eed528 Increase the default VMSIZE for raw, qcow2, vhd, and vmdk virtual
machine images due to 'filesystem full' failures.

Sponsored by:	Rubicon Communications, LLC (Netgate)
2019-10-11 16:01:30 +00:00
Colin Percival
4faa50e5c2 Switch EC2 AMIs from using the dual-dhclient script to using the new
dual-dhclient-daemon daemon.  This makes it possible to stop/restart
the dhclients.

MFC after:	1 month
2019-10-02 21:35:39 +00:00
Kyle Evans
2d0a92c9ab Move simple_httpd out of picobsd, add HTTPD option (default OFF)
picobsd/tinyware has had this compact HTTPD server for a long time, and some
people do use it. Move it out into usr.sbin well in advance of any action
being taken on picobsd.

This has been gated behind an HTTPD option defaulted to *off*, primarily for
two reasons:
1.) This code likely needs a good audit, as it's been living off in picobsd
    land for a long time, and
2.) We don't currently ship an httpd and this may not be a welcome surprise.

Reviewed by:	eugen
Differential Revision:	https://reviews.freebsd.org/D21724
2019-10-01 14:55:16 +00:00
Emmanuel Vadot
bf9b4985e9 pkgbase: Move cap_mkdb from runtime to utilities POST-INSTALL
Since login and login.conf moved to the utilities packages move also
the post-install related commands.

Reported by:	mj-mailinglist@gmx.de
Reviewed by:	bapt
2019-09-16 12:51:30 +00:00
Emmanuel Vadot
4c1a82cea5 pkgbase: Create a FreeBSD-utilities package and make it the default one
The default package use to be FreeBSD-runtime but it should only contain
binaries and libs enough to boot to single user and repair the system, it
is also very handy to have a package that can be tranform to a small mfsroot.
So create a new package named FreeBSD-utilities and make it the default one.
Also move a few binaries and lib into this package when it make sense.
Reviewed by:	bapt, gjb
Differential Revision:	https://reviews.freebsd.org/D21506
2019-09-05 14:15:47 +00:00
Emmanuel Vadot
8c15be73b6 pkgbase: Move rc scripts and related files to their own packages
It doesn't need to be in runtime and might help people who want to
experiment with other rc system or don't use one (like in small
embedded mfsroot).

Reviewed by:	bapt, gjb
Differential Revision:	https://reviews.freebsd.org/D21499
2019-09-05 14:08:45 +00:00
Emmanuel Vadot
994c13ef19 pkgbase: Move the bootloader related files to a new FreeBSD-bootloader package
Bootloader file isn't needed for jails so don't include it in FreeBSD-runtime.

Reviewed by:	bapt, delphij, gjb
Differential Revision:	https://reviews.freebsd.org/D21496
2019-09-05 14:06:01 +00:00
Matt Macy
14113f123e Use makefs -t msdos in make_esp_file
With this last piece in place, make -C /usr/src/release release.iso is
finally able to run in a jail. This was not possible before because
msdosfs cannot be mounted inside a jail.

Submitted by:	ryan@ixsystems.com
Reviewed by:	emaste@, imp@, gjb@
MFC after:	1 week
Sponsored by:	iXsystems, Inc.
Differential Revision:	https://reviews.freebsd.org/D21385
2019-09-03 18:37:55 +00:00
Eugene Grosbein
b311688b86 simple_httpd was not buildable for some time due to multiple missing
"static" keywords and -Werror,-Wmissing-variable-declarations

This change adds needed "static" so it builds again with WARNS?=6
No functional changes.

MFC after:	1 week
2019-08-18 01:00:21 +00:00
Conrad Meyer
2826da432c motd: Generate from template to /var/run
Update login(1), its manual pages, similar utilities, and motd.5 to refer to
the new location.

Suggested by:	delphij@ (re: r349256)
Reviewed by:	bcr (manpages), delphij
Differential Revision:	https://reviews.freebsd.org/D20721
2019-07-20 20:56:31 +00:00
Emmanuel Vadot
9553ea80a8 pkgbase: Add a FreeBSD-bluetooth package
Move the bluetooth related files from FreeBSD-runtime to a new package named
FreeBSD-bluetooth
The FreeBSD runtime is only intended to have everything for a working
FreeBSD installation and bluetooth isn't needed for that.

Reviewed by:	bapt, gjb
Differential Revision:	https://reviews.freebsd.org/D20959
2019-07-19 15:10:03 +00:00
Emmanuel Vadot
1ba153e085 pkgbase: Add a FreeBSD-hostapd package
Move the hostapd related files from FreeBSD-runtime to a new package n
FreeBSD-hostapd
The FreeBSD runtime is only intended to have everything for a working
FreeBSD installation and hostapd isn't needed for that.

Reviewed by:	bapt, gjb
Differential Revision:	https://reviews.freebsd.org/D20958
2019-07-19 15:09:00 +00:00
Emmanuel Vadot
d4335dcc83 pkgbase: Add a FreeBSD-wpa package
Move the wpa related files from FreeBSD-runtime to a new package named
FreeBSD-wpa
The FreeBSD runtime is only intended to have everything for a working
FreeBSD installation and wpa isn't needed for that.

Reviewed by:    bapt, gjb
Differential Revision:  https://reviews.freebsd.org/D20957
2019-07-19 15:07:30 +00:00
Warner Losh
37165f2306 Remove RELEASE_CRUNCH here. It's obsolete.
Remove RELEASE_CRUNCH here. It's obsolete and hasn't worked in a while.  The
build options need to be revisited, since many older ones are listed, while
newer useful ones are not. But that rototilling I'll leave to others.
2019-07-15 15:02:40 +00:00
Ed Maste
338412e5a6 picobsd: also exclude .git where we exclude .svn today
Sponsored by:	The FreeBSD Foundation
2019-06-27 13:31:55 +00:00
Glen Barber
343a7eabf3 Include files containing metadata specific to the branch in the
directory where the individual distribution sets exist.

The new metadata files include the build date, svn branch, and
revision of the build.

Requested by:	Mellanox Technologies (via kib)
MFC after:	3 days
Sponsored by:	Rubicon Communications, LLC (Netgate)
2019-06-25 14:56:13 +00:00
Conrad Meyer
c363b16c63 sys: Remove DEV_RANDOM device option
Remove 'device random' from kernel configurations that reference it (most).
Replace perhaps mistaken 'nodevice random' in two MIPS configs with 'options
RANDOM_LOADABLE' instead.  Document removal in UPDATING; update NOTES and
random.4.

Reviewed by:	delphij, markm (previous version)
Approved by:	secteam(delphij)
Differential Revision:	https://reviews.freebsd.org/D19918
2019-06-21 00:16:30 +00:00
Glen Barber
c1f6499260 Fix passing ${CONF_FILES} (which contains MAKE_CONF and
SRC_CONF, __MAKE_CONF and SRCCONF, respectively) through
to arm_install_base() and chroot_arm_build_release().
This prevents failures when the target image is intended
to be build with make.conf(5) and src.conf(5) overrides,
which are correctly handled for non-embedded image builds.

Reported and tested by:	Daniel Engberg
PR:		238615
MFC after:	3 days
Sponsored by:	The FreeBSD Foundation
2019-06-17 22:53:39 +00:00
Glen Barber
899e81f9f8 Revert r348438.
The fix to override the default python version when building
the sysutils/py-google-compute-engine did not work, and there
are still issues that need to be addressed in the port itself.

See bugzilla 238267 for additional details.

MFC after:	6 days
MFC with:	r348438
MFC note:	no-op to appease the merge tracker
Sponsored by:	The FreeBSD Foundation
2019-05-31 18:40:19 +00:00
Glen Barber
885f5b4a47 Increase the size of the Vagrant default image size, as the 3GB
size is too small to bootstrap the firstboot_pkgs list.

While here, add the growfs(8) startup script to /etc/rc.conf,
as Vagrant images can be resized by modifying the Vagrantfile.

Reported by:	dbaio
PR:		238226
MFC after:	1 week
Sponsored by:	The FreeBSD Foundation
2019-05-30 17:00:57 +00:00
Glen Barber
5f0c63b621 Fix GCE virtual machine startup.
The ports/head branch recently switched to python3 as the default,
which breaks the sysutils/py-google-compute-engine startup scripts,
as lang/python installs lang/python3{,.x} where lang/python2{,.x}
are needed.

Set DEFAULT_VERSIONS in release/tools/gce.conf to python=2.7, and
remove the lang/python3 inclusion in VM_EXTRA_PACKAGES.

Additionally, unset DEFAULT_VERSIONS in release/tools/vmimage.subr
to prevent persistence of DEFAULT_VERSIONS=python=2.7 in subsequent
VM/cloud image builds.

Note: at present, this affects only 13-CURRENT and 12-STABLE, as
the stable/11 branch had already switched to using the 2019Q2 branch
at the start of the 11.3-RELEASE cycle, so this does not immediately
affect 11.3-BETA, hence the 1-week merge timeout.  This had been
manually tested on 13-CURRENT.

Reported by:	ler (privately)
MFC after:	1 week
Sponsored by:	The FreeBSD Foundation
2019-05-30 16:49:40 +00:00
Justin Hibbits
37d633c738 Update loader size on powerpc isos
Summary:
loader has grown to the point it's overflowing the existing 307200 bytes
allocated to it in the HFS boot partition on the isos.

Bump the space reservation up to 500k.

Submitted by:	Brandon Bergren
MFC after:	2 weeks
Differential Revision: https://reviews.freebsd.org/D20301
2019-05-20 03:35:14 +00:00
Colin Percival
19a60fdc19 Bump EC2 AMI filesystem size up to 4000 MB.
AMIs have been breaking for the past month due to insufficient disk space.

Due to the small amount of overhead in the disk image, the EC2 AMIs end
up with the same (4GB) minimum disk size.

Reported by:	Michal Krawczyk
2019-05-08 21:03:03 +00:00