Virtualisation uml run
From UnixWiki
Contents |
[edit] Vérifications et sauvegarde du système
Nous allons maintenant pouvoir démarrer le système UML. Vérifiez bien que le système de fichiers n'est plus monté sur votre système principal, sinon cela aboutira à des accès concurrents au même système de fichiers, et à sa corruption immédiate.
umount /mnt/umlfs
Je vous recommande aussi de faire une sauvegarde de voter système avant de l'utiliser. La partition étant en grande partie non utilisée, et le fichier ayant été rempli de zéro à sa création, sa taille compressée sera très réduite:
cat umlrootfs | gzip > umlrootfs-backup.gz
[edit] Lancement du noyau UML
Pour lancer le noyau User-Mode, voici la commande à utiliser:
vmlinux ubd0=umlrootfs con1=fd:0,fd:1 con0=fd:2 con=/dev/null
Adaptez cette commande à votre configuration, en indiquant les chemins des fichiers vmlinux et umlrootfs s'ils ne se trouvent pas dans le dossier courant. Précisons que le fichier vmlinux étant un exécutable, il doit posséder les droits d'exécution. Faites un "chmod +x vmlinux" dessus si nécessaire.
Vous devez indiquer avec un paramètre supplémentaire chaque partition que vous voulez rendre accessible. Dans cet exemple, nous avons uniquement une partition, matérialisée par le fichier umlrootfs qui est nommée udb0 et qui sera vue en /dev/ubda. Vous pouvez ajouter des paramètres tels que "ubd1=swapfs" pour donner accès à des disques comme "/dev/ubdb", ...
Les trois paramètres qui ont été ajoutés à la commande permettent aux flux standards de fonctionner correctement, et de ne pas polluer l'écran (l'entreé du clavier, et les sorties standard et d'erreurs).
Vous devriez alors voir s'afficher dans la console les messages de démarrage du noyau, semblables à ceux de votre noyau classique, et aboutir à la fin à un invite pour rentrer un login et un password: Checking that ptrace can change system call numbers...OK
Checking syscall emulation patch for ptrace...missing Checking PROT_EXEC mmap in /tmp...OK Checking for the skas3 patch in the host: - /proc/mm...not found - PTRACE_FAULTINFO...not found - PTRACE_LDT...not found UML running in SKAS0 mode Linux version 2.6.15.1-fduml03 (root@localhost) (gcc version 3.4.4 (Gentoo 3.4.4-r1, ssp-3.4.4-1.0, pie-8.7.8)) #1 Tue Jan 24 22:13:38 CET 2006 ... (les lignes intermédiaires ont été supprimées à cet endroit) ... * Starting lo * Bringing up lo ... [ ok ] * Initializing random number generator ... [ ok ] INIT: Entering runlevel: 3 This is localhost.(none) (Linux i686 2.6.15.1-fduml03) 21:19:49 localhost login:
[edit] Script de lancement
Pour faciliter le lancement du système User-Mode et préparer les interfaces réseau sur le système hôte, il est conseillé d'utiliser un script qui automatise ces étapes. Voici un exemple de script que vous pouvez adapter à votre configuration:
#!/bin/bash tunctl -d tap0 tunctl -u 0 -t tap0 ifconfig tap0 inet 192.168.2.1 netmask 255.255.255.0 broadcast 192.168.2.255 up reset /boot/vmlinux-2.6.15.1-fduml03 ubd0=/path/to/umlrootfs con1=fd:0,fd:1 con0=fd:2 con=/dev/null eth0=tuntap,tap0 reset
[edit] En cas de problème
L'utilisation d'un noyau UML n'est pas toujours évidente. Vous devriez y parvenir sans trop de problèmes si vous utilisez la configuration qui vous a été fournie dans ce tutorial en ce qui concerne la version et les options du noyau, ainsi que le système gentoo. Essayez donc d'abord de reproduire rigoureusement les mêmes options, car elles fonctionnent, avant de vouloir personnaliser votre configuration.
