title: Kernel panic - Creating own AMI (Amazon Machine Image)
body: <p>I have created own AMI and registered it on Amazon EC2. But while AMI startup I receive following error:</p>
  
  <blockquote>
    <p>Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(8,1)</p>
  </blockquote>
  
  <p>The image is running locally without any problems.</p>
  
  <p>fstab contains:</p>
  
  <pre><code>proc          /proc   proc     defaults                      0 0
  /dev/sda1     /       ext3     relatime,errors=remount-ro    0 1
  </code></pre>
  
  <p>The image was created with following command</p>
  
  <pre><code>ec2-bundle-image -i image.raw -r i386 -c cert-xxx.pem -k pk-xxx.pem --user 123456
  </code></pre>
  
  <p>Full AMI startup log:</p>
  
  <pre><code>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
  
  Built 1 zonelists
  
  Kernel command line:  root=/dev/sda1 ro 4
  
  Enabling fast FPU save and restore... done.
  
  Enabling unmasked SIMD FPU exception support... done.
  
  Initializing CPU#0
  
  PID hash table entries: 4096 (order: 12, 65536 bytes)
  
  Xen reported: 2666.666 MHz processor.
  
  Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
  
  Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
  
  Software IO TLB disabled
  
  vmalloc area: ee000000-f53fe000, maxmem 2d7fe000
  
  Memory: 1718700k/1748992k available (1958k kernel code, 20948k reserved, 620k data, 144k init, 1003528k highmem)
  
  Checking if this processor honours the WP bit even in supervisor mode... Ok.
  
  Calibrating delay using timer specific routine.. 5335.60 BogoMIPS (lpj=26678013)
  
  Mount-cache hash table entries: 512
  
  CPU: L1 I cache: 32K, L1 D cache: 32K
  
  CPU: L2 cache: 6144K
  
  Checking 'hlt' instruction... OK.
  
  Brought up 1 CPUs
  
  migration_cost=0
  
  Grant table initialized
  
  NET: Registered protocol family 16
  
  Brought up 1 CPUs
  
  xen_mem: Initialising balloon driver.
  
  highmem bounce pool size: 64 pages
  
  VFS: Disk quotas dquot_6.5.1
  
  Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
  
  Initializing Cryptographic API
  
  io scheduler noop registered
  
  io scheduler anticipatory registered (default)
  
  io scheduler deadline registered
  
  io scheduler cfq registered
  
  i8042.c: No controller found.
  
  RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
  
  Xen virtual console successfully installed as tty1
  
  Event-channel device installed.
  
  netfront: Initialising virtual ethernet driver.
  
  mice: PS/2 mouse device common for all mice
  
  md: md driver 0.90.3 MAX_MD_DEVS=256, MD_SB_DISKS=27
  
  md: bitmap version 4.39
  
  NET: Registered protocol family 2
  
  Registering block device major 8
  
  IP route cache hash table entries: 65536 (order: 6, 262144 bytes)
  
  TCP established hash table entries: 262144 (order: 9, 2097152 bytes)
  
  TCP bind hash table entries: 65536 (order: 7, 524288 bytes)
  
  TCP: Hash tables configured (established 262144 bind 65536)
  
  TCP reno registered
  
  TCP bic registered
  
  NET: Registered protocol family 1
  
  NET: Registered protocol family 17
  
  NET: Registered protocol family 15
  
  Using IPI No-Shortcut mode
  
  md: Autodetecting RAID arrays.
  
  md: autorun ...
  
  md: ... autorun DONE.
  
  Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(8,1) 
  </code></pre>