Forum général.général Lancer deux (ou plusieurs) distributions

Posté par  .
Étiquettes : aucune
0
2
mai
2006
Salut,
Je chercher à lancer deux distributions en même temps (juste pour le fun) il existe la virtualisation avec Xen ou encore Qemu mais je me demandais s'il n'était pas possible de passer par autre chose à l'aide de kexec et chroot...

J'ai ma distribution hôte et un point de montage vers l'autre distribution je fais un chroot /mnt/ma_distrib /bin/mon_shell pour me retrouver à la racine de mon autre distrib...
Maintenant, il ne me reste plus qu'à monter les partitions /proc et /sys...

Cependant, et c'est là que ça ce complique, il faut aussi lancer le kernel de la distrib (je n'ai pas essayé mais je pense que c'est là qu'interviendra kexec) puis peupler le /dev et ensuite lancer les script d'initialisation de la distrib et le tour est jouer :-)

En clair suis-je dans le vrai ?
Sinon à part passer par la virtualisation, y a t'il un moyen de lancer deux (ou plusieurs) distributions en même temps ?

Si quelqu'un a déjà essayé et qu'il a réussit ça serait super qu'il puisse me décrire sa méthode ;-)
  • # tu y es presque ... à coté

    Posté par  . Évalué à 4.

    car si en effet tu arrives à lancer ton autre distrib, il te restera le probleme de l'acces concurrent aux ressources (disques dur, memoire, processeur).

    s'il suffisait d'un simple chroot, on ne s'embeterait pas avec des QEMU, XEN et autres outils de virtualisations/emulations ...
    • [^] # Re: tu y es presque ... à coté

      Posté par  . Évalué à 1.

      Note aussi que, dans le cas précis du noyau Linux, il existe User-Mode Linux, pour faire tourner directement un Linux au-dessus d'un Linux.
      Le site du projet: http://user-mode-linux.sourceforge.net/
      Un tuto pour Debian que je viens de trouver: http://www.debian-administration.org/articles/48
      • [^] # Re: tu y es presque ... à coté

        Posté par  . Évalué à 2.

        enfin d'apres le tuto que tu cite,

        tu fais un disque virtuel

        dd if=/dev/zero of=Debian-3.0r2.ext2 bs=1 count=0 seek=2G
        e2fsck -f Debian-3.0r2.ext2
        resize2fs -p Debian-3.0r2.ext2


        et tu utilise ensuite ce disque comme support de ta machine

        mkdir /home/uml/tmp
        mount -o loop -t ext2 Debian-3.0r2.ext2 /home/uml/tmp


        donc c'est peut-etre "user-mode" il n'en reste pas moins que c'est de la virtualisation et pas un bete chroot.
        • [^] # Re: tu y es presque ... à coté

          Posté par  . Évalué à 1.

          En relisant mon premier post, je me rends compte que je n'étais pas clair, en fait...

          Je suis tout à fait d'accord avec toi, la seule méthode pour faire ce qu'il veut, c'est la virtualisation. Je notais juste qu'en dehors de Xen et Qemu, qui sont des technologies de virtualisation "génériques" (peut-on dire "portables" dans cette situation ?), il existait aussi une techno "pure Linux" comme UML qui faisait ce qu'il veut (faire tourner un Linux au-desus d'un Linux).

          D'ailleurs, même si le problème (fondamental) de l'accès concurrent aux ressources par les 2 (ou n) noyaux ne se posait pas, et UML mis et part, il resterait que le noyau Linux est fait pour tourner directement au-dessus du matériel, pas en tant que processus au-dessus d'un autre noyau (ou même en thread supplémentaire d'un noyau existant).

          D'où les différentes solutions qui existent déjà:
          - patcher Linux pour qu'il tourne comme un processus utilisateur au-dessus de Linux (UML);
          - créer une plate-forme intermédiaire sur laquelle on pourrait faire fonctionner parallèlement plusieurs noyaux adaptés à cette nouvelle plate-forme (Xen);
          - émuler une architecture matérielle en mode utilisateur sur laquelle un noyau non patché peut tourner (Qemu, et plein d'autres).

          Il est possible que d'autres solutions existent (quoiqu'à première vue je ne vois pas d'autres méthodes que les 3 que j'ai citées), mais je suis d'accord que chroot/kexec ne semble pas pouvoir y arriver.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.