| #
251907ca
|
| 14-Mar-2026 |
Colin Percival <cperciva@FreeBSD.org> |
EC2: Fix comment re avoiding unicode
We're avoiding *unicode*, not avoiding *ascii*.
Reported by: marck Fixes: 277830b4d3ae ("EC2: Don't use unicode in boot loader") MFC after: 3 days
|
| #
277830b4
|
| 13-Mar-2026 |
Colin Percival <cperciva@FreeBSD.org> |
EC2: Don't use unicode in boot loader
The boot loader menu is disabled by default in EC2, but if it is ever turned on, the default (unicode) output breaks EC2's web interface to the serial console.
EC2: Don't use unicode in boot loader
The boot loader menu is disabled by default in EC2, but if it is ever turned on, the default (unicode) output breaks EC2's web interface to the serial console.
Set loader_menu_frame="ascii" instead.
MFC after: 3 days Sponsored by: Amazon
show more ...
|
| #
54e00636
|
| 11-Dec-2025 |
Ed Maste <emaste@FreeBSD.org> |
release: Remove not-NO_ROOT cases
We always use NO_ROOT for release artifact builds, so remove the alternate code paths.
For the first step we set NO_ROOT unconditionally in cases that invoke subma
release: Remove not-NO_ROOT cases
We always use NO_ROOT for release artifact builds, so remove the alternate code paths.
For the first step we set NO_ROOT unconditionally in cases that invoke submakes, and turn NO_ROOT being unset into an error in lover-level targets so that we can catch potential out-of-tree build scripts (or missed in-tree cases) that expect to run not-NO_ROOT builds. The second step will be to remove those entirely.
Reviewed by: cperciva Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D54179
show more ...
|
| #
8027de00
|
| 16-Sep-2025 |
Mark Johnston <markj@FreeBSD.org> |
release: Prepare EC2 cloudware images to be buildable as non-root
- Avoid chrooting to uninstall pkg, as it will not be installed in the first place when in non-root mode. - Add metalog entries.
release: Prepare EC2 cloudware images to be buildable as non-root
- Avoid chrooting to uninstall pkg, as it will not be installed in the first place when in non-root mode. - Add metalog entries.
Reviewed by: cperciva MFC after: 3 days Sponsored by: The FreeBSD Foundation Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D52452
show more ...
|
| #
1d6b6ea2
|
| 11-Sep-2025 |
Mark Johnston <markj@FreeBSD.org> |
release: Create /firstboot in common VM image creation code
Some services, such as growfs, only run upon the first boot of an image. The first boot is indicated by the presence of the file /firstboo
release: Create /firstboot in common VM image creation code
Some services, such as growfs, only run upon the first boot of an image. The first boot is indicated by the presence of the file /firstboot, which is unlinked after boot.
Individual cloudware types shouldn't be responsible for creating it. Do so in a centralized place. Aside from simplifying things, this ensures that we create a metalog entry for the firstboot file.
Reviewed by: cperciva, emaste MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D52450
show more ...
|
| #
778bfd4e
|
| 28-Aug-2025 |
Colin Percival <cperciva@FreeBSD.org> |
Chase pkg repo rename in cloudware builds
We ship cloudware images without a downloaded copy of the pkg repo database, since it will typically be wildly out of date by the time cloudware releases ge
Chase pkg repo rename in cloudware builds
We ship cloudware images without a downloaded copy of the pkg repo database, since it will typically be wildly out of date by the time cloudware releases get launched. These paths changed due to the "FreeBSD" -> "FreeBSD-ports" renaming in /etc/pkg/FreeBSD.conf.
While I'm here, nuke the FreeBSD-ports-kmods repo database too; I forgot to add that when we added that to /etc/pkg/FreeBSD.conf.
Fixes: c83705a5756e ("Rename FreeBSD* pkg repos to FreeBSD-ports*")
show more ...
|
| #
9a685c09
|
| 14-May-2025 |
Colin Percival <cperciva@FreeBSD.org> |
EC2: Remove old broken_txfifo workaround
Early versions of Xen, including those used in the early days of EC2, had a bug in their UART emulation whereby the TX FIFO wouldn't send the expected interr
EC2: Remove old broken_txfifo workaround
Early versions of Xen, including those used in the early days of EC2, had a bug in their UART emulation whereby the TX FIFO wouldn't send the expected interrupt when emptying; as a result, FreeBSD would write 16 characters to the serial console and then stop because we thought the FIFO was forever full.
In 2013 (1c60b24baa50) I added a loader tunable "hw.broken_txfifo" which spinwaits for the FIFO TX rather than relying on the interrupt, and enabled this in loader.conf in EC2 images.
A decade later, this workaround is almost certainly no longer needed in EC2 -- most instances don't run Xen, and the bug was long since fixed in Xen anyway -- but we've been holding on to the workaround "just in case". Unfortunately, the spinwait behaviour is causing latency spikes and triggering warnings from the ena(4) driver.
This commit removes the hw.broken_txfifo setting from loader.conf in EC2 images, but leaves the loader tunable and associated code, since it has been necessary in some other environments. (It seems that the TX FIFO missing-interrupts bug has been independently written at least three times!)
MFC after: 1 minute Sponsored by: Amazon
show more ...
|
| #
ce9a34b1
|
| 23-Apr-2025 |
Colin Percival <cperciva@FreeBSD.org> |
Turn off hw.pci.intx_reroute in EC2
Having this enabled on Graviton systems prior to Graviton 4 results in a resource leak and a kernel panic after repeated hotplug/unplug.
MFC after: 3 days Sponso
Turn off hw.pci.intx_reroute in EC2
Having this enabled on Graviton systems prior to Graviton 4 results in a resource leak and a kernel panic after repeated hotplug/unplug.
MFC after: 3 days Sponsored by: Amazon
show more ...
|
| #
80febaa1
|
| 31-Mar-2025 |
Colin Percival <cperciva@FreeBSD.org> |
EC2: Set PCIe eject timeout to 0
Since PCIe device detaching is done via API, there is no opportunity to "press the attention button a second time" and thus the 5 second timeout mandated by PCIe ser
EC2: Set PCIe eject timeout to 0
Since PCIe device detaching is done via API, there is no opportunity to "press the attention button a second time" and thus the 5 second timeout mandated by PCIe serves no purpose.
MFC after: 2 weeks Sponsored by: Amazon
show more ...
|
| #
55c3348e
|
| 06-Mar-2025 |
Colin Percival <cperciva@FreeBSD.org> |
acpi_pci: Add quirk for DELAY-after-EJ0
On some EC2 instances, there is a race between removing a device from the system and making the PCI bus stop reporting the presence of the device. As a resul
acpi_pci: Add quirk for DELAY-after-EJ0
On some EC2 instances, there is a race between removing a device from the system and making the PCI bus stop reporting the presence of the device. As a result, a PCI BUS_RESCAN performed immediately after the _EJ0 method returns "sees" the device which is being ejected, which then causes problems later (e.g. we won't recognize a new device being plugged into that slot because we never knew it was vacant).
On other operating systems the bus is synchronously marked as needing to be rescanned but the rescan does not occur until O(1) seconds later.
Create a new ACPI_Q_DELAY_BEFORE_EJECT_RESCAN quirk and set it in EC2 AMIs, and add a 10 ms DELAY between _EJ0 and BUS_RESCAN when tht quirk is set.
Reviewed by: jhb MFC after: 1 month Sponsored by: Amazon Differential Revision: https://reviews.freebsd.org/D49252
show more ...
|
| #
d70bac25
|
| 27-Feb-2025 |
Colin Percival <cperciva@FreeBSD.org> |
acpi_pci: Add quirk for PSTAT_PME-before-detach
In order to signal to Graviton [123] systems that a device is ready to be "ejected" (after a detach request is made via the EC2 API) we need to set PC
acpi_pci: Add quirk for PSTAT_PME-before-detach
In order to signal to Graviton [123] systems that a device is ready to be "ejected" (after a detach request is made via the EC2 API) we need to set PCIM_PSTAT_PME to 1 and PCIM_PSTAT_PMEENABLE to 0. We are not aware of any rationale for this requirement beyond "another OS kernel happens to do this", i.e. this is effectively bug-for-bug compatibility.
Arguably this should be done by the ACPI _EJ0 method on these systems, but it is not.
Create a new ACPI_Q_CLEAR_PME_ON_DETACH quirk and set it in EC2 AMIs, and add the PCI register write to acpi_pci_device_notify_handler when that quirk is set.
Reviewed by: jhb MFC after: 1 month Sponsored by: Amazon Differential Revision: https://reviews.freebsd.org/D49146
show more ...
|
| #
078e8b34
|
| 04-Feb-2025 |
Colin Percival <cperciva@FreeBSD.org> |
release: Chase location of pkg repo databases
pkg used to store copies of upstream repository databases in /var/db/pkg/repo-*.sqlite. About a year ago this was moved to /var/db/pkg/repos/*/, result
release: Chase location of pkg repo databases
pkg used to store copies of upstream repository databases in /var/db/pkg/repo-*.sqlite. About a year ago this was moved to /var/db/pkg/repos/*/, resulting in FreeBSD cloud images no longer having those (unhelpful since they'll be long out of date before the cloud images are launched) databases removed.
Remove the correct location, and hope that future pkg updates don't break the base system again.
Sponsored by: Amazon
show more ...
|
| #
2f3f867a
|
| 22-Oct-2024 |
Colin Percival <cperciva@FreeBSD.org> |
ACPI: Add ACPI_Q_AEI_NOPULL quirk and use in EC2
AWS Graviton [1234] systems have a bug in their ACPI where they mark the PL061's GPIO pins as needing to be configured in PullUp mode (in fact the PL
ACPI: Add ACPI_Q_AEI_NOPULL quirk and use in EC2
AWS Graviton [1234] systems have a bug in their ACPI where they mark the PL061's GPIO pins as needing to be configured in PullUp mode (in fact the PL061 has no pullup/pulldown resistors); this flag needs to be removed in order for _AEI objects to be handled on these systems.
Reviewed by: Ali Saidi MFC after: 1 week Sponsored by: Amazon Differential Revision: https://reviews.freebsd.org/D47239
show more ...
|
| #
a0018c65
|
| 13-Oct-2024 |
James Wright <james.wright@digital-chaos.com> |
EC2: Disable floppy and parallel port devices
PR: 233861 Reviewed by: lwhsu, imp Differential Revision: https://reviews.freebsd.org/D18482
|
| #
714a6d43
|
| 18-Sep-2024 |
Colin Percival <cperciva@FreeBSD.org> |
EC2: Set entropy_efi_seed_size to 64
This dramatically improves boot speeds on Graviton 2 instances.
MFC after: 1 week Sponsored by: Amazon Differential Revision: https://reviews.freebsd.org/D46636
|
| #
0aabcd75
|
| 11-Sep-2024 |
Colin Percival <cperciva@FreeBSD.org> |
EC2: Disable RSA host key generation for sshd
These are largely obsolete, and generating them is responsible for over 10% of the total boot time of EC2 instances.
Sponsored by: Amazon Differential
EC2: Disable RSA host key generation for sshd
These are largely obsolete, and generating them is responsible for over 10% of the total boot time of EC2 instances.
Sponsored by: Amazon Differential Revision: https://reviews.freebsd.org/D46638
show more ...
|
| #
40ff0753
|
| 31-Aug-2024 |
Colin Percival <cperciva@FreeBSD.org> |
EC2: Make amazon-ssm-agent optional
Move it from VM_EXTRA_PACKAGES in ec2.conf to VM_EXTRA_PACKAGES in ec2-{base,cloud-init}.conf
Sponsored by: Amazon Differential Revision: https://reviews.freebsd
EC2: Make amazon-ssm-agent optional
Move it from VM_EXTRA_PACKAGES in ec2.conf to VM_EXTRA_PACKAGES in ec2-{base,cloud-init}.conf
Sponsored by: Amazon Differential Revision: https://reviews.freebsd.org/D46508
show more ...
|
| #
f961ddb2
|
| 31-Aug-2024 |
Colin Percival <cperciva@FreeBSD.org> |
EC2: Move network config into a separate function
Having the "base" FreeBSD network configuration (aka. what is used when not using cloud-init) in ec2.conf will allow us to reuse it in other AMIs.
EC2: Move network config into a separate function
Having the "base" FreeBSD network configuration (aka. what is used when not using cloud-init) in ec2.conf will allow us to reuse it in other AMIs.
Sponsored by: Amazon Differential Revision: https://reviews.freebsd.org/D46507
show more ...
|
| #
2dac89ae
|
| 18-Aug-2024 |
Colin Percival <cperciva@FreeBSD.org> |
EC2: Bump AMI size to 8 GB
8 GB root disk images make FreeBSD/EC2 boot much faster than 6 GB root disk images.
MFC after: 2 days Sponsored by: Amazon
|
| #
0b1c5628
|
| 06-May-2024 |
Colin Percival <cperciva@FreeBSD.org> |
release: Rework vm_extra_pre_umount
The vm_extra_pre_umount function in vmimage.subr served two purposes: It removed /etc/resolv.conf and /qemu (if cross-building), and it provided a function for cl
release: Rework vm_extra_pre_umount
The vm_extra_pre_umount function in vmimage.subr served two purposes: It removed /etc/resolv.conf and /qemu (if cross-building), and it provided a function for cloudware to override in order to make cloud specific changes to the filesystem before constructing a disk image.
This resulted in a number of bugs: 1. When cross-building, the emulator binary was left as /qemu in the Azure, GCE, Openstack and Vagrant images. 2. The build host's resolv.conf was left as /etc/resolv.conf in the basic-ci and basic-cloudinit images. 3. When building GCE images, a Google-specific resolv.conf file was constructed, and then deleted before the disk image was created.
Move the bits needed for running code inside a VM staging directory from vm_install_base into a new vm_emulation_setup routine, and move the corresponding cleanup bits from vm_extra_pre_umount to a new vm_emulation_cleanup routine.
Remove the /qemu and /etc/resolv.conf cleanups from the cloudware configuration files (where they exist) since we will now be running vm_emulation_cleanup to remove those even when vm_extra_pre_umount has been overridden.
Override vm_emulation_cleanup in gce.conf since in that one case (and *only* that one case) we don't want to clean up resolv.conf (since it was constructed for the VM image rather than copied from the host).
releng/14.1 candidate.
MFC after: 1 week Sponsored by: https://www.patreon.com/cperciva
show more ...
|
| #
8a735ffd
|
| 28-Dec-2023 |
Colin Percival <cperciva@FreeBSD.org> |
EC2: Bump AMI size to 6 GB
This week's cloud-init ZFS snapshots ran out of disk space.
|
| #
fada6e23
|
| 09-Sep-2023 |
Colin Percival <cperciva@FreeBSD.org> |
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.
Discu
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
show more ...
|
| #
63aa2e91
|
| 27-Sep-2023 |
Mark Johnston <markj@FreeBSD.org> |
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
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
show more ...
|
| #
d0b2dbfa
|
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
Remove $FreeBSD$: one-line sh pattern
Remove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/
|
| #
267411d1
|
| 08-Jun-2023 |
Colin Percival <cperciva@FreeBSD.org> |
EC2: Chase awscli package rename
MFC after: 1 week
|