Debian bootstrapping script for Amazon machine images and Google Compute Engine images
This script bootstraps a vanilla Debian installation to create either
an Amazon machine image or a Google Compute Engine image.
The image contains no latent logfiles no .bash_history or even the apt package cache.
The machine configuration this script creates has been thoroughly tested.
This script has been tested on Debian squeeze and wheezy. To create an AMI this bootstrapper needs to be run on an Amazon EC2 instance.
Official AMIs provided by the Debian community and Amazon
The Debian community and Amazon have together created AMIs using this bootstrapper and replicated them across AWS regions. The images have been tested for security and bugs. They are available on the aws marketplace.
For each new official AMI a commit in this repository will be tagged, marking the version the AMI was bootstrapped with.
More information about these images and links to the gzipped volume images can be found on the Debian wiki page dedicated to those images.
The script is started with
You can choose to either bootstrap a Debian AMI (
or a Google Compute Engine image (
Both modes have sensible defaults and can be configured with options and plugins.
To see a list of options use
When creating an AMI the script at least needs to know your AWS credentials.
There are no interactive prompts, the bootstrapping can run entirely unattended from start till finish.
- EBS booted
- Base installation uses only 289MB
- Base installation bootup time ~45s* (from AMI launch to SSH connectivity)
- Support for both ext* and xfs
- Uses standard Debian Xen kernel from apt
- update-grub creates an actual menu.lst which pvGrub can read
- ec2 system log is not cluttered by grub menu
- ec2 startup scripts:
ec2-get-credentials: Copies the ec2 keypair to
ec2-run-user-data: If the userdata starts with
#!it will be executed
generate-ssh-hostkeys: Generates hostkeys for sshd on first boot
expand-volume: Expands the root partition to the volume size
*The bootup time was measured with this script
Bootstrapper (AMI) features
- EBS volume is automatically created, mounted, formatted, unmounted, "snapshotted" and deleted
- AMI is automatically registered with the right kernels for the current region of the host machine
- Supports Debian squeeze and wheezy
- Can create both 32-bit and 64-bit AMIs
- Plugin system to keep the bootstrapping process automated
- The process is divided into simple task based scripts
- Uses only free software in accordance with the Debian Social Contract.
(In particular: The EC2 API Tools have been replaced with euca2ools)