{"id":1119,"date":"2013-08-31T17:37:44","date_gmt":"2013-08-31T15:37:44","guid":{"rendered":"http:\/\/stephane.weblog.starend.org\/?p=1119"},"modified":"2013-08-31T17:37:44","modified_gmt":"2013-08-31T15:37:44","slug":"debian-from-scratch-sous-xen","status":"publish","type":"post","link":"http:\/\/stephane.weblog.starend.org\/?p=1119","title":{"rendered":"Debian from scratch sous Xen"},"content":{"rendered":"<p style=\"text-align: justify;\">J&rsquo;ai mis en place une machine pour me permettre de tunneliser un certain nombre de choses depuis la Colombie. La messagerie par exemple&#8230;<br \/>\nCette machine est une machine virtuelle h\u00e9berg\u00e9e par une vraie machine qui tourne dans le placard. Le tout anim\u00e9 par <a title=\"xen\" href=\"http:\/\/www.xenproject.org\/\" target=\"_blank\">xen<\/a>.<\/p>\n<p style=\"text-align: justify;\">Il existe d\u00e9j\u00e0 des tutoriels sur le net pour installer la machine h\u00f4te <a title=\"Debian Linux\" href=\"http:\/\/www.debian.org\/\" target=\"_blank\">Debian<\/a> avec <em>xen<\/em> et pour cr\u00e9er des machines virtuelles notamment avec l&rsquo;outil <em>xen-create-image<\/em>.<\/p>\n<p style=\"text-align: justify;\">Mais&#8230; les choses ne seraient pas assez simple sinon&#8230; je veux plut\u00f4t installer une machine virtuelle <em>Debian 7<\/em> en utilisant le DVD d&rsquo;installation et non en passant par <em>debootstrap<\/em> ou tout autre m\u00e9thode similaire&#8230;<\/p>\n<p style=\"text-align: justify;\"><!--more--><\/p>\n<p style=\"text-align: justify;\">Pour commencer, je positionne mes machines virtuelles dans un disque d\u00e9di\u00e9 mont\u00e9 en <em>\/vm<\/em> . Xen est configur\u00e9 pour utiliser l&rsquo;unique interface r\u00e9seau <em>eth0<\/em> comme pont (bridge). La machine accepte 256 p\u00e9riph\u00e9riques de <em>loop<\/em> (ajouter <em>loop max_loop=256<\/em> dans <em>\/etc\/modules<\/em>).<\/p>\n<p style=\"text-align: justify;\">On a besoin de l&rsquo;ISO du DVD1 de Debian Linux 7.1.0 i386 (par exemple). A t\u00e9l\u00e9charger et \u00e0 mettre dans <em>\/vm<\/em> :<br \/>\n<code># cd \/vm<br \/>\n# wget ftp:\/\/ftp.proxad.net\/mirrors\/cdimage.debian.org\/debian-cd\/current\/i386\/iso-dvd\/debian-7.1.0-i386-DVD-1.iso<br \/>\n...<br \/>\n# sha256sum debian-7.1.0-i386-DVD-1.iso<br \/>\na90fdb1c4fc3934ecbef6748581029f2defafc6438b5125af316f3db7d37ee42<\/code><\/p>\n<p style=\"text-align: justify;\">On cr\u00e9e le r\u00e9pertoire de la nouvelle machine virtuelle ainsi que ses disques :<br \/>\n<code># mkdir warhole<br \/>\n# cd warhole<br \/>\n# dd if=\/dev\/zero of=root.dd bs=1M count=512<br \/>\n# dd if=\/dev\/zero of=boot.dd bs=1M count=512<br \/>\n# dd if=\/dev\/zero of=swap.dd bs=1M count=512<br \/>\n# dd if=\/dev\/zero of=tmp.dd bs=1M count=256<br \/>\n# dd if=\/dev\/zero of=usr.dd bs=1M count=1024<br \/>\n# dd if=\/dev\/zero of=var.dd bs=1M count=2048<br \/>\n# dd if=\/dev\/zero of=home.dd bs=1M count=10240<br \/>\n# for I in *.dd ; do mkfs.ext4 -F $I ; done<br \/>\n# mkswap swap.dd<\/code><\/p>\n<p style=\"text-align: justify;\"><em>Xen<\/em> a besoin d&rsquo;un fichier de configuration pour pouvoir lancer la machine. En plus, ce fichier est diff\u00e9rent pour la phase d&rsquo;installation proprement dite de la phase d&rsquo;exploitation. Cr\u00e9er le fichier <em>\/etc\/xen\/warhole.cfg<\/em> contenant :<br \/>\n<code>kernel\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 = '\/vm\/warhole\/install_vmlinuz'<br \/>\nramdisk\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 = '\/vm\/warhole\/install_initrd.gz'<br \/>\nvcpus\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 = '1'<br \/>\nmemory\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 = '128'<br \/>\nroot\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 = '\/dev\/xvdc ro'<br \/>\ndisk\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 = [<br \/>\n'file:\/vm\/warhole\/boot.dd,sda1,w',<br \/>\n'file:\/vm\/warhole\/root.dd,sda2,w',<br \/>\n'file:\/vm\/warhole\/swap.dd,sda3,w',<br \/>\n'file:\/vm\/warhole\/tmp.dd,sda4,w',<br \/>\n'file:\/vm\/warhole\/usr.dd,sdb1,w',<br \/>\n'file:\/vm\/warhole\/var.dd,sdb2,w',<br \/>\n'file:\/vm\/warhole\/home.dd,sdb3,w',<br \/>\n'file:\/vm\/debian-7.1.0-i386-DVD-1.iso,xvdc,r',<br \/>\n]<br \/>\nname\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 = 'warhole'<br \/>\ndhcp\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 = 'dhcp'<br \/>\nvif\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 = [ 'mac=00:16:3E:11:22:33' ]<br \/>\non_poweroff = 'destroy'<br \/>\non_reboot\u00c2\u00a0\u00c2\u00a0 = 'restart'<br \/>\non_crash\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 = 'restart'<\/code><\/p>\n<p style=\"text-align: justify;\">Il nous manque juste un petit truc pour d\u00e9marrer notre machine virtuelle : un noyal!<br \/>\nOn va aller le chercher sur le DVD :<br \/>\n<code># mount <code>debian-7.1.0-i386-DVD-1.iso<\/code> \/mnt<br \/>\n# cp \/mnt\/install.386\/xen\/initrd.gz install_initrd.gz<br \/>\n# cp \/mnt\/install.386\/xen\/vmlinuz install_vmlinuz<br \/>\n# umount \/mnt<\/code><\/p>\n<p style=\"text-align: justify;\">OK, on y est : allumage !!!<br \/>\n<code># xm create -c warhole.cfg<br \/>\n...<\/code><\/p>\n<p style=\"text-align: justify;\">\u00c7a d\u00e9marre. C&rsquo;est tout en noir et blanc, mais pas comme en photo avec des nuances de gris, non c&rsquo;est noir <span style=\"text-decoration: underline;\">et<\/span> blanc. <strong>NO PANIC!<\/strong><\/p>\n<p style=\"text-align: center;\"><a href=\"\/wp-content\/uploads\/stephane\/2013\/08\/Capture-du-2013-08-31-154210.png\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone  wp-image-1120\" alt=\"Capture du 2013-08-31 15:42:10\" src=\"\/wp-content\/uploads\/stephane\/2013\/08\/Capture-du-2013-08-31-154210.png\" width=\"440\" height=\"347\" srcset=\"\/wp-content\/uploads\/stephane\/2013\/08\/Capture-du-2013-08-31-154210.png 733w, \/wp-content\/uploads\/stephane\/2013\/08\/Capture-du-2013-08-31-154210-450x355.png 450w\" sizes=\"(max-width: 440px) 100vw, 440px\" \/><\/a><\/p>\n<p style=\"text-align: justify;\">En langues disponibles, c&rsquo;est anglais uniquement. Suivant. Choisir USA, \u00e7a na pas d&rsquo;importance ici. Pareil pour le clavier, il sera en Fran\u00e7ais de toute fa\u00e7on.<\/p>\n<p style=\"text-align: justify;\">La d\u00e9tection du r\u00e9seau se passe bien en <em>IPv4<\/em> et <em>IPv6<\/em>.<\/p>\n<p style=\"text-align: justify;\">La d\u00e9tection du DVD se passe mal. <strong>NO PANIC!<\/strong>!<br \/>\nC&rsquo;est normal. Il faut revenir au menu de l&rsquo;installateur pour choisir <em>Execute a shell<\/em>. Depuis le shell, on monte le DVD au bon endroit :<br \/>\n<code># mount -t iso9660 \/dev\/xvdc \/cdrom<br \/>\n# exit<\/code><br \/>\nUne fois de retour au menu de l&rsquo;installateur, choisir <em>Detect and mount CD-ROM<\/em>. L&rsquo;installation continue normalement&#8230;<\/p>\n<p style=\"text-align: justify;\">Tout se passe normalement pour :<\/p>\n<ul>\n<li>le nom de machine ;<\/li>\n<li>le nom de domaine ;<\/li>\n<li>la cr\u00e9ation des utilisateurs ;<\/li>\n<li>le choix de la zone de temps USA (sic) ;<\/li>\n<li>le partitionnement (en manuel) ;<\/li>\n<li>l&rsquo;installation du syst\u00e8me de base ;<\/li>\n<\/ul>\n<p>Le <em>Software selection<\/em> ne laisse pas beaucoup de choix. suivant. Et l\u00e0 \u00e7a coince genre <em>Installation step failed<\/em>. <strong>NO PANIC!!!<\/strong><\/p>\n<p style=\"text-align: justify;\">Ce n&rsquo;est pas important. Dans le menu d&rsquo;installation, on passe directement \u00e0 <em>Continue without boot loader<\/em>.<br \/>\nEt voila, c&rsquo;est termin\u00e9! Ne reste qu&rsquo;\u00e0 red\u00e9marrer&#8230;<\/p>\n<p style=\"text-align: justify;\">Bon, la machine virtuelle red\u00e9marre. On perd la console sur celle-ci, et de toute fa\u00e7on il manque des choses. Elle coincera au d\u00e9marrage.<br \/>\nOn a besoin de l&rsquo;arr\u00eater violemment pour modifier son fichier de configuration et la red\u00e9marrer :<br \/>\n<code># xm destroy warhole<\/code><\/p>\n<p style=\"text-align: justify;\">Modifier le <em>\/etc\/xen\/warhole.cfg<\/em> comme cela :<br \/>\n<code>kernel\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 = '\/vm\/warhole\/vmlinuz-3.2.0-4-686-pae'<br \/>\nramdisk\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 = '\/vm\/warhole\/initrd.img-3.2.0-4-686-pae'<br \/>\nvcpus\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 = '1'<br \/>\nmemory\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 = '128'<br \/>\nroot\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 = '\/dev\/xvda2 ro'<br \/>\ndisk\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 = [<br \/>\n'file:\/vm\/warhole\/boot.dd,sda1,w',<br \/>\n'file:\/vm\/warhole\/root.dd,sda2,w',<br \/>\n'file:\/vm\/warhole\/swap.dd,sda3,w',<br \/>\n'file:\/vm\/warhole\/tmp.dd,sda4,w',<br \/>\n'file:\/vm\/warhole\/usr.dd,sdb1,w',<br \/>\n'file:\/vm\/warhole\/var.dd,sdb2,w',<br \/>\n'file:\/vm\/warhole\/home.dd,sdb3,w',<br \/>\n]<br \/>\nname\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 = 'warhole'<br \/>\ndhcp\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 = 'dhcp'<br \/>\nvif\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 = [ 'mac=00:16:3E:11:22:33' ]<br \/>\non_poweroff = 'destroy'<br \/>\non_reboot\u00c2\u00a0\u00c2\u00a0 = 'restart'<br \/>\non_crash\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 = 'restart'<\/code><\/p>\n<p style=\"text-align: justify;\">Le noyau doit \u00eatre r\u00e9cup\u00e9r\u00e9 dans la machine virtuelle. Ici c&rsquo;est la version <em>3.2.0-4-686-pae<\/em>. A changer en fonction du votre&#8230;<br \/>\n<code># mount boot.dd \/mnt<br \/>\n# cp \/mnt\/initrd.img-3.2.0-4-686-pae .<br \/>\n# cp \/mnt\/vmlinuz-3.2.0-4-686-pae .<br \/>\n# umount \/mnt<\/code><\/p>\n<p style=\"text-align: justify;\">On relance la machine virtuelle :<br \/>\n<code># xm create -c warhole.cfg<\/code><br \/>\nEt \u00e7a marche, la machine est pr\u00eate !!!<\/p>\n<p style=\"text-align: justify;\">Liens :<br \/>\n&#8211; <a title=\"http:\/\/www.debian.org\/\" href=\"http:\/\/www.debian.org\/\" target=\"_blank\">http:\/\/www.debian.org\/<\/a><br \/>\n&#8211; <a title=\"http:\/\/www.xenproject.org\/\" href=\"http:\/\/www.xenproject.org\/\" target=\"_blank\">http:\/\/www.xenproject.org\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>J&rsquo;ai mis en place une machine pour me permettre de tunneliser un certain nombre de choses depuis la Colombie. La messagerie par exemple&#8230; Cette machine est une machine virtuelle h\u00e9berg\u00e9e par une vraie machine qui tourne dans le placard. Le tout anim\u00e9 par xen. Il existe d\u00e9j\u00e0 des tutoriels sur le net pour installer la &hellip; <a href=\"http:\/\/stephane.weblog.starend.org\/?p=1119\" class=\"more-link\">Continuer la lecture de <span class=\"screen-reader-text\">Debian from scratch sous Xen<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[43,48,10,11,33],"tags":[],"_links":{"self":[{"href":"http:\/\/stephane.weblog.starend.org\/index.php?rest_route=\/wp\/v2\/posts\/1119"}],"collection":[{"href":"http:\/\/stephane.weblog.starend.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/stephane.weblog.starend.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/stephane.weblog.starend.org\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/stephane.weblog.starend.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1119"}],"version-history":[{"count":0,"href":"http:\/\/stephane.weblog.starend.org\/index.php?rest_route=\/wp\/v2\/posts\/1119\/revisions"}],"wp:attachment":[{"href":"http:\/\/stephane.weblog.starend.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1119"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/stephane.weblog.starend.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1119"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/stephane.weblog.starend.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1119"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}