Xen bras avec des extensions de virtualisation – xen bitcoin logiciels d’exploitation Windows 7

Les ports 32 bits (arm32) et 64 bits (arm64) de domo de démarrage Xen et les invités non privilégiés peuvent être créés et détruits en utilisant xl. Voir ci-dessous pour plus d’informations sur le matériel et les modèles. Vous pouvez également lire notre livre blanc qui explique l’architecture de base et la terminologie de Xen sur ARM.

Il y a beaucoup de différentes cartes ARM et serveurs avec de nombreux blocs IP différents disponibles. La boucle CI du projet ne peut tester qu’un petit sous-ensemble de ceux-ci, car nous ne pouvons pas nous permettre d’acheter et de tester contre toutes les cartes possibles. En tant que tel, nous allons compter sur des tests manuels pendant les journées d’essai du projet Xen pour vérifier quel matériel ARM fonctionne et lequel ne fonctionne pas. La bonne nouvelle, c’est que par expérience, la grande majorité des problèmes spécifiques à la carte se produira pendant le démarrage et donc un simple test manuel de fumée Xen ARM est généralement suffisant pour identifier ces problèmes.


Configuration matérielle ou logicielle ARM Voir ci-dessus pour plus de détails sur le matériel et les modèles pris en charge. Firmware Xen nécessite certaines fonctionnalités du firmware du système. Voir ci-dessous pour plus de détails. Arborescence de périphériques Arborescence de périphériques au format arborescence de périphériques plats (.dtb). La plate-forme hôte doit être décrite dans un binaire DTB transmis à Xen à temps de démarrage. Ceci sera utilisé par Xen et Dom0. Normalement, l’arborescence de périphériques standard utilisée lorsque démarrer nativement sur la plate-forme devrait être utilisé. Xen Tous les travaux en cours sont maintenant fusionnés dans la branche de développement actuelle git: //xenbits.xen.org/xen.git. Il est recommandé d’utiliser la dernière branche maître Xen. Le noyau Linux pour dom0 Les correctifs nécessaires pour démarrer Linux comme dom0 sous Xen ont été fusionnés en amont dans v3.7. Afin de pouvoir réellement lancer des invités, quelques correctifs supplémentaires ont été requis, mais ces correctifs ont maintenant été inclus dans la version Linux v3.8. Le dernier arbre de Linus a tout ce qu’il faut pour fonctionner sur Xen sous ARM en tant que dom0 et domU. Il est recommandé d’utiliser la dernière version de Linux dans la mesure du possible. dom0 userspace Les développeurs utilisent le portage armhf de Debian Wheezy. noyau domU Les correctifs nécessaires pour démarrer Linux en tant qu’invité sous Xen ont été fusionnés en amont dans la version 3.7. Compatibilité ABI de l’hyperviseur

Bien que n’étant pas un hyperviseur ABI changer les versions de Linux avant v3.13-rc5 (en particulier 380108d891ac "xen / block: Définit correctement les structures dans les en-têtes publics sur ARM32 et ARM64") a incorrectement défini le protocole de bloc PV sur ARM. Cela signifie que les versions de Linux antérieures à ce correctif ne sont capables d’interopérer (comme front ou backend) qu’avec d’autres versions de Linux avant cette validation. Après cette correction, Linux utilise correctement le même protocole que les autres ports (par exemple, BSD).

L’exigence principale est que l’hyperviseur doit être lancé en mode Hyperviseur non sécurisé uniquement. Si le micrologiciel d’origine sur une plate-forme n’obéit pas à cette opération (le plus souvent en se lançant en mode Superviseur sécurisé), une mise à jour du micrologiciel peut s’avérer nécessaire. Ce support est présent dans u-boot 2014.01.

L’amorçage de processeurs secondaires sur un système SMP nécessite la prise en charge du microprogramme pour les interfaces de coordination d’état d’alimentation (PSCI, Power State Coordination Interfaces). Le support de démarrage initial de cette interface est disponible sur https://git.kernel.org/cgit/linux/kernel/git/maz/u-boot.git/log/?h=wip/psci.

Avant de commencer à charger Xen, il est fortement recommandé d’obtenir le noyau que vous souhaitez utiliser en tant que dom0 démarrer nativement (c’est-à-dire sans Xen en dessous). Cela vous permettra de résoudre tous les problèmes de pilotes et de trouver la ligne de commande nécessaire du noyau avant d’ajouter Xen dans le mixage.

À temps de démarrage Xen doit être fourni avec un blob de noyau dom0 et un blob optionnel dom0 initramfs. Le chargeur de démarrage doit les charger dans la mémoire et décrire leur emplacement dans le BLOB de l’arborescence des périphériques en utilisant les liaisons spécifiées dans docs / misc / arm / device-tree / booting.txt.

Si ARM_APPENDED_DTB est activé, tout DTB ajouté sera utilisé à la place de celui fourni par Xen et le noyau plantera à moins que la mémoire dans le DTB ne corresponde à l’emplacement / taille fourni par Xen. Il est fortement recommandé de ne pas ajouter de DTB à votre noyau dom0 (ou de désactiver APPENDED_DTB).

Common DomU Pitfalls Activation de CONFIG_DEBUG_LL dans la configuration du noyau invité. Bien que cette option puisse fonctionner pour dom0 si elle est configurée correctement pour l’hôte, elle ne fonctionne pas pour domU (qui ne peut pas voir l’hôte UART). Les symptômes de ceci sont que la console d’invité sera silencieuse parce que le noyau a pris une faute accédant au début UART. Cela peut être confirmé en utilisant l’outil xenctx (trouvé dans $ PREFIX / lib / xen / bin /). L’outil prend un domid numeric (pas un nom, utilise xl list ou xl domid $ name) et vide l’état VCPU. Un PC de 0x0000000c indique généralement qu’un piège précoce s’est produit. Construire Xen sur ARM