Différences entre versions de « Émulation »

De Cliss XXI
Sauter à la navigation Sauter à la recherche
imported>SylvainBeucler
m
 
imported>SylvainBeucler
m
 
(40 versions intermédiaires par 3 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
But du jeu: tester des exécutables Debian-PPC avant de les installer chez l'usager - mais depuis mon PC.
+
Utilisations:
 +
* tester des exécutables Debian-PPC avant de les installer chez l'usager - mais depuis mon PC.
 +
* fournir des systèmes complets facilement installables (ex: une instance de Apache/PHP/MySQL/TikiWiki pré-installée)
 +
* tester rapidement les phases d'initialisation d'un PC (ex: configurations LILO/GRUB)
  
= QEMU =
+
Les émulateurs libres du moment:
 +
* [[QEMU]]: * -> (x86, x86_64, ARM, MIPS, PPC, ARM, SPARC) - lance une VM ou un exécutable
 +
* [http://www.virtualbox.org/ VirtualBox]: PC->PC (nécessiste module noyau de virtualisation); plusieurs [http://www.virtualbox.org/wiki/Editions versions], une libre et une propriétaire
 +
* [http://bochs.sourceforge.net/ Bochs]: * -> PC (lent?, 32/64bits)
 +
* [[PearPC]]: * -> PPC
 +
* [http://maconlinux.org/ Mac-on-Linux]: PPC->PPC
  
http://fabrice.bellard.free.fr/qemu
+
== Autres techniques ==
aptitude install qemu
 
  
Attention, le module qemu du même auteur pour aller plus vite est propriétaire - à éviter donc.
+
* [http://kvm.sf.net/ KVM] et [http://xensource.com/ Xen]: peuvent faire GNU/Linux (paravirtualisation) mais aussi Windows (s'il y a virtualization [http://en.wikipedia.org/wiki/X86_virtualization au niveau processeur])
 +
* [[UserModeLinux]]: un cas à part, fonctionnement autonome
  
== Compiler et tester un exécutable de test ==
+
== Perfs ==
  
  $ echo <<EOF > hello.c
+
Disque:
#include <stdio.h>
+
* Physique:
 +
  $ sudo hdparm -tT /dev/sda
 
   
 
   
  int main(void) {
+
  /dev/sda:
  return ! printf("Hello world!\n");
+
  Timing cached reads:  1412 MB in 2.00 seconds = 706.25 MB/sec
  }
+
  Timing buffered disk reads:  72 MB in 3.01 seconds = 23.96 MB/sec
  $ powerpc-linux-gcc hello.c -Wall -ansi -pedantic -static
+
* QEMU sur partition physique:
  $ qemu-ppc a.out
+
  $ qemu /dev/hda -kernel bzImage -append "root=/dev/hda7 clocksource=pit"
Hello world!
+
  qemu$ hdparm -tT /dev/hda
 
+
Mais:
+
  /dev/hda:
  $ powerpc-linux-gcc hello.c -Wall -ansi -pedantic
+
  Timing cached reads:  636 MB in 2.00 seconds = 318.33 MB/sec
  $ qemu-ppc ./a.out
+
  Timing buffered disk reads:   38 MB in  3.11 seconds =  12.22 MB/sec
  /lib/ld.so.1: No such file or directory
+
* QEMU sur partition physique + kqemu:
  Erreur de segmentation
+
  /dev/hda:
ToDo: trouver une façon de travailler pour gérer les dépendances (chroot recompilé)?
+
  Timing cached reads:  1840 MB in  2.00 seconds = 921.23 MB/sec
 
+
  Timing buffered disk reads:  34 MB in 3.17 seconds =  10.73 MB/sec
 
+
* QEMU sur image disque:
== Des images de systèmes à télécharger ==
+
  $ qemu debian.img -kernel-kqemu
 
+
qemu$ hdparm -tT /dev/hda
Sur http://free.oszoo.org/download.html
+
 
+
/dev/hda:
Essayer notamment:
+
  Timing cached reads:  1884 MB in 1.99 seconds = 946.45 MB/sec
  btdownloadcurses http://free.oszoo.org/ftp/images/linux-ppc-20040716.tar.bz2.torrent #20M
+
  Timing buffered disk reads:  22 MB in 3.21 seconds =   6.86 MB/sec
  btdownloadcurses http://free.oszoo.org/ftp/images/debian_sarge_ppc.tar.torrent #1Go!
+
* UML sur partition physique
 
+
  [TODO]
* [http://www.overselfresearch.com/kb/qemu.html Installing from Scratch the Debian Sarge (3.1) GNU/Linux Distribution for the PowerPC (PPC) Architecture under the QEMU Full System Emulator]: HOWTO pour recréer l'image Debian Sarge
+
* UML sur image disque
 
+
[TODO]
Avec l'image de base, en tant que root pour avoir le réseau via <code>/dev/net/tun</code>:
 
  qemu-system-ppc -prep -localtime -kernel zImage.prep linux-ppc.img
 
 
 
Inside, you can ([http://fabrice.bellard.free.fr/qemu/qemu-doc.html#TOC25]):
 
  ifconfig eth0 172.20.0.2 # qemu
 
  scp me@172.20.0.1:fichier # système hôte
 
 
 
 
 
== Tester une installation ==
 
 
 
wget http://cdimage.debian.org/debian-cd/3.1_r2/powerpc/iso-cd/debian-31r2-powerpc-netinst.iso
 
qemu-img create debian_sarge_ppc.img 500M
 
  qemu-system-ppc -hda debian_sarge_ppc.img -cdrom debian-31r2-powerpc-netinst.iso -boot d
 
 
 
D'après le HOWTO, le noyau 2.6 ne passe pas - utiliser <code>install-powerpc-2.4 ramdisk_size=10000</code> au boot.
 
 
 
  
= PearPC =
+
== Liens ==
  
http://pearpc.sourceforge.net/
+
* [http://en.wikipedia.org/wiki/Comparison_of_virtual_machines Comparison of virtual machines] sur Wikipédia
aptitude install pearpc
+
* [http://www.osdev.org/osfaq2/index.php/Disk%20Images%20Under%20Linux Disk Images Under Linux]: créer des images disques complètes avec table de partition, et comment les monter (mount -o loop,offset=32256)

Version actuelle datée du 25 février 2007 à 22:54

Utilisations:

  • tester des exécutables Debian-PPC avant de les installer chez l'usager - mais depuis mon PC.
  • fournir des systèmes complets facilement installables (ex: une instance de Apache/PHP/MySQL/TikiWiki pré-installée)
  • tester rapidement les phases d'initialisation d'un PC (ex: configurations LILO/GRUB)

Les émulateurs libres du moment:

  • QEMU: * -> (x86, x86_64, ARM, MIPS, PPC, ARM, SPARC) - lance une VM ou un exécutable
  • VirtualBox: PC->PC (nécessiste module noyau de virtualisation); plusieurs versions, une libre et une propriétaire
  • Bochs: * -> PC (lent?, 32/64bits)
  • PearPC: * -> PPC
  • Mac-on-Linux: PPC->PPC

Autres techniques

Perfs

Disque:

  • Physique:
$ sudo hdparm -tT /dev/sda

/dev/sda:
 Timing cached reads:   1412 MB in  2.00 seconds = 706.25 MB/sec
 Timing buffered disk reads:   72 MB in  3.01 seconds =  23.96 MB/sec
  • QEMU sur partition physique:
$ qemu /dev/hda -kernel bzImage -append "root=/dev/hda7 clocksource=pit"
qemu$ hdparm -tT /dev/hda

/dev/hda:
 Timing cached reads:   636 MB in  2.00 seconds = 318.33 MB/sec
 Timing buffered disk reads:   38 MB in  3.11 seconds =  12.22 MB/sec
  • QEMU sur partition physique + kqemu:
/dev/hda:
 Timing cached reads:   1840 MB in  2.00 seconds = 921.23 MB/sec
 Timing buffered disk reads:   34 MB in  3.17 seconds =  10.73 MB/sec
  • QEMU sur image disque:
$ qemu debian.img -kernel-kqemu
qemu$ hdparm -tT /dev/hda

/dev/hda:
 Timing cached reads:   1884 MB in  1.99 seconds = 946.45 MB/sec
 Timing buffered disk reads:   22 MB in  3.21 seconds =   6.86 MB/sec
  • UML sur partition physique
[TODO]
  • UML sur image disque
[TODO]

Liens