Panique du kernel – Création de sa propre AMI (Amazon Machine Image)

J’ai créé mon propre AMI et je l’ai enregistré sur Amazon EC2. Mais pendant le démarrage d’AMI, je reçois l’erreur suivante:

Panique du kernel – Pas de synchronisation: VFS: Impossible de monter le fichier racine sur le fichier unknown-block (8,1)

L’image est exécutée localement sans aucun problème.

fstab contient:

proc /proc proc defaults 0 0 /dev/sda1 / ext3 relatime,errors=remount-ro 0 1 

L’image a été créée avec la commande suivante

 ec2-bundle-image -i image.raw -r i386 -c cert-xxx.pem -k pk-xxx.pem --user 123456 

Journal de démarrage complet d’AMI:

 Linux version 2.6.16-xenU ([email protected]) (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 ensortinges: 4096 (order: 12, 65536 bytes) Xen reported: 2666.666 MHz processor. Dentry cache hash table ensortinges: 131072 (order: 7, 524288 bytes) Inode-cache hash table ensortinges: 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 ensortinges: 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 ensortinges: 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 ensortinges: 65536 (order: 6, 262144 bytes) TCP established hash table ensortinges: 262144 (order: 9, 2097152 bytes) TCP bind hash table ensortinges: 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) 

Essayez d’enregistrer l’AMI avec le bon AKI et le bon ARI.

Pour la postérité: j’ai copié un AMI que je m’étais conçu de la région us-est à l’uest-ouest et aux régions de l’ue. Lors de la création d’instances à partir de cette AMI, j’ai dû rechercher l’image correcte du kernel pour cette région.
Je recherche d’abord le nom du kernel us-east:

 ec2-describe-images --headers -o amazon --filter "name=pv-grub-*.gz" Type ImageID Name Owner State Accessibility ProductCodes Architecture ImageType KernelId RamdiskId Platform RootDeviceType VirtualizationType Hypervisor IMAGE aki-659ccb0c amazon/pv-grub-hd00_1.04-i386.gz amazon available public i386 kernel instance-store paravirtual xen IMAGE aki-499ccb20 amazon/pv-grub-hd00_1.04-x86_64.gz amazon available public x86_64 kernel instance-store paravirtual xen IMAGE aki-8f9dcae6 amazon/pv-grub-hd0_1.04-i386.gz amazon available public i386 kernel instance-store paravirtual xen IMAGE aki-919dcaf8 amazon/pv-grub-hd0_1.04-x86_64.gz amazon available public x86_64 kernel instance-store paravirtual xen IMAGE aki-b2aa75db amazon/pv-grub-hd00_1.03-i386.gz amazon available public i386 kernel instance-store paravirtual xen IMAGE aki-b4aa75dd amazon/pv-grub-hd00_1.03-x86_64.gz amazon available public x86_64 kernel instance-store paravirtual xen IMAGE aki-b6aa75df amazon/pv-grub-hd0_1.03-i386.gz amazon available public i386 kernel instance-store paravirtual xen IMAGE aki-88aa75e1 amazon/pv-grub-hd0_1.03-x86_64.gz amazon available public x86_64 kernel instance-store paravirtual xen 

Le kernel que j’utilise dans us-east est aki-b4aa75dd qui porte le nom amazon/pv-grub-hd00_1.03-x86_64.gz .

Je cherche ensuite des images du kernel dans us-west:

 ec2-describe-images --region us-west-1 -o amazon --filter "name=pv-grub-*.gz" ## IMAGE aki-960531d3 amazon/pv-grub-hd00_1.04-i386.gz amazon available public i386 kernel instance-store paravirtual xen IMAGE aki-920531d7 amazon/pv-grub-hd00_1.04-x86_64.gz amazon available public x86_64 kernel instance-store paravirtual xen IMAGE aki-8e0531cb amazon/pv-grub-hd0_1.04-i386.gz amazon available public i386 kernel instance-store paravirtual xen IMAGE aki-880531cd amazon/pv-grub-hd0_1.04-x86_64.gz amazon available public x86_64 kernel instance-store paravirtual xen IMAGE aki-e97e26ac amazon/pv-grub-hd00_1.03-i386.gz amazon available public i386 kernel instance-store paravirtual xen IMAGE aki-eb7e26ae amazon/pv-grub-hd00_1.03-x86_64.gz amazon available public x86_64 kernel instance-store paravirtual xen IMAGE aki-f57e26b0 amazon/pv-grub-hd0_1.03-i386.gz amazon available public i386 kernel instance-store paravirtual xen IMAGE aki-f77e26b2 amazon/pv-grub-hd0_1.03-x86_64.gz amazon available public x86_64 kernel instance-store paravirtual xen 

… me dit alors que le kernel avec le même nom dans us-west a un identifiant de kernel aki-eb7e26ae .