version 1.25, 2011/02/22 22:47:51
|
version 1.39, 2011/03/03 23:07:49
|
Line 79 AKI, or *Amazon Kernel Image*, are a spe
|
Line 79 AKI, or *Amazon Kernel Image*, are a spe
|
|
|
# Using pre-made AMIs |
# Using pre-made AMIs |
|
|
XXX TODO |
The following AMIs are publicly available. You can use them to [start a NetBSD instance](#index11h2) quickly, without needing to build your image by hand. |
|
|
|
<table> |
|
<tr> |
|
<th>NetBSD version</th> |
|
<th>us-east-1 (Virginia)</th> |
|
<th>us-west-1 (N. California)</th> |
|
<th>eu-west-1 (Ireland)</th> |
|
<th>ap-southeast-1 (Singapore)</th> |
|
<th>ap-northeast-1 (Tokyo)</th> |
|
</tr> |
|
<tr> |
|
<th>NetBSD 5.1.0_PATCH</th> |
|
<td> |
|
32 bits: <strong></strong><br/> |
|
64 bits: <strong>ami-06b4466f</strong> |
|
</td> |
|
<td> |
|
32 bits: <strong></strong><br/> |
|
64 bits: <strong>ami-99f7a7dc</strong> |
|
</td> |
|
<td> |
|
32 bits: <strong></strong><br/> |
|
64 bits: <strong>ami-cfa296bb</strong> |
|
</td> |
|
<td> |
|
32 bits: <strong></strong><br/> |
|
64 bits: <strong>ami-04e49a56</strong> |
|
</td> |
|
<td> |
|
32 bits: <strong></strong><br/> |
|
64 bits: <strong></strong> |
|
</td> |
|
</tr> |
|
<tr> |
|
<th>NetBSD-HEAD (5.99.45)</th> |
|
<td> |
|
32 bits: <strong></strong><br/> |
|
64 bits: <strong></strong> |
|
</td> |
|
<td> |
|
32 bits: <strong></strong><br/> |
|
64 bits: <strong></strong> |
|
</td> |
|
<td> |
|
32 bits: <strong></strong><br/> |
|
64 bits: <strong></strong> |
|
</td> |
|
<td> |
|
32 bits: <strong></strong><br/> |
|
64 bits: <strong></strong> |
|
</td> |
|
<td> |
|
32 bits: <strong></strong><br/> |
|
64 bits: <strong></strong> |
|
</td> |
|
</tr> |
|
</table> |
|
|
# Build-up your NetBSD system |
# Build-up your NetBSD system |
|
|
Line 101 ftp -a 'http://ftp.netbsd.org/pub/NetBSD
|
Line 158 ftp -a 'http://ftp.netbsd.org/pub/NetBSD
|
tar -xzpf src.tar.gz |
tar -xzpf src.tar.gz |
cd src |
cd src |
# build distribution and kernel |
# build distribution and kernel |
./build.sh -O ../obj -T ../tools -D ../dest -R ../release -V INSTALLSETS="base etc" -m amd64 -U distribution |
./build.sh -O ../obj -T ../tools -D ../dest -R ../release -m amd64 -U distribution |
./build.sh -O ../obj -T ../tools -m amd64 kernel=XEN3_DOMU |
./build.sh -O ../obj -T ../tools -m amd64 kernel=XEN3_DOMU |
# install distribution in /mnt/ec2 |
# install distribution in /mnt/ec2 |
./build.sh -O ../obj -T ../tools -D ../dest -R ../release -U install=/mnt/ec2 |
su root ./build.sh -O ../obj -T ../tools -D ../dest -R ../release -U -V INSTALLSETS="base etc" install=/mnt/ec2 |
"""]] |
"""]] |
|
|
# Configuration of your NetBSD EC2 tree |
# Configuration of your NetBSD EC2 tree |
Line 116 Under */mnt/ec2*, edit the files to add
|
Line 173 Under */mnt/ec2*, edit the files to add
|
[[!template id=filecontent name=etc/rc.conf text=""" |
[[!template id=filecontent name=etc/rc.conf text=""" |
rc_configured=YES |
rc_configured=YES |
|
|
|
ec2_init=YES |
sshd=YES # for remote shell access to instance |
sshd=YES # for remote shell access to instance |
"""]] |
"""]] |
|
|
Line 126 PermitRootLogin without-password
|
Line 184 PermitRootLogin without-password
|
|
|
This file is needed if you want to login via the EC2 SSH key pair created previously: |
This file is needed if you want to login via the EC2 SSH key pair created previously: |
|
|
[[!template id=filecontent name=etc/rc.d/ec2-init text=""" |
[[!template id=filecontent name=etc/rc.d/ec2_init text=""" |
#!/bin/sh |
#!/bin/sh |
# |
# |
# PROVIDE: amazon-ec2 |
# PROVIDE: ec2_init |
# REQUIRE: NETWORKING |
# REQUIRE: NETWORKING |
# BEFORE: LOGIN |
# BEFORE: LOGIN |
|
|
$_rc_subr_loaded . /etc/rc.subr |
$_rc_subr_loaded . /etc/rc.subr |
|
|
name="ec2_init" |
name="ec2_init" |
|
rcvar=${name} |
start_cmd="ec2_init" |
start_cmd="ec2_init" |
stop_cmd=":" |
stop_cmd=":" |
|
|
Line 174 ec2_init()
|
Line 233 ec2_init()
|
) |
) |
} |
} |
|
|
|
|
load_rc_config $name |
load_rc_config $name |
run_rc_command "$1" |
run_rc_command "$1" |
"""]] |
"""]] |
Line 196 ptyfs /dev/pts ptyfs rw
|
Line 254 ptyfs /dev/pts ptyfs rw
|
procfs /proc procfs rw |
procfs /proc procfs rw |
EOF |
EOF |
# EC2 startup script (if you installed it) |
# EC2 startup script (if you installed it) |
if [ -f etc/rc.d/ec2-init ]; then |
if [ -f etc/rc.d/ec2_init ]; then |
chmod 755 etc/rc.d/ec2-init |
chmod 555 etc/rc.d/ec2_init |
fi |
fi |
"""]] |
"""]] |
|
|
You can then proceed to modifying the system living under */mnt/ec2*, so it can fit your needs (adding custom binaries, packages, etc). When done, build the *NetBSD-AMI.img.gz* ffs image, via [[!template id=man name=makefs section=8]], or **nbmakefs**, from the [toolchain](http://www.netbsd.org/docs/guide/en/chap-build.html#chap-build-tools): |
You can then proceed to modifying the system living under */mnt/ec2*, so it can fit your needs (adding custom binaries, packages, etc). When done, build the *NetBSD-AMI.img.gz* ffs image, via [[!template id=man name=makefs section=8]], or **nbmakefs**, from the [toolchain](http://www.netbsd.org/docs/guide/en/chap-build.html#chap-build-tools): |
|
|
[[!template id=programlisting text=""" |
[[!template id=programlisting text=""" |
$ makefs -t ffs -B le -s 256m -N /mnt/ec2/etc/ -o density=32k NetBSD-AMI.img /mnt/ec2/ |
$ makefs -t ffs -B le -s 256m -N /mnt/ec2/etc/ -o density=32k /tmp/NetBSD-AMI.img /mnt/ec2/ |
Calculated size of `NetBSD-AMI.img': 268435456 bytes, 7345 inodes |
Calculated size of `NetBSD-AMI.img': 268435456 bytes, 7345 inodes |
Extent size set to 8192 |
Extent size set to 8192 |
NetBSD-AMI.img: 256.0MB (524288 sectors) block size 8192, fragment size 1024 |
NetBSD-AMI.img: 256.0MB (524288 sectors) block size 8192, fragment size 1024 |
Line 276 ATTACHMENT vol-24f88d4c i-5babe7
|
Line 334 ATTACHMENT vol-24f88d4c i-5babe7
|
Before we can connect to our brand new instance, we have to allow connections on SSH port (22) through the AWS EC2 firewall: |
Before we can connect to our brand new instance, we have to allow connections on SSH port (22) through the AWS EC2 firewall: |
|
|
[[!template id=programlisting text=""" |
[[!template id=programlisting text=""" |
$ ec2-authorize default -p 22 |
$ ec2-authorize default -p 22 --region us-east-1 |
GROUP default |
GROUP default |
PERMISSION default ALLOWS tcp 22 22 FROM CIDR 0.0.0.0/0 |
PERMISSION default ALLOWS tcp 22 22 FROM CIDR 0.0.0.0/0 |
"""]] |
"""]] |
Line 375 IMAGE <strong>ami-74d0231d</strong>
|
Line 433 IMAGE <strong>ami-74d0231d</strong>
|
You can now start your own NetBSD instance, via: |
You can now start your own NetBSD instance, via: |
|
|
[[!template id=programlisting text=""" |
[[!template id=programlisting text=""" |
$ ec2-run-instances ami-74d0231d -t t1.micro -z us-east-1c |
$ ec2-run-instances ami-74d0231d -t t1.micro -z us-east-1c -k $EC2_SSH_KEYNAME |
RESERVATION r-08218465 983624114127 default |
RESERVATION r-08218465 983624114127 default |
INSTANCE <strong>i-953d72f9</strong> ami-74d0231d pending 0 t1.micro 2011-02-18T02:05:46+0000 us-east-1c aki-4e7d9527 monitoring-disabled |
INSTANCE <strong>i-953d72f9</strong> ami-74d0231d pending 0 t1.micro 2011-02-18T02:05:46+0000 us-east-1c aki-4e7d9527 monitoring-disabled |
*** Wait a few minutes, micro instances take time to start *** |
*** Wait a few minutes, micro instances take time to start *** |