aboutsummaryrefslogtreecommitdiff
path: root/release/Makefile.ec2
Commit message (Collapse)AuthorAgeFilesLines
* EC2: Drop UEFI-PREFERRED from AMI namesColin Percival2024-08-191-1/+6
| | | | | | | | | | | | | | | | | | Starting in September 2021 EC2 AMI names have included the boot method: "BIOS", "UEFI", or "UEFI-PREFERRED". The third option became available in June 2023 and allows AMIs to boot via UEFI on EC2 instance types which support that, but fall back to (much slower) BIOS booting on the instance types which don't support UEFI. Since UEFI-PREFERRED is basically a best-of-both-worlds option and is now the default, there's no point mentioning it in the AMI names. If for some reason an AMI is built with the boot method forced to BIOS or UEFI, that will still be included in the AMI name. This will not be MFCed, in case anyone has scripts which look at the AMI names on 13.x/14.x. Sponsored by: Amazon
* Makefile.ec2: Add missing CLEANFILES entryColin Percival2024-08-191-0/+1
| | | | | | | Without this, "make clean ec2ami" won't build a new AMI. MFC after: 3 days Sponsored by: Amazon
* release: Support r/o /usr/ports for cloudwareColin Percival2024-04-121-6/+10
| | | | | | | | | | Set WRKDIRPREFIX=/tmp/ports DISTDIR=/tmp/distfiles when building tools needed for uploading cloudware images. While I'm here, adjust the bsdec2-image-upload build target to match the style used by the Azure/GCE/Vagrant Makefiles. MFC after: 3 days
* EC2: Flavour existing AMIs as "base"Colin Percival2023-09-281-7/+9
| | | | | | | | | | | | | | 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
* Remove $FreeBSD$: one-line sh patternWarner Losh2023-08-161-1/+0
| | | | Remove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/
* EC2: Build and upload AMIs for both UFS and ZFSColin Percival2023-08-091-7/+11
| | | | | | | | | | 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
* EC2: Respect ${VMFS}Colin Percival2023-08-091-3/+5
| | | | | | | | | | | | | 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
* EC2: Default to "uefi-preferred" boot modeColin Percival2023-06-141-1/+4
| | | | | | | | | | | | | | | | | | | 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
* EC2: Default to UEFI bootingColin Percival2021-09-161-4/+0
| | | | | | | | | | | | | | | | | This reduces the FreeBSD boot time by approximately 5 seconds, roughly equally divided betwenn two factors: * Disk I/O is faster in the EFI loader since it can perform larger I/Os. (The BIOS loader is limited due to the use of bounce buffers in sub-1M memory.) * The EFI console is much faster than the VGA console. Note however that not all EC2 instance types support UEFI; as a general rule the newer instances (based on Amazon's "Nitro" platform) support UEFI but the older instances (based on Xen) do not. X-MFC: TBD based on tradeoff between performance and compatibility Relnotes: yes Sponsored by: https://www.patreon.com/cperciva
* EC2: Allow AMI boot mode to be specifiedColin Percival2021-09-161-2/+12
| | | | | | | | | | | | | | | The default boot method for amd64 AMIs is BIOS, but at AMI creation time a flag can be set to specify that UEFI should be used instead. This commit adds a variable AMIBOOTMETHOD which, if set to "UEFI", causes the appropriate flag to be set during AMI creation. The only boot method supported by EC2 for arm64 is UEFI. The names of AMIs are also amended to include the boot method; they now look like "FreeBSD 14.0-CURRENT-amd64-20210915 UEFI". MFC after: 1 week Sponsored by: https://www.patreon.com/cperciva
* Add support for recording EC2 AMI Ids in SSMColin Percival2021-08-271-1/+4
| | | | | | | | | | | | | | | | | | If SSMPREFIX is specified, AMI Ids will be recorded in the SSM Parameter Store under the name ${SSMPREFIX}/${ARCH}/${FLAVOUR}/${ROOTFS}/${REVISION}/${BRANCH} where ARCH is "amd64" or "arm64", FLAVOUR is "base" (but may have other options in the future), ROOTFS is "ufs" (but may have other options in the future), and REVISION and BRANCH have their normal meanings. FreeBSD will be using the public prefix "/aws/service/freebsd", resulting in SSM Parameter names which look like /aws/service/freebsd/amd64/base/ufs/14.0/CURRENT Relnotes: yes Sponsored by: https://patreon.com/cperciva MFC after: 2 weeks
* release: sprinkle UNAME_r hacks following c883b6fd8ccdGlen Barber2021-03-041-1/+1
| | | | | | | | | Pass UNAME_r override to make(1) for ports builds when building ports for another branch. MFC after: 3 days MFC with: 0be274d37379, 80ab50e1de19, c883b6fd8ccd Sponsored by: Rubicon Communications, LLC ("Netgate")
* release: update to use git instead of svn:Glen Barber2020-08-121-1/+1
| | | | | | | | | | | | | | | | 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) Notes: svn path=/projects/release-git/; revision=364170
* Makefile.inc1:Glen Barber2020-07-161-26/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | - 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) Notes: svn path=/projects/release-git/; revision=363258
* Pass --arm64 to bsdec2-image-upload when building ARM64 AMIs.Colin Percival2019-03-201-1/+5
| | | | | | | | Future commits will allow the resulting EC2 AMIs to actually boot and be usable. Notes: svn path=/head/; revision=345316
* Quieten the svn (or svnlite) commands used to extract information from anColin Percival2018-08-211-2/+2
| | | | | | | | | | | | | | SVN checkout for placement into an EC2 AMI. We only run these if there is a .svn directory; but in the event that SVN was used to check out a tree which is then exported over NFS, we were unnecessarily noisy. Reported by: Andrey Fesenko MFC after: 3 days X-MFC-With: r336420, r336433, r336593, r336621, r336622, r336624, r337394, r337401 Notes: svn path=/head/; revision=338141
* Fix copy-and-paste error in previous commit.Colin Percival2018-08-071-1/+1
| | | | Notes: svn path=/head/; revision=337401
* Add EC2PUBLICSNAP option to EC2 builds; this passes a (recently added)Colin Percival2018-08-061-1/+4
| | | | | | | | | | | flag to bsdec2-image-upload instructing it to mark the snapshot of its root disk as public (which is independent from marking the created AMIs as public). Requested by: Amazon Notes: svn path=/head/; revision=337394
* fix use of empty in Makefile.ec2Matt Macy2018-07-221-2/+2
| | | | | | | | | empty() takes a variable name - not the expanded value Reported by: sjg Notes: svn path=/head/; revision=336624
* Correctly reference SRCTOP, avoid multiple invocations of svnMatt Macy2018-07-221-3/+9
| | | | | | | Reported by: sjg Notes: svn path=/head/; revision=336622
* fix build non-svn checkouts post r336593Matt Macy2018-07-221-0/+5
| | | | | | | | | The change made in r336593 assumes that the build is happening in a svn checkout resulting in misleading debug output. Check that we're actually working in an svn checkout before proceeding to call svn. Notes: svn path=/head/; revision=336621
* Use svn or svnlite, or ${SVN_CMD} if set, for extracting the SVN branchColin Percival2018-07-211-3/+14
| | | | | | | | | | | | | and revision number announced in SNS notifications about new EC2 AMIs. While I'm here, incorporate that information into the AMI "description" fields, since it's more useful than simply echoing the information already provided via the AMI "name". Approved by: gjb Notes: svn path=/head/; revision=336593
* Check that EC2SNSTOPIC and EC2PUBLIC are non-empty, along with beingColin Percival2018-07-171-2/+2
| | | | | | | | | defined, in order to avoid problems with thermite.sh. Reported by: gjb Notes: svn path=/head/; revision=336433
* Teach EC2 AMI release code to send an SNS notification after publishingColin Percival2018-07-171-1/+8
| | | | | | | | | | new AMIs if EC2SNSTOPIC is defined. Reviewed by: gjb Requested by: Amazon Notes: svn path=/head/; revision=336420
* Turn on support for the Amazon "Elastic Network Adapter" in EC2 AMIs.Colin Percival2017-05-251-1/+1
| | | | | | | X-MFC-after: 318647 + fixes for some lock ordering warnings Notes: svn path=/head/; revision=318894
* Add 'env - PATH=$$PATH' to bsdec2-image-upload make command, in order toColin Percival2016-06-091-1/+1
| | | | | | | | | | | avoid environment pollution problems. That port uses <bsd.prog.mk> but is not compatible with the latest mk bits in HEAD. Reported by: gjb No rush, but make sure it's in the tree before tomorrow by: gjb Notes: svn path=/head/; revision=301716
* Enable "EC2 Enhanced Networking" (aka. SR-IOV networking) when creatingColin Percival2016-01-121-1/+1
| | | | | | | | | | EC2 images. X-MFC after: if/when the driver fixes get MFCed Relnotes: FreeBSD now supports EC2 Enhanced Networking Notes: svn path=/head/; revision=293739
* Remove the HH-MM suffix from the build date suffix.Glen Barber2015-07-011-1/+1
| | | | | | | | | | | | It was useful when working out several kinks when testing automated image uploading when retrying was necessary, but now it is making things much too messy. MFC after: 3 days Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=285005
* Change the hour:minute delimiter from ':' to '-', sinceGlen Barber2015-06-251-1/+1
| | | | | | | | | | the former is an invalid character in EC2 images. MFC after: 3 days Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=284812
* Consider PRERELEASE builds snapshots, in addition to CURRENT andGlen Barber2015-06-251-1/+1
| | | | | | | | | | STABLE. MFC after: 3 days Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=284811
* Append the hour and minute to the snapshot suffix for EC2Glen Barber2015-06-211-1/+1
| | | | | | | | | | | | AMIs and Azure VM images. This is particularly helpful for testing to avoid name collisions, but also useful for cases where a necessary rebuild is done before the date changes. MFC after: 3 days Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=284676
* Remove trailing tabs to avoid spamming stdout with long lines.Glen Barber2015-06-021-4/+4
| | | | | | | | MFC after: 3 days Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=283919
* Include the TARGET in the EC2 AMI name.Glen Barber2015-05-211-2/+2
| | | | | | | | | | | Without this, AWS rejects subsequent image uploads of a different architecture because the name conflicts. MFC after: 3 days Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=283252
* Remove a debugging line that snuck in with r282419.Glen Barber2015-05-041-1/+0
| | | | | | | | | | Pointyhat: gjb MFC after: 3 days X-MFC-With: r282419 Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=282435
* Add logic to detect if the net/bsdec2-image-upload port needsGlen Barber2015-05-041-1/+13
| | | | | | | | | | | | | | | | to be installed. [1] For the cw-ec2-portinstall and ec2ami targets, touch the .TARGET file after completion to prevent duplicate invocations. Add cw-ec2-portinstall and ec2ami to CLEANFILES. Submitted by: cperciva[1] MFC after: 3 days Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=282419
* Add the cw-ec2-portinstall target to always install theGlen Barber2015-04-271-6/+10
| | | | | | | | | | net/bsdec2-image-upload port. MFC after: 3 days Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=282116
* Add code for creating an EC2 AMI.Colin Percival2015-04-011-0/+44
Notes: svn path=/head/; revision=280928