--- /dev/null
+[[!meta date="Sun, 07 Aug 2011 21:59:09 +0900"]]
+[[!meta updated="Sun, 07 Aug 2011 21:59:09 +0900"]]
+[[!tag Debian brouillon]]
+
+[[!meta title="Installer Debian dans un nuage"]]
+
+Cela fait longtemps que je voudrais préparer une [[!debwiki
+Cloud/AmazonEC2Image desc="image virtuelle pure Debian"]] pour le
+[nuage élastique de calcul de chez Amazon][cloud], qui contiendrait les
+[outils de bio-informatique][bioinfo] que nous empaquetons au sein de
+[Debian Med][med].
+
+[cloud]: http://aws.amazon.com/ec2/
+[bioinfo]: http://debian-med.alioth.debian.org/tasks/cloud/
+[med]: http://www.debian.org/devel/debian-med/
+
+La plupart des méthodes discutées dans le groupe [ec2debian][] utilisent [[!debpkg
+debootstrap]] et terminent la préparation avec des scripts externes. Étant
+donné que les images peuvent désormais [démarrer avec leur noyau d'origine][pvgrub], je
+préférerai simplement utiliser l'[installeur Debian][di].
+
+L'idée est de préparer une machine virtuelle qui démarre sur l'installeur et
+met en place un système Debian sur un [blocs élastiques de stockage][ebs],
+cela devrait permettre de créer des systèmes vierges sans effort.
+
+L'installeur Debian peut être [démarré par GRUB][di-grub] et
+[pré-configuré][preseed] via un fichier téléchargé au démarrage. Dans le nuage
+Amazon, ce fichier peut être déposé à l'adresse
+<code>http://169.254.169.254/latest/user-data</code> avec les autres [données
+d'instance][instancedata].
+
+[ec2debian]: http://groups.google.com/group/ec2debian/
+[pvgrub]: http://aws.amazon.com/articles/3967
+[di]: http://www.debian.org/devel/debian-installer/
+[ebs]: http://aws.amazon.com/ebs/
+[di-grub]: http://d-i.alioth.debian.org/manual/en.amd64/ch05s01.html#boot-initrd
+[preseed]: http://d-i.alioth.debian.org/manual/en.amd64/apb.html
+[instancedata]: http://docs.amazonwebservices.com/AmazonEC2/dg/2007-01-03/AESDG-chapter-instancedata.html
+
+N'ayant que peu d'expérience, j'avance lentement sur l'automatisation de la
+procédure. Pour le moment, la préconfiguration n'est pas complète, mais permet
+au moins de [lancer la console SSH de l'installeur][network-console]. Dans
+l'idéal, il faudrait se [[!debbug 592550 desc="connecter avec des clés"]], mais
+pour le moment j'utilise un mot de passe.
+
+Je coince sur le partitionnement du disque dur: l'installeur de trouve pas le
+disque qui est à la racine: <code>No root file system is defined.</code>. Je
+le trouve pourtant monté sur <code>/dev/xvda1</code>, mais curieusement
+<code>/dev/xvda</code> n'est pas disponible.
+
+Voici quelques détails techniques. Je travaille pour le moment en 32 bits sur
+des instances [t1.micro][], moins chères. J'ai téléchargé <debian-installer> sur
+un volume élastique de 1 Go que j'ai formatté en ext2. Ne sachant pas si son
+nom de périphérique sera stable (<code>/dev/sda1</code> ou
+<code>/dev/xvda1</code>), j'y ai collé une étiquette, comme j'ai vu le faire
+dans les [machines virtuelles Ubuntu][alestic].
+
+<div>
+<code>
+ARCH=i386
+DIST=squeeze
+DI_VERSION=20110106+squeeze3
+MIRROR=jp
+
+mke2fs -L debian-installer /dev/sdb -F
+mount LABEL=debian-installer /mnt/ && cd /mnt/
+
+wget http://ftp.$MIRROR.debian.org/debian/dists/$DIST/main/installer-$ARCH/$DI_VERSION/images/netboot/xen/initrd.gz
+wget http://ftp.$MIRROR.debian.org/debian/dists/$DIST/main/installer-$ARCH/$DI_VERSION/images/netboot/xen/vmlinuz
+
+mkdir -p boot/grub
+cat > boot/grub/menu.lst <<__END__
+default 0
+timeout 3
+
+title Debian Installer ($DI_VERSION $ARCH)
+root (hd0)
+kernel /vmlinuz root=LABEL=debian-installer ro console=hvc0 auto=true priority=critical url=http://169.254.169.254/latest/user-data
+initrd /initrd.gz
+__END__
+</code>
+</div>
+
+Un instantané de ce volume peut ensuite être enregistré comme image machine
+(AMI). Le [noyau à utiliser][kernel] dépendra de si le système a été installé
+sur le volume entier ou une partition. Debian distribue des outils pour toutes
+ces opérations, comme [[!debpkg euca2ools]].
+
+[kernel]: http://docs.amazonwebservices.com/AWSEC2/latest/UserGuide/index.html?UserProvidedkernels.html
+[t1.micro]: http://aws.amazon.com/ec2/instance-types/
+[alestic]: http://alestic.com/
+[toykokernels]: https://forums.aws.amazon.com/thread.jspa?messageID=237108