I did something stupid, I got a new laptop and copied everything over to the new one, then wiped the old one clean. Then I realized that I forgot to copy the private key out of .ssh that I use to connect to my AWS EBS backed instance.

So I can't log in to my custom AMI. So I created a new Volume from the Snapshot of the AMI, then started up a public instance and attached the Volume to it, edit the sshd_config to allow for password log in. Unmounted the volume, detached it, made a snapshot of it, then made a new AMI from the snapshot.

The new AMI launches, but never passes the Status Checks and is not reachable.

What am I doing wrong? Or alternatively how can I fix my problem?

Edit: Adding some of the console output

Linux version 2.6.16-xenU (builder@xenbat.amazonsa) (gcc version 4.0.1 20050727 (Red Hat 4.0.1-5)) #1 SMP Mon May 28 03:41:49 SAST 2007
BIOS-provided physical RAM map:
 Xen: 0000000000000000 - 000000006a400000 (usable)
980MB HIGHMEM available.
727MB LOWMEM available.
NX (Execute Disable) protection: active
IRQ lockup detection disabled
RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
NET: Registered protocol family 2

Registering block device major 8
XENBUS: Timeout connecting to devices!

Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(8,0)
  • Check the console output. – mgorven Jul 29 '12 at 7:22
  • Thanks for that suggestions. Last line is Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(8,0) – agilityvision Jul 29 '12 at 7:38
  • What you did sounds fine, but for some reason the root filesystem can't be mounted. – mgorven Jul 29 '12 at 7:45
  • The first thing I ever do with an Amazon instance is add my own SSH keys to it. It helps a lot with preventing this sort of thing from happening, since I have backups of my SSH keys. :) – Michael Hampton Jul 29 '12 at 15:14

When you register the new AMI make sure you specify the correct AKI (kernel), the same as the previous AMI.

| improve this answer | |
  • I just got it running, turns out I needed to specify the kernel like you said, and whoever made the original AMI that I built on must have used the command line because they specified the root name as /dev/sda1 and the root block as /dev/sda. If your using the console there is no way to make them different. Like the kernel they need to match the original AMI. – agilityvision Jul 29 '12 at 9:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.