FreeBSD on EC2

If you want to run FreeBSD on a Cluster Compute, High I/O instance or m3.* instance, stop reading here and instead go to the FreeBSD entry in the AWS Marketplace.

The following FreeBSD AMIs are available (additional obsolete AMIs are listed at the bottom of this page). For most users and applications, the FreeBSD 9.1-RELEASE for 64-bit Windows AMI will be the most appropriate one to use.

To use FreeBSD/EC2:

  1. Look in the table below and find the correct AMI number for the version of FreeBSD you want (most likely the highlighted row) and the EC2 region you want to launch the EC2 instance into.
  2. Launch the EC2 instance.
  3. Adjust your security group if necessary to allow incoming TCP connections on port 22 (SSH) from your IP address.
  4. (Optional) Look at the EC2 instance console output ("Get System Log" on the EC2 console) for the SSH host keys. Note that you may need to wait about five minutes for these to appear. (You can also use my ec2-knownhost script to parse the EC2 console log and add keys to your ssh known_hosts file automatically.)
  5. For releases prior to 9.1-RC2 or 8.4-BETA1, SSH in as "root". For 9.1-RC2 or 8.4-BETA1 and later releases, SSH in as "ec2-user".
  6. You can now use the EC2 instance like any other FreeBSD system, with the exception that you can't use FreeBSD Update to fetch kernel security updates (you'll need to manually rebuild and reinstall the XENHVM kernel).

FreeBSD version us-east-1
(N Virginia)
us-west-1
(N California)
eu-west-1
(Ireland)
ap-southeast-1
(Singapore)
ap-northeast-1
(Tokyo)
us-west-2
(Oregon)
sa-east-1
(Sao Paulo)
ap-southeast-2
(Sydney)
FreeBSD 9.1-RELEASE
For 64-bit "Windows" instances
ami-5339bb3a ami-4c8baa09 ami-c0b2bfb4 ami-35054767 ami-cef348cf ami-aa09819a ami-05fc2418 ami-d54addef
FreeBSD 9.1-RELEASE
For 32-bit "Windows" instances
ami-9d38baf4 ami-9c88a9d9 ami-68b2bf1c ami-0905475b ami-b6f348b7 ami-b2098182 ami-0dfc2410 ami-d34adde9
FreeBSD 9.1-RELEASE
For Cluster Compute, High-I/O, and "m3" instances
ami-d738babe ami-7cb2bf08
FreeBSD 8.4-RELEASE
For 64-bit "Windows" instances
ami-29611440 ami-31eac474 ami-bb9080cf ami-978cc2c5 ami-f743cbf6 ami-5769f867 ami-30de7b2d ami-bfe07385
FreeBSD 8.4-RELEASE
For 32-bit "Windows" instances
ami-5f611436 ami-21eac464 ami-d79080a3 ami-eb8cc2b9 ami-eb43cbea ami-5369f863 ami-3ade7b27 ami-43e07379
FreeBSD 8.4-RELEASE
For Cluster Compute, High-I/O, and "m3" instances
ami-4761142e ami-15eac450 ami-11908065 ami-e38cc2b1 ami-cf43cbce ami-6369f853 ami-3ede7b23 ami-59e07363
FreeBSD 7.4b-RELEASE
For 64-bit "Windows" instances
ami-8d985ee4 ami-59e8ba1c ami-541c2c20 ami-1ad7af48 ami-96ca7f97 n/a n/a n/a
FreeBSD 7.4b-RELEASE
For Cluster Compute / High-I/O instances
ami-0d08cc64 n/a n/a n/a n/a n/a n/a n/a

EC2 quirks

In order to work with EC2, the FreeBSD AMIs are slightly modified from what you would have immediately after installing FreeBSD from a release CD:

Packaging new AMIs

The process of building FreeBSD AMIs from scratch is non-trivial; it is much easier to modify and re-bundle one of the existing FreeBSD AMIs:
  1. Launch the FreeBSD AMI you want to base your AMI on.
  2. Make your changes (installing packages, adjusting configurations, etc).
  3. Delete the file /root/.ssh/authorized_keys or /home/ec2-user/.ssh/authorized_keys (otherwise your SSH key will be able to log in to any instances launched from this AMI).
  4. Create the file /root/firstboot (otherwise the AMI you create won't know to download the new SSH public key for logins).
  5. Stop the instance (but do not terminate it).
  6. Use the ec2-create-image tool or the "Create Image" command in the EC2 Management Console to create an AMI from the instance.
  7. Terminate the instance.

About the author

This page is maintained, and the FreeBSD AMIs were produced, by Colin Percival — a FreeBSD developer, a member of the FreeBSD Core team, and the FreeBSD Security Officer. Work to get FreeBSD working on cc1.4xlarge instances was sponsored by SegPub. Work to get FreeBSD 7.4 working on EC2, fix bugs, and improve network performance was sponsored by LineRate Systems. Work to get FreeBSD working on "defenestrated" Windows instances and to further improve network performance was sponsored by an anonymous donor.

Colin is available for consulting on FreeBSD/EC2 if anyone wants to support further work on FreeBSD/EC2. When he's not working on FreeBSD, Colin spends most of his time running his online backup service.


Obsolete AMIs

The following AMIs were released earlier (and remain available) but have been obsoleted by newer AMIs built from the respective branches. Using them is almost certainly a bad idea, since these contain bugs (in some cases, quite severe stability issues) which have been fixed in the newer AMIs.
FreeBSD version us-east-1 us-west-1 eu-west-1 ap-southeast-1 ap-northeast-1 us-west-2 sa-east-1 ap-southeast-2
FreeBSD 9.1-RC3
For 32-bit "Windows" instances
ami-eaf44e83 ami-22082e67 ami-17cecd63 ami-2e23607c ami-844af485 ami-6c58d15c ami-58419845 ami-5fbb2c65
FreeBSD 9.1-RC3
For 64-bit "Windows" instances
ami-d6f44ebf ami-c6082e83 ami-e5cecd91 ami-d0236082 ami-944af495 ami-5658d166 ami-4e419853 ami-4bbb2c71
FreeBSD 9.1-RC3
For Cluster Compute, High-I/O, and "m3" instances
ami-3cf44e55 ami-3fcecd4b
FreeBSD 9.1-RC2
For 32-bit "Windows" instances
ami-a5823ecc ami-a7e8cfe2 ami-235e5e57 ami-ca9fdf98 ami-ba803fbb ami-fc3ab4cc ami-b212cbaf n/a
FreeBSD 9.1-RC2
For 64-bit "Windows" instances
ami-6f833f06 ami-a3e8cfe6 ami-015e5e75 ami-cc9fdf9e ami-c4803fc5 ami-e63ab4d6 ami-d812cbc5 n/a
FreeBSD 9.1-RC2
For Cluster Compute / High-I/O instances
ami-05823e6c n/a n/a n/a n/a n/a n/a n/a
FreeBSD 9.1-RC1
For 32-bit "Windows" instances
ami-f1249198 ami-992f0bdc ami-5bb5b22f ami-c4c78696 ami-0072cf01 ami-9633bca6 ami-d28950cf n/a
FreeBSD 9.1-RC1
For 64-bit "Windows" instances
ami-8b2792e2 ami-af2f0bea ami-49b5b23d ami-cec7869c ami-2a72cf2b ami-9a33bcaa ami-ce8950d3 n/a
FreeBSD 9.1-RC1
For Cluster Compute / High-I/O instances
ami-4324912a n/a n/a n/a n/a n/a n/a n/a
FreeBSD 9.1-BETA1
For 32-bit "Windows" instances
ami-e1b10488 ami-6f5d792a ami-b59691c1 ami-a8b9f8fa ami-b68e33b7 ami-d624abe6 ami-9290498f n/a
FreeBSD 9.1-BETA1
For 64-bit "Windows" instances
ami-a5b104cc ami-0d5d7948 ami-a39691d7 ami-58b8f90a ami-d88e33d9 ami-3623ac06 ami-bc9049a1 n/a
FreeBSD 9.1-BETA1
For Cluster Compute / High-I/O instances
ami-05b1046c n/a n/a n/a n/a n/a n/a n/a
FreeBSD 9.0-RELEASE
For 32-bit "Windows" instances
ami-d560b7bc ami-83a9f7c6 ami-31a69945 ami-22e2a770 ami-8ac6708b ami-ec4ac7dc ami-7a598667 n/a
FreeBSD 9.0-RELEASE
For 64-bit "Windows" instances
ami-1d4c9874 ami-fd6739b8 ami-ddffc0a9 ami-ecb8fdbe ami-b4f640b5 ami-cab73afa ami-a822fdb5 n/a
FreeBSD 9.0-RELEASE
For Cluster Compute / High-I/O instances
ami-479f482e n/a n/a n/a n/a n/a n/a n/a
FreeBSD 9.0-CURRENT @ 2011-01-04
For t1.micro instances only
ami-8cce3fe5 ami-61683824 ami-e388bd97 ami-36bdc364 n/a n/a n/a n/a
FreeBSD 9.0-CURRENT @ 2011-01-01
For t1.micro instances only
ami-f4db2a9d ami-c7643482 ami-5b82b72f ami-aabec0f8 n/a n/a n/a n/a
FreeBSD 9.0-CURRENT @ 2010-12-29
For t1.micro instances only
ami-a0fc0dc9 n/a n/a n/a n/a n/a n/a n/a
FreeBSD 9.0-CURRENT @ 2010-12-12
For t1.micro instances only
ami-c01aeca9 n/a n/a n/a n/a n/a n/a n/a
FreeBSD 8.4-RC3
For 64-bit "Windows" instances
ami-5b543832 ami-df17389a ami-7d352309 ami-e0b1feb2 ami-cbf778ca ami-23b92f13 ami-ce27fdd3 ami-d360f0e9
FreeBSD 8.4-RC3
For 32-bit "Windows" instances
ami-935b37fa ami-d7173892 ami-893422fd ami-fcb1feae ami-79f77878 ami-3db92f0d ami-d627fdcb ami-df60f0e5
FreeBSD 8.4-RC3
For Cluster Compute, High-I/O, and "m3" instances
ami-a55b37cc ami-c3173886 ami-913422e5 ami-f0b1fea2 ami-4ff7784e ami-cbb82efb ami-de27fdc3 ami-e360f0d9
FreeBSD 8.4-RC2
For 64-bit "Windows" instances
ami-ca7414a3 ami-b6a28ef3 ami-72adb906 ami-71470823 ami-f455d8f5 ami-fc74e3cc ami-00f52f1d ami-90b424aa
FreeBSD 8.4-RC2
For 32-bit "Windows" instances
ami-e674148f ami-aaa28eef ami-86acb8f2 ami-45470817 ami-ec55d8ed ami-f874e3c8 ami-08f52f15 ami-92b424a8
FreeBSD 8.4-RC2
For Cluster Compute, High-I/O, and "m3" instances
ami-ee741487 ami-98a28edd ami-9cacb8e8 ami-bd4807ef ami-dc55d8dd ami-8a74e3ba ami-12f52f0f ami-9cb424a6
FreeBSD 8.4-RC1
For 64-bit "Windows" instances
ami-f8305791 ami-90200cd5 ami-d2a4b1a6 ami-befdb1ec ami-8aa0228b ami-8ade49ba ami-71a8726c ami-80fc6cba
FreeBSD 8.4-RC1
For 32-bit "Windows" instances
ami-1a305773 ami-ee200cab ami-e6a4b192 ami-b0fdb1e2 ami-64a02265 ami-9cde49ac ami-79a87264 ami-82fc6cb8
FreeBSD 8.4-RC1
For Cluster Compute, High-I/O, and "m3" instances
ami-3630575f ami-c8200c8d ami-0ea4b17a ami-8afdb1d8 ami-56a02257 ami-96de49a6 ami-43a8725e ami-8efc6cb4
FreeBSD 8.4-BETA1
For 64-bit "Windows" instances
ami-40a83329 ami-76d9f433 ami-2c808a58 ami-fa81cda8 ami-432bab42 ami-deb723ee ami-7775ae6a ami-f23dacc8
FreeBSD 8.4-BETA1
For 32-bit "Windows" instances
ami-96a932ff ami-6ed9f42b ami-32808a46 ami-f081cda2 ami-232bab22 ami-d4b723e4 ami-7f75ae62 ami-843dacbe
FreeBSD 8.4-BETA1
For Cluster Compute, High-I/O, and "m3" instances
ami-aaa932c3 ami-5ed9f41b ami-4e808a3a ami-c481cd96 ami-6528a864 ami-e4b723d4 ami-4375ae5e ami-803dacba
FreeBSD 8.3-RELEASE
For 32-bit "Windows" instances
ami-978d55fe ami-6d154e28 ami-05794271 ami-628acd30 ami-5c1dac5d ami-70fd7140 ami-e2a876ff n/a
FreeBSD 8.3-RELEASE
For 64-bit "Windows" instances
ami-358e565c ami-79154e3c ami-e3794297 ami-328acd60 ami-6c1dac6d ami-74fd7144 ami-18a97705 n/a
FreeBSD 8.3-RC2
For 32-bit Windows instances
(More expensive than "linux/unix" instances)
ami-6d13cd04 ami-a7aef6e2 ami-e5f0c891 ami-6e4a0d3c ami-0454e505 ami-72d95542 ami-1abd6307 n/a
FreeBSD 8.3-RC2
For 64-bit Windows instances
(More expensive than "linux/unix" instances)
ami-9313cdfa ami-59aff71c ami-b7f0c8c3 ami-324a0d60 ami-1c54e51d ami-74d95544 ami-16bd630b n/a
FreeBSD 8.3-RC1
For 32-bit Windows instances
(More expensive than "linux/unix" instances)
ami-d6e538bf ami-9b1840de ami-cbecd5bf ami-bace8ae8 ami-00e95801 ami-9a109daa ami-0063bc1d n/a
FreeBSD 8.3-RC1
For 64-bit Windows instances
(More expensive than "linux/unix" instances)
ami-7ae43913 ami-41194104 ami-a9ecd5dd ami-a0ce8af2 ami-26e95827 ami-82109db2 ami-3a63bc27 n/a
FreeBSD 8.3-BETA1
For 32-bit Windows instances
(More expensive than "linux/unix" instances)
ami-dc4093b5 ami-67b9e022 ami-2d695059 ami-0281c550 ami-be398fbf ami-52098462 ami-dc76a9c1 n/a
FreeBSD 8.3-BETA1
For 64-bit Windows instances
(More expensive than "linux/unix" instances)
ami-9e4093f7 ami-73b9e036 ami-0d695079 ami-0a81c558 ami-d0398fd1 ami-5a09846a ami-de76a9c3 n/a
FreeBSD 8.2b-RELEASE
For t1.micro instances only
ami-b55f99dc ami-e3025fa6 ami-4cd7e738 ami-36285364 ami-aaa316ab n/a n/a n/a
FreeBSD 8.2b-RELEASE
For cc1.4xlarge instances only
ami-290eca40 n/a n/a n/a n/a n/a n/a n/a
FreeBSD 8.2b-RELEASE
For 64-bit Windows instances
(More expensive than "linux/unix" instances)
ami-c69862af ami-0fa4f64a ami-78a1910c ami-dc93eb8e ami-14e15415 n/a n/a n/a
FreeBSD 8.2a-RELEASE
For cc1.4xlarge instances only
ami-646c9e0d n/a n/a n/a n/a n/a n/a n/a
FreeBSD 8.2-RELEASE
For t1.micro instances only
ami-423bc82b ami-0fc3934a ami-bfdaeecb ami-46f78914 ami-ce01aacf n/a n/a n/a
FreeBSD 8.2-RC3
For t1.micro instances only
ami-c003f3a9 ami-b3a0f0f6 ami-4f1a2e3b ami-5490ee06 n/a n/a n/a n/a
FreeBSD 8.2-RC @ 2011-01-08
For t1.micro instances only
ami-4a15e423 ami-376e3e72 ami-f77e4a83 ami-3eb6c86c n/a n/a n/a n/a
FreeBSD 8.2-RC1
For t1.micro instances only
ami-d29b6abb n/a n/a n/a n/a n/a n/a n/a