Commit Graph

7929 Commits

Author SHA1 Message Date
Emmanuel Vadot
ff9c6d3f09 release: Rename arm64/RPI3.conf to arm64/RPI.conf
We now have a u-boot port and config.txt for booting on all 64bits
variant of the RPI boards (RPI2v1.1, RPI3* and RPI4*) so use
the new u-boot-rpi-arm64 and the config_arm64.txt files.

Discussed with: karels, kevans
2020-12-15 15:13:06 +00:00
Glen Barber
4708d329f8 Fix staging riscv images.
Sponsored by:	Rubicon Communications, LLC (netgate.com)
2020-12-09 20:38:26 +00:00
Glen Barber
5523003a4c Copy arm64 make-memstick.sh and mkisoimages.sh to the riscv
directory to allow properly building *.iso and *.img files.

Sponsored by:	Rubicon Communications, LLC (netgate.com)
2020-12-09 02:21:25 +00:00
Mitchell Horne
3083b412e9 release: don't checksum images if there are none
For platforms that don't have any of the memstick, cdrom, or dvdrom
release images (i.e. riscv64), the release-install target will trip up
when invoking md5(1) on the non-existent image files. Skipping this
allows the install to complete successfully.
2020-12-08 00:48:50 +00:00
Mitchell Horne
a0b9e2e854 RISC-V release confs
Add two release flavors for RISC-V. First, the traditional "big-iron"
images, capable of generating distribution sets and VM images. Installer
images won't be built yet, but can be trivially enabled in the future
with the addition of riscv/make-memstick.sh.

Second, a GENERICSD embedded image. I've opted for this instead of
board-specific SD card images as it allows users to just dd the u-boot
they want. The RISC-V hardware ecosystem is still young, so a
configuration for e.g. the new PolarFire SoC Icicle Kit would likely see
very few users.

Reviewed by:	gjb
Relnotes:	yes
Differential Revision:	https://reviews.freebsd.org/D27045
2020-12-08 00:42:03 +00:00
Mitchell Horne
d46a2a0013 riscv: allow building virtual machine images
RISC-V has the same booting requirements as arm64 (loader.efi, no legacy
boot options), so generated images for both architectures have the same
partition layout.

Reviewed by:	gjb
Differential Revision:	https://reviews.freebsd.org/D27044
2020-12-08 00:37:11 +00:00
Mitchell Horne
86635d4992 release.sh: add support for RISC-V embedded builds
Since the few existing RISC-V hardware platforms are single board
computers, we can piggyback off of arm/arm64's embedded build support
for generating SD card images.

I don't see a pressing need to change the naming in this file at this
time.

Reviewed by:	gjb, manu
Differential Revision:	https://reviews.freebsd.org/D27043
2020-12-08 00:35:13 +00:00
Emmanuel Vadot
e6b9cee76b release: Merge the RPI2 and BEAGLEBONE image with the GENERICSD one
Both RPI2 and BEAGLEBONE are still popular and used arm boards.
Both u-boots can coexist as they are named differently and live in the
fat partition.
This leave us with only one image that can be used for both of those
boards and all the other ones supported by FreeBSD provided that you
install the correct u-boot on it.

Reviewed by:	imp
Relnotes:	yes
Differential Revision:	https://reviews.freebsd.org/D27283
2020-11-24 17:53:13 +00:00
Emmanuel Vadot
a3b4dcfd68 Release: arm: Remove config for old boards
All those board are impossible to buy nowadays and could boot using the
GENERICSD image after putting the correct u-boot on them.

Reviewed by:	imp
Relnotes:	yes
Differential Revision:	https://reviews.freebsd.org/D27282
2020-11-24 17:52:01 +00:00
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