Blog de Julien Darakdjian
Partageons autour du poste de travail
Bonjour,
J’ai le plaisir aujourd’hui de vous présenter mon Raspberry Pi fraichement reçu.
Mais d’abord qu’est-ce que le Raspberry Pi ?
A l’heure où la course à la puissance et à la performance prédominent, un projet ayant pour objectif de promouvoir et d’encourager l’apprentissage de la programmation informatique à faible coût a vu le jour. Ce projet a permis la création d’un mini-ordinateur rudimentaire fonctionnant sous architecture ARM.
Pour donner une idée du prix, comptez environs 25€ pour le Raspberry Pi auquel vous ajouterez une carte SD, un chargeur USB ainsi qu’un câble micro USB pour l’alimentation.
Je ne m’attarderais pas sur les systèmes d’exploitations supportés (principalement Linux et RISC OS), mais je vais vous en présenter un des usages possible : un serveur de déploiement autonome.
Notre Raspberry Pi intègrera les rôles suivants :
J’ai installé la distribution Raspbian sur la carte SD de mon Raspberry Pi, installé sans interface graphique, mais avec un serveur SSH pour l’accès à distance.
J’installe d’abord l’éditeur de texte vim.
apt-get install vim
Configuration d’une ip fixe pour le serveur :
vim /etc/network/interfaces
iface eth0 inet static address 192.168.82.100 netmask 255.255.255.0 broadcast 192.168.82.255 gateway 192.168.82.254
Installation des composants :
apt-get install dhcp3-server tftpd-hpa samba
Configuration du serveur DHCP :
mv /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd-original.conf vim /etc/dhcp/dhcpd.conf
default-lease-time 86400; max-lease-time 604800; authoritative; subnet 192.168.82.0 netmask 255.255.255.0 { range 192.168.82.120 192.168.82.140; filename "pxelinux.0"; option subnet-mask 255.255.255.0; option broadcast-address 192.168.82.255; next-server 192.168.82.100; }
Paramétrage du PXE :
cd /srv/tftp mkdir pxelinux.cfg vim pxelinux.cfg/default
DISPLAY boot.txt DEFAULT w7 LABEL w7 MENU LABEL Windows 7 KERNEL windows/7/default/startrom.0 PROMPT 1 TIMEOUT 0
Paramétrage du menu de Boot PXE :
vim /srv/tftp/boot.txt
______ _ _ _ | _ \ | | | | | | | | | |__ _ _ __ __ _| | _| |_ ___| | __ | | | / _` | '__/ _` | |/ / __/ _ \ |/ / | |/ / (_| | | | (_| | <| || __/ < |___/ \__,_|_| \__,_|_|\_\\__\___|_|\_\ * Windows 7 x86: w7
______ _ _ _ | _ \ | | | | | | | | | |__ _ _ __ __ _| | _| |_ ___| | __ | | | / _` | '__/ _` | |/ / __/ _ \ |/ / | |/ / (_| | | | (_| | <| || __/ < |___/ \__,_|_| \__,_|_|\_\\__\___|_|\_\
* Windows 7 x86: w7
Création d’un fichier de Remap (permettant la correspondance des chemins) :
vim /srv/tftp/pxelinux.cfg/remap
re ^pxeboot\.n12 windows/7/default/pxeboot.n12 re ^pxeboot\.com windows/7/default/pxeboot.com re ^pxeboot\.0 windows/7/default/pxeboot.n12 re ^bootmgr\.exe windows/7/default/bootmgr.exe r ^\\Boot\\ windows/7/default/ r ^\\boot\\ windows/7/default/ r ^Boot/ windows/7/default/ r ^/Boot/ windows/7/default/ r ^boot/ windows/7/default/ r ^/boot/ windows/7/default/ r ^\\ windows/7/default/ rg \\ /
Paramétrage du PXE pour support du fichier de remap et mode verbeux :
vim /etc/default/tftpd-hpa
TFTP_USERNAME="tftp" TFTP_DIRECTORY="/srv/tftp" TFTP_ADDRESS="0.0.0.0:69" TFTP_OPTIONS="--secure -m /srv/tftp/pxelinux.cfg/remap -vvv"
Récupération du pxelinux.0 :
mkdir /tmp/netboot cd /tmp/netboot wget http://ftp.fr.debian.org/debian/dists/squeeze/main/installer-amd64/current/images/netboot/netboot.tar.gz tar xvfz netboot.tar.gz cp pxelinux.0 /srv/tftp/
Création de l’arborescence des fichiers d’amorce.
mkdir -p /srv/tftp/windows/7/x86
Configuration d’un partage Samba :
vim /etc/samba/smb.conf
Décommenter la ligne “security = user”
Insérer le bloc de configuration suivant :
[MDT] comment = Deploymentshare path = /home/MDT browseable=yes writeable=yes create mask = 0775 directory mask = 0775 Valid uers = MDT admin users = root
Création de l’utilisateur MDT :
useradd MDT smbpasswd -a MDT Saisir le mot de passe 2 fois. Passw0rd par exemple. passwd MDT Saisir le mot de passe 2 fois. Passw0rd par exemple. cd /home mkdir MDT chown MDT MDT
useradd MDT smbpasswd -a MDT Saisir le mot de passe 2 fois. Passw0rd par exemple.
passwd MDT
Saisir le mot de passe 2 fois. Passw0rd par exemple.
Redémarrage des services :
/etc/init.d/samba restart service isc-dhcp-server restart service tftpd-hpa restart
/etc/init.d/samba restart
service isc-dhcp-server restart service tftpd-hpa restart
Connectons nous sur un serveur sur lequel nous avons l’ADK d’installé ainsi que Microsoft Deployment Toolkit 2012 (MDT 2012) d’installé et configuré avec des Tasks Séquences de déploiement d’OS.
pour un WinPEx86 Se créer un package dans c:\Temp avec les éléments suivants :
File
From
Exécuter le fichier BCD.cmd qui créera le fichier BCD dans le répertoire c:\Temp.
Copier le contenu du répertoire c:\Temp dans le répertoire /srv/tftp/windows/7/x86 sur Raspberry Pi (avec WinSCP par exemple).
Sur le Raspberry Pi, configurer les liens symboliques pour les fichiers d’amorce :
cd /srv/tftp/windows/7/x86 ln -s pxeboot.n12 startrom.0 ln -s LiteTouchPE_x86.wim winpe.wim cd /srv/tftp/windows/7 ln -s x86 default
Création d’un LinkedDeploymentShare vers le partage samba du Rasperry Pi puis mise à jour pour la réplication du contenu.
Sur le Raspberry Pi, copier l’amorce dans le répertoire du serveur TFTP du serveur PXE :
cp /home/MDT/Boot/LiteTouchPE_x86.wim /srv/tftp/windows/7/x86/
Le WinPE 4.0 chargé, les wizards MDT apparaissent.
Le processus de déploiement MDT est tout ce qu’il y a de plus classique. Notre Raspberry Pi permet le déploiement d’un Windows 8 (ou tout autre OS / Séquence supportée par MDT ).
La boite à outil ACT 6.0 (Application Compatibility Toolkit) fait désormais partie de l’ADK.
Cette solution permet d’intervenir sur différentes phases de la compatibilité applicative (depuis l’inventaire jusqu’à la remédiation).
Outre le support de Windows 8 dans cette nouvelle mouture, ACT 6.0 permet la création de 2 types de packages à déployer sur les postes de travail.
L’inventaire est un package silencieux qui remontera dans la base ACT la liste des applications installées sur les postes de travail.
Le package d’analyse “manuel” prend la forme d’une application. Cette application requiert une élévation de privilège et permettra la réalisation de tests applicatifs. Lors de tests, ACT collectera des informations sur des problèmes potentiels et les remontera vers le serveur ACT.
Une fonctionnalité intéressante à été ajoutée, la possibilité pour l’utilisateur de faire des retours spécifiques. l’outil PSR est intégré (ainsi qu’une fonctionnalité d’imprime écran) faisant remonter ces informations spécifiques dans la base du serveur ACT.
Les valeurs présentes dans les fichiers Bootstrap.ini et Customsettings.ini de MDT 2012 (et versions antérieures) sont écrites en clair dans ces fichiers.
Michael Nieahaus a écrit un article décrivant une méthode pour intégrer des valeurs chiffrées dans les fichiers customsettings.ini et bootstrap.ini.
Cette méthode s’appui sur un encodage de type Base64 et sera déchiffré par le biais d’un UserExit Script.
Lien vers l’article.
Les Wizards sous MDT 2012 ont évolué par rapport aux versions précédentes. L’interface a évolué graphiquement mais également au niveau de son implémentation ce qui empêche l’utilisation du Wizardeditor.
Michael Niehaus a écrit un article très complet sur ce sujet.
Dans mon article d’aujourd’hui, je vais vous présenter un Wizard personnalisé que j’ai rajouté afin de permettre la sélection de fichiers XML de migration USMT depuis le Wizard.
J’ai donc défini une CustomProperty (USMT_Config_dir) dans mon CustomSettings.ini qui spécifie l’emplacement des fichiers XML.
Le chemin cible devra contenir vos différents fichiers XML personnalisés pour USMT.
Nous déclarons alors la nouvelle page du Wizard dans le fichier Scripts\DeployWiz_Definition_ENU.xml avec des conditions d’exécution.
Il faut désormais créer la page personnalisée qui dans notre exemple se nomme Scripts\DeployWiz_UserData_Custom_XML.xml.
Dans cette page nous chargeons un CustomScript qui contiendra les fonctions nécessaires à notre Wizard.
Ce CustomScript est à créer sous le nom de Scripts\DeployWiz_UserData_Custom_XML.vbs.
Lorsque je démarre une réinstallation de poste, le Wizard permet l’affichage de notre écran personnalisé. Les fichiers Xml présents à l’emplacement défini dans la variable USMT_Config_dir sont listés.
Après sélection des fichiers voulus, nous cliquons sur le bouton Next. Cette action exécute la partie Validation de notre page personnalisée (la fonction ValidateXMLList est appelée afin d’effectuer le traitement).
On peut alors voir dans le BDD.log que nos fichiers sont passés dans la propriété USMTMigFilesxxx.
La sauvegarde utilise bien les fichiers sélectionnés.
Télécharger mes fichiers pour ce Wizard.
A vous de jouer avec les Wizards.
Après la sortie de System Center 2012 Configuration Manager, c’est au tour du Microsoft Deployment Toolkit 2012 de sortir.
Parmi les nouvelles fonctionnalité que nous avons suivi depuis les différentes betas :
Système d’exploitation supportés par MDT :
Windows ADK & AIK supportés :
Téléchargement : http://www.microsoft.com/download/en/details.aspx?id=25175
Depuis quelques jours l’outil Microsoft Diagnostics and Recovery Tools (DaRT) 8 Beta est disponible au téléchargement.
Au menu de cette nouvelle mouture :
Pour finir, DaRT 8 n’est supporté que lorsque Windows 8 est installé sur un disque physique local. Pas de support actuel avec Windows To Go (Système d’exploitation fonctionnant sur clef USB par exemple).
Cliquez ici pour vous joindre au programme.
Après la sortie de Windows 8 Consumer Preview, c’est au tour de MDT 2012 RC1 (Microsoft Deployment Toolkit).
Il n’y a pas de nouvelles fonctionnalités par rapport à la beta 2 mais des améliorations par rapport à la version précédente (Nouveaux supports tels que : Windows 8 Consumer Preview, Intégration avec Configuration Manager 2012 RC2, Migration de TS depuis SCCM2007 / 2012, etc…).
Plus de détails sur le blog Microsoft Deployment Toolkit Team Blog
Pour le téléchargement, c’est ici : http://go.microsoft.com/fwlink/?LinkId=217606
Windows 8 Consumer Preview est disponible au téléchargement !
Pour l’obtenir, c’est ici que ça se passe.
Pour la Beta de Windows Server 8, c’est ici.
Un petit post pour partager un lien très bien réalisé au sujet du déploiement. Il s’agit d’un cas concret avec l’entreprise fictive ViaMonstra.
Cet E-Book à été rédigé par Johan Arwidmark et Mikael Nystrom.
http://www.microsoft.com/windows/deployment/e-book/Default.html
WinPE (Windows Preinstallation Environnement) est un système d’exploitation minimaliste permettant d’effectuer des actions sur un ordinateur sans avoir démarré le système d’exploitation cible. Cet environnement est utilisé pour lancer le setup d’installation de Windows 7 par exemple, ou encore pour l’exécution d’outils offline (DART, etc…). Ce système est semblable aux distributions de type LiveCD avec un chargement intégral du système en mémoire.
Notre Toolkit favori (MDT) modifie ce système d’exploitation afin de permettre l’exécution de différents éléments nécessaires au déploiement :
Il est possible d’ajouter d’autres fonctionnalités (clavier fr, drivers, packages, etc…) à ce système d’exploitation.
Dans un post précédent, j’avais abordé l’intégration du DART Remote Control dans une image WinPE. Il s’agissait en fait d’un fichier cab qui est injecté dans le WinPE.
L’Assessment and Deployment Kit (ADK), actuellement disponible pour les abonnés au MSDN, permet l’ajout de fonctionnalités très intéressantes à l’environnement PE (WinPE 4.0 au passage). On peut voir dans le répertoire C:\Program Files (x86)\Windows Kits\8.0\Assessment and Deployment Kit\Windows Preinstallation Environment\x86\WinPE_OCs (pour WinPE Optional Components) les fichiers Cab intégrables.
On peut voir ces Features apparaitre dans MDT lorsque l’ADK est installé en remplacement du WAIK :
Une fois les Features cochées, il ne reste plus qu’à faire une mise à jour du DistributionShare afin de mettre à jour l’image WinPE. Durant la phase de mise à jour de l’image WinPE, le Workbench s’appuie sur des outils du WAIK (ou ADK).
L’outil DISM est utilisé afin d’injecter les Features, et permettre la copie de la volumétrie nécessaire à MDT
L’outil oscdimg sert à générer une image ISO.
Il est possible d’utiliser DISM afin de visualiser les Packages & Features intégrées dans le WinPE de MDT.
Tout d’abord, il est nécessaire de créer un répertoire vide par exemple c:\Mount.
Nous utilisons DISM afin de monter l’image WinPE dans ce répertoire vide avec la commande suivante :
dism /mount-wim /wimfile:"c:\DeploymentShare\Boot\LiteTouchPE_x86.wim" /index:1 /mountdir:"c:\mount"
les commandes
dism /image:"c:\mount" /get-features et get-packages permettent de lister les composants présents dans le WinPE.
On peut voir le logo du WinPE 4.0 qui est différent de la version précédente.
Le powershell intégré dans WinPE en image !