aboutsummaryrefslogtreecommitdiff
path: root/release/tools
Commit message (Collapse)AuthorAgeFilesLines
* Remove tmpfs size and properly format generated fstab for armDaniel Engerg2021-03-171-5/+5
| | | | | | | | 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
* release: fix VMSIZE following 1ca8842f3ad9Glen Barber2021-03-044-4/+4
| | | | | | | | | | | | 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: 1ca8842f3ad9 Submitted by: ehem_freebsd_m5p.com (original) Differential Review: https://reviews.freebsd.org/D28979 Sponsored by: Rubicon Communications, LLC ("Netgate")
* Remove /boot/efi from mtree, missed in 0b7472b3d8d2.Nathan Whitehorn2021-03-021-0/+1
| | | | | | | | | 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
* Use makefs(8) in release VM-image generation instead of md(4) and newfs.Nathan Whitehorn2021-02-251-100/+77
| | | | | | | | | | | | | | 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
* Mount the ESP on /boot/efi in VM images.Nathan Whitehorn2021-02-241-1/+10
| | | | | This follows an earlier change (0b7472b3d8d2) for mounting the ESP from systems set up through the installer and should be MFC'ed with it.
* release: fix overriding UNAME_rGlen Barber2021-02-111-0/+4
| | | | Sponsored by: Rubicon Communications, LLC ("Netgate")
* riscv: allow building virtual machine imagesMitchell Horne2020-12-081-1/+1
| | | | | | | | | | | | 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 Notes: svn path=/head/; revision=368422
* release.sh: add support for RISC-V embedded buildsMitchell Horne2020-12-081-3/+3
| | | | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=368421
* release: Add an image for CIEmmanuel Vadot2020-11-021-0/+35
| | | | | | | | | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=367284
* arm64: convert virtual machine images to GPTMitchell Horne2020-10-301-2/+2
| | | | | | | | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=367177
* vmimage.subr: noisier failure for unsupported targetsMitchell Horne2020-10-301-2/+2
| | | | | | | | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=367176
* Slight refactor in vmimage.subrMitchell Horne2020-10-301-24/+30
| | | | | | | | | | | | 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 Notes: svn path=/head/; revision=367175
* Spawn the DHCPv6 client in EC2 instances via rtsold.Colin Percival2020-09-131-3/+13
| | | | | | | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=365696
* Bump the size of EC2 AMIs up to 5 GB.Colin Percival2020-09-131-2/+2
| | | | | | | | | | | | | 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. Notes: svn path=/head/; revision=365695
* Enable EFI system partition on amd64 and i386 VM imagesOleksandr Tymoshenko2020-07-141-0/+5
| | | | | | | | | | | 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 Notes: svn path=/head/; revision=363187
* Make EC2 AMIs use portsnap and freebsd-update mirrors hosted in AWSColin Percival2020-06-301-0/+6
| | | | | | | | | | | | 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 Notes: svn path=/head/; revision=362791
* release: Fix arm GPT imageEmmanuel Vadot2020-06-101-1/+1
| | | | | | | | | msdosfs labels are capitalized, use EFI instead of efi. MFC after: 3 days Notes: svn path=/head/; revision=362010
* Include the shells/bash port on Vagrant images, which preventsGlen Barber2020-05-281-1/+1
| | | | | | | | | | | | 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) Notes: svn path=/head/; revision=361591
* Add ebsnvme-id to EC2 AMIs and enable /dev/aws/diskColin Percival2020-05-181-2/+2
| | | | | | | | | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=361150
* Add /etc/autofs/special_efs to EC2 AMIsColin Percival2020-05-171-0/+17
| | | | | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=361143
* Set use_nvd=0 in EC2 AMIs.Colin Percival2020-04-271-0/+4
| | | | | | | | | | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=360396
* Add support for generating release images using GPT for ARMEmmanuel Vadot2020-04-241-14/+44
| | | | | | | | Submitted by: Daniel Engberg (Original version) Differential Revision: https://reviews.freebsd.org/D22537 Notes: svn path=/head/; revision=360271
* Mount /dev while deinstalling pkg inside EC2 AMIs.Colin Percival2020-02-111-0/+2
| | | | | | | | | | This gets rid of (harmless) warnings: "pkg: Cannot open /dev/null:No such file or directory". MFC after: 2 weeks Notes: svn path=/head/; revision=357750
* Remove /qemu from EC2 ARM AMIsColin Percival2020-02-111-0/+3
| | | | | | | | | | | 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 Notes: svn path=/head/; revision=357749
* multi-boot for openstack/qcow imagesWarner Losh2020-01-271-0/+3
| | | | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=357184
* Switch EC2 AMIs from using the dual-dhclient script to using the newColin Percival2019-10-021-1/+1
| | | | | | | | | | dual-dhclient-daemon daemon. This makes it possible to stop/restart the dhclients. MFC after: 1 month Notes: svn path=/head/; revision=353022
* Fix passing ${CONF_FILES} (which contains MAKE_CONF andGlen Barber2019-06-171-1/+1
| | | | | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=349160
* Revert r348438.Glen Barber2019-05-312-9/+1
| | | | | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=348474
* Increase the size of the Vagrant default image size, as the 3GBGlen Barber2019-05-301-1/+4
| | | | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=348439
* Fix GCE virtual machine startup.Glen Barber2019-05-302-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=348438
* Bump EC2 AMI filesystem size up to 4000 MB.Colin Percival2019-05-081-2/+2
| | | | | | | | | | | | 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 Notes: svn path=/head/; revision=347370
* Increase the default size of the GCE disk image from 3GB to 20GB,Glen Barber2019-05-031-0/+3
| | | | | | | | | | as 3GB is too small as discovered in this week's snapshot builds. MFC after: 3 days Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=347056
* Reduce the default image size for virtual machine disk images fromGlen Barber2019-04-302-3/+3
| | | | | | | | | | | | | | | | | 30GB to 3GB. The raw images can be resized using truncate(1), and other formats can be resized with tools included with other tools included with other hypervisors. Enable the growfs(8) rc(8) at firstboot if the disk was resized prior to booting the virtual machine for the first time. Discussed with: several PR: 232313 (requested in other context) MFC after: 3 days Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=346959
* Add support for cross-building cloudware images.Colin Percival2019-04-032-6/+14
| | | | | | | | | | | | | | If MACHINE_ARCH doesn't match TARGET_ARCH, and we're not in the special case of building i386 images on an amd64 host, we need to pull in the qemu-user-static package; this allows us to run some commands inside the VM disk image chroot, most notably to install packages. Reviewed by: gjb MFC after: 2 weeks Sponsored by: FreeBSD/EC2 patreon (https://www.patreon.com/cperciva) Notes: svn path=/head/; revision=345858
* Only install amazon-ssm-agent into amd64 AMIs.Colin Percival2019-03-201-1/+9
| | | | | | | This package does not exist on aarch64 at present. Notes: svn path=/head/; revision=345317
* Fix sed script to insert Amazon NTP server into ntp.conf once ratherColin Percival2019-02-191-1/+1
| | | | | | | | | | than twice. Reported by: Rafal Lukawiecki MFC after: 1 week Notes: svn path=/head/; revision=344315
* Turn off ec2_ephemeralswap for nowColin Percival2019-01-091-1/+1
| | | | | | | | | | | | | | | | This script broke around FreeBSD 11.0 as a result of SWAPMETA no longer being reported by vmstat -z; but it also needs to be reworked due to the arrival in EC2 of nvme ephemeral disks. I'll turn this option back on after I've found time to rewrite the script in question. PR: 234686 Reported by: meta@ MFC after: 1 week Notes: svn path=/head/; revision=342875
* Rework UEFI ESP generationRebecca Cran2018-12-201-1/+8
| | | | | | | | | | | | | | | | Currently, the installer uses pre-created 800KB FAT12 filesystems that it dd's onto the ESP partition. This changeset improves that by having the installer generate a FAT32 filesystem directly onto the ESP using newfs_msdos and then copying loader.efi into /EFI/freebsd. For live installs it then runs efibootmgr to add a FreeBSD boot entry in the BIOS. Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D17947 Notes: svn path=/head/; revision=342283
* Fix NTP query on GCE due to unresolved hostname.Glen Barber2018-11-261-1/+1
| | | | | | | | | | PR: 232456 Submitted by: Lucas Kanashiro MFC after: 3 days Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=340983
* release: arm64: Add PINEBOOK configEmmanuel Vadot2018-11-261-0/+5
| | | | | | | | | | | | | | | | Add a configuration for PINEBOOK image. Pinebook is a arm64 laptop based on a Pine64 board. Since the usb trackpad need a quirk, add a common function for adding quirk for arm board. A default one is supplied as most board to not need quirks. Reviewed by: gjb MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D18337 Notes: svn path=/head/; revision=340981
* Reduce the GCE image size to 27G to be lower than the freeGlen Barber2018-10-241-0/+3
| | | | | | | | | | | quota limit. PR: 232313 MFC after: 3 days Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=339684
* release.sh: disable colors and the beastie menu for ARM/ARM64 targetsKyle Evans2018-08-301-0/+10
| | | | | | | | | | | | | | | | | | | lualoader has moved to a model where the user is expected to disable color as desired, rather than disabling it automatically for serial boots, due to more wide-spread support for color sequences. In a similar vain, though also to reduce special cases, lualoader no longer disables the beastie menu automatically for !x86. This was done in Forth land with a different loader.rc that simply didn't invoke the menu routines, thus wasn't necessary. This set of changes puts release images back to how they would've been experienced prior to the switch to Lua. Approved by: re (rgrimes) Notes: svn path=/head/; revision=338400
* Disable atkbd0 and atkdbc0 in EC2 AMIs. This has the effect of skippingColin Percival2018-08-261-0/+7
| | | | | | | | | | | | | | | | | the probing and attaching of the PS/2 mouse (not present on EC2) and keyboard (emulated, but not accessible via EC2). Note that we disable atkbd0 separately even though during device probing it shows up as a child of atkbdc0; this is necessary because the device is also initialized during the early console setup from hammer_time. This change cuts the kernel boot time on an EC2 c5.4xlarge instance from 7259ms down to 4727 ms. Approved by: re (marius) Notes: svn path=/head/; revision=338321
* release: arm: Setup overlays if board config defines someEmmanuel Vadot2018-08-241-0/+12
| | | | | | | Approved by: re (gjb) Notes: svn path=/head/; revision=338295
* Copy the boot loader from the new location for the co-existingWarner Losh2018-08-171-1/+1
| | | | | | | | | loaders. Reviewed by: gjb@ Notes: svn path=/head/; revision=337989
* Add a space between a variable and escaped new line.Glen Barber2018-08-131-1/+1
| | | | | | | | | MFC after: 3 days MFC with: r337717 Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=337718
* Add lang/python2, lang/python3, and lang/python to GCE imagesGlen Barber2018-08-131-1/+2
| | | | | | | | | | | | | to help avoid hard-coding 'python<MAJOR>.<MINOR>' in several scripts in the client-side scripts. PR: 230248 MFC after: 3 days Submitted by: gustavo.scalet@collabora.com Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=337717
* Invoke the growfs rc script for each boot on GCE.Glen Barber2018-08-091-3/+6
| | | | | | | | | | PR: 230275 Submitted by: gustavo.scalet@collabora.com MFC after: 3 days Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=337556
* Update and replace old rc daemons for GCE images.Glen Barber2018-08-091-2/+1
| | | | | | | | | | PR: 229000 Submitted by: helen.koike@collabora.com MFC after: 3 days Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=337555
* release: arm: Copy the dtb to the fat partitionEmmanuel Vadot2018-08-061-0/+2
| | | | | | | | | | | | | | | | | | | When booting via EFI on arm we have no way to know the dtb file to load and we always use the one provided from the bootloader. This works in most case but : U-Boot have some really old DTB for some boards, the sync from Linux isn't done automatically for all boards Some boards (like TI BeagleBone series) use one u-boot for all the model and it doesn't embed the DTBs Some boards (like IMX6 based ones), don't embed the DTB We want u-boot to load and patch the DTB with the mac address or the display node enabled or not. Reviewed by: gjb, imp Differential Revision: https://reviews.freebsd.org/D16596 Notes: svn path=/head/; revision=337383