Virtualisation uml install

From UnixWiki

Jump to: navigation, search


[edit] Principe de la compilation

Nous allons maintenant étudier la compilation du noyau de l'invité. Rappelons qu'il s'agit de choisir les options du noyau qui sera produit sous forme d'un programme exécutable classique. Etant donné qu'il s'agit d'un noyau invité, il ne sera pas nécessaire de tenir compte des caractéristiques de votre matériel, en dehors du processeur. Le support matériel de votre carte réseau n'aurait en effet pas de sens, car c'est votre noyau hôte qui la prend en charge. Le noyau invité devra prendre en charge des interfaces d'accès virtuelles pour accéder aux ressources fournies par le noyau hôte. En revanches, beaucoup d'options seront gérées de la même façon que pour le noyau hôte. C'est notamment le cas des systèmes de fichiers, car votre noyau aura à sa propre charge d'organiser les données sur les supports bruts qui lui seront fournis.

Si vous décidez de compiler le noyau UML avec des modules, il faudra s'occuper de les placer au bon endroit après la compilation, car ils seront compilés et installés sur votre système hôte, et utilisés sur votre système invité. Au moment de la compilation du noyau, vous pourrez utiliser le paramètre INSTALL_MOD_PATH=/path/to/modules, afin de spécifier l'endroit où les modules seront copiés. Il faudra par la suite penser à les recopier dans le système de fichiers de votre système invité.

Je vous propose de télécharger ma configuration du noyau, ainsi que le noyau compilé directement utilisé. C'est une configuration basée sur la version 2.6.15.1. Téléchargez ma configuration UML

[edit] Choix de l'architecture

Ce qui fait la différence entre un noyau normal et un noyau User-Mode est l'architecture pour laquelle on le compile. Il faudra donc définir la variable ARCH=um, et cela peut se faire de deux façons.

  • Vous pouvez préciser ARCH=um dans chaque commande que vous tapez:
make ARCH=um xconfig (ou menuconfig)
make ARCH=um make
make ARCH=um make modules_install INSTALL_MOD_PATH=/tmp
  • Le plus pratique est cependant d'ajouter la ligne suivante, au tout début du fichier Makefile qui est à la racine des sources du noyau.
ARCH=um

Vous pourrez alors utiliser les commandes "make xconfig" et "make" de façon classique.

[edit] Options à prendre en compte

Voici les options spécifiques à UML que vous devez prendre en compte afin de pouvoir l'utiliser sans problème

Les options ci-dessous vous concernent l'accès aux disques. La première (CONFIG_BLK_DEV_UBD) vous permettra d'accéder au disque dur virtuel. Il est donc important de l'activer:

CONFIG_BLK_DEV_UBD=y
# CONFIG_BLK_DEV_UBD_SYNC is not set
CONFIG_BLK_DEV_COW_COMMON=y

Activez l'option CONFIG_BLK_DEV_UBD_SYNC si vous souhaitez accéder aux données de façon synchrone.

Voici les options qui concernent les entrées sorties:

ONFIG_STDERR_CONSOLE=y
CONFIG_STDIO_CONSOLE=y
CONFIG_SSL=y
CONFIG_NULL_CHAN=y
CONFIG_PORT_CHAN=y
CONFIG_PTY_CHAN=y
CONFIG_TTY_CHAN=y
CONFIG_XTERM_CHAN=y
# CONFIG_NOCONFIG_CHAN is not set
CONFIG_CON_ZERO_CHAN="fd:0,fd:1"
CONFIG_CON_CHAN="xterm"
CONFIG_SSL_CHAN="pty"
CONFIG_UNIX98_PTYS=y
CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=256

Les options ci-dessous représentent différentes façons d'accéder au réseau depuis le noyau UML. L'option CONFIG_UML_NET_TUNTAP devrait suffire dans la majorité des cas, mais vous pouvez par prudence toutes les inclure, afin de pouvoir vous reporter sur une solution alternative en cas de problème:

CONFIG_UML_NET=y
CONFIG_UML_NET_ETHERTAP=y
CONFIG_UML_NET_TUNTAP=y
CONFIG_UML_NET_SLIP=y
CONFIG_UML_NET_DAEMON=y
CONFIG_UML_NET_MCAST=y
CONFIG_UML_NET_PCAP=y
CONFIG_UML_NET_SLIRP=y

Suite

Personal tools
Reference cards

Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'partimag_ur-mw'@'10.0.84.52' (using password: YES) in /homez.68/partimag/www.unix-resources.net/stats/sps.connect.inc.php on line 30
Connexion a la base impossible