Aller au contenu

Windows/Windows XP Embedded

Un livre de Wikilivres.

Wikipédia propose un article sur : « Windows XP Embedded ».

Windows Embedded XP est la version embarquable de Windows XP dans des équipements autonomes (PDA, PC embarqués).

Le kit de développement

[modifier | modifier le wikicode]

Le kit de développement fourni permet de composer une image déployable de Windows Embedded XP. Cette image occupe moins de place que Windows XP Pro, car elle ne contient que les fonctionnalités nécessaires pour l'équipement dédié. Un système XPe peut également inclure des fonctions non disponibles sous XP Pro comme Enhanced Write Filter ou File Based Write Filter qui permettent de protéger des partitions en écriture.

La version payante du kit de développement coûte environ $995, soit 780 €.

Il est également disponible gratuitement en version d'évaluation limitée à 120 jours (environ 4 mois) : images Windows Embedded XP créées (à partir du premier boot) et outils de développement.

Le kit de développement (Windows Embedded XP Studio) est composé d'un ensemble d'applications :

  • Un gestionnaire de base de données pour stocker les divers composants de Windows XP.
  • Un éditeur de composant permettant d'ajouter les pilotes d'un matériel spécifique, et créer des dépendances à d'autres composants (pilotes, ...).
  • Diverses applications utilitaires telles que TAP.EXE (Target Analyzer Probe) pour lister les périphériques de l'architecture sur laquelle ce programme est lancé.
  • Un éditeur de configuration permettant de créer, modifier une configuration, vérifier les dépendances, et créer l'image bootable de Windows Embedded XP.

Tests sur la même machine

[modifier | modifier le wikicode]

Il est possible d'effectuer les tests sur la même machine où le kit est installé, on procède alors par une technique de double boot en inscrivant le répertoire d'installation de Windows XP embedded dans le fichier BOOT.INI qui se trouve à la racine de la partition bootable, on verra alors apparaitre plusieurs lignes dans l'écran de démarrage de la machine. Le répertoire d'installation de XP embedded peut être dans la partition bootable (ex: C:\XPE\WINDOWS) ou dans une autre partition que l'on aura créé avec DISKPART ou un autre outil (telle QtParted sous linux, interfaçant ntfsresize).

Une autre technique de test consiste à utiliser comme cible une machine virtuelle Virtual PC 2007. Dans ce cas, on peut récupérer la description matérielle en lançant TAP.EXE sur un Virtual PC sous Windows XP Pro puis en important le device.pmq ainsi créé sous Component Designer. Cette technique est très rapide car elle ne nécessite pas de redémarrage de la machine d'installation. Le transfert de l'image XP embedded vers le Virtual PC cible se fait en utilisant un Virtual PC sous XP Pro sur lequel on a monté le disque virtuel (.vhd) cible ainsi qu'un partage de répertoire avec la machine de développement.

L'image[1] créée doit être transférée vers la partition (NTFS ou FAT) de la machine cible. Parmi les manières de procéder :

  • Copie directe de fichiers, transfert entre partitions si vous déployez sur la même machine,
  • Copie des fichiers sur la machine cible en utilisant un CD ou une clé USB bootable,
  • Démarrer la machine cible sous WinPE et utiliser un montage réseau.

Installation des outils

[modifier | modifier le wikicode]

Une fois que le kit est téléchargé, trois répertoires nommés Disk1, Disk2, Disk3 sont créés.

  1. Lancer le programme Disk1\setup.exe pour installer tous les éléments nécessaires. Cette étape installera XP Embedded SP1 ;
  2. Lancer le programme Disk3\setup.exe pour installer tous les éléments nécessaires. Cette dernière étape installera XP Embedded SP2.

Vous pouvez ensuite télécharger le disque "Feature Pack 2007" pour finaliser l'installation

Première image

[modifier | modifier le wikicode]

Pour constituer une image[1], il faut rassembler tous les composants nécessaires au système d'exploitation :

  • Les pilotes du matériel installé sur la machine cible,
  • Les composants du système d'exploitation.

Les pilotes du matériel utilisé

[modifier | modifier le wikicode]

Il est possible :

  • soit de rassembler les composants nécessaires en les cherchant dans la base de données fournie avec le kit (méthode plus difficile car il faut connaître tout le matériel utilisé),
  • soit d'utiliser l'utilitaire TAP.exe (Target Analyzer Probe) en le lançant sur la machine cible, puis créer le composant associé à cette configuration matérielle.

Utiliser TAP.exe

[modifier | modifier le wikicode]

Cet utilitaire (situé dans %ProgramFiles%\Windows Embedded\utilities) collecte la configuration matérielle de la machine dans la base de registre et écrit un fichier XML. Pour créer un composant comportant les dépendances correspondant à la configuration matérielle :

  1. Sur la machine cible où l'utilitaire est lancé, s'assurer auparavant que tous les périphériques sont reconnus. Dans le cas contraire où certains sont classés sous le point d'interrogation jaune du gestionnaire de périphériques, il faut installer les pilotes nécessaires, et redémarrer la machine ;
  2. Lancer l'utilitaire ; il produit un fichier nommé devices.pmq ;
  3. Lancer Component designer[2] ;
  4. Dans le menu Fichier, sélectionner Import..., puis le fichier devices.pmq, puis, étape importante, spécifier un fichier de log ;
  5. Cliquer le bouton Import, et attendre...
  6. Lorsque l'importation est terminée, l'application doit afficher qu'aucune erreur ne s'est produite. Mais pourtant certains avertissements sont très importants, notamment Warning: Device driver not found for .... Dans les dernières lignes de log, bien vérifier que le nombre de périphériques ajoutés est égal au nombre de périphériques du fichier devices.pmq.
    • Si un avertissement de ce type est affiché, résoudre le problème, puis recommencer à l'étape 3 ;
    • Si aucun avertissement ne s'affiche, enregistrer le fichier devices.sld ou un nom plus explicite ;
  7. Quitter Component designer,
  8. Importer le composant dans la base de données en lançant Component Database Manager, puis en cliquant le bouton Import.

Résoudre Device driver not found

[modifier | modifier le wikicode]

Noter le nom du périphérique manquant, et créer ensuite un composant pour celui-ci. Pour cela, il est possible de rechercher des composants sur www.xpefiles.com, ou de le créer à partir des pilotes téléchargés ou copiés depuis un CD d'installation :

  1. Extraire les fichiers du pilote si nécessaire (archive compressée ou auto-extractible), et placer ces fichiers dans un répertoire ;
  2. Lancer Component designer[2] ;
  3. Fichier/Import Sélectionner *.inf comme type de fichier, et sélectionner le fichier inf du pilote ;
  4. Cliquer avec le bouton droit sur Repositories, puis sur Add et utiliser le bouton Browse pour sélectionner le répertoire où les fichiers ont été copiés;
  5. Donner un nom à ce repository et valider ;
  6. Cliquer avec le bouton droit sur Packages, puis sur Add et donner un nom à ce groupe et valider ;
  7. Pour chaque composant (nœud Components), associer le repository créé, et ajouter le package créé dans le sous-nœud Groups ;
  8. Enregistrer le composant et fermer l'application.
  9. Importer le composant dans la base de données en lançant Component Database Manager, puis en cliquant le bouton Import.

Target Designer

[modifier | modifier le wikicode]

L'application Target Designer permet d'ajouter et configurer les composants du système et construire l'image. Pour ce faire, ajouter les composants matériels nécessaires ou bien le composant du fichier devices.sld qui a été importé dans la base de données. Ajouter ensuite les composants logiciels, soit un par un, soit en sélectionnant un Design template.

Un élément très important doit être contrôlé avant de construire l'image, il s'agit des répertoires cibles dans les Settings du projet Target Designer, si les répertoires indiqués dans les settings sont différents des répertoires dans lesquels on copiera l'image finale, le système XP embedded ne peut pas démarrer.

Avant de construire l'image, les dépendances des composants doivent être vérifiées.

Les dépendances

[modifier | modifier le wikicode]

Chaque composant peut dépendre d'autres composants. Certaines dépendances unitaires sont résolues automatiquement par ajout de composants dans la configuration, les dépendances multiples nécessitent un choix (simple ou multiple) qui apparaît sous forme de Tâche dans Target Designer. Une tâche est créée pour chaque choix nécessaire.

On peut annuler la résolution automatique en modifiant une Option de Target Designer, cela permet en particulier de créer des images de taille réduite.

Premier démarrage

[modifier | modifier le wikicode]

Lorsque l'image juste créée vient d'être copiée sur la machine cible (ou la partition de test), le redémarrage de la machine sur cette image lance une phase de setup (First Boot Agent). Celui-ci complète la base de registre avec les identifiants et les classes des périphériques, il installe également les DLL COM (regsvr32.exe) et il lance un certain nombre d'applications unitaires (RunOnce). À la fin du processus FBA la machine redémarre.

  1. 1,0 et 1,1 Une image dénomme ici l'ensemble des fichiers constituant le système d'exploitation.
  2. 2,0 et 2,1 Si un message de problème d'accès à la base de données est affiché, vérifier que le service SQL server est lancé, et qu'aucun autre programme de Windows Embedded studio n'est lancé.

Liens externes

[modifier | modifier le wikicode]