Comment configurer des disques utilitaires amorçés sur le réseau à l'aide de PXE
Nous vous avons montré comment démarrer en réseau le LiveCD Ubuntu. Dans cet article, nous montrerons comment rendre amorçables d’autres utilitaires sur le réseau, ce qui vous donnera les connaissances nécessaires pour répliquer la procédure pour d’autres utilitaires que vous utiliserez peut-être..
Remarque: cet article n'est pas destiné aux débutants, même si vous pouvez continuer à lire!
Image de Steve Jurvetson
Vue d'ensemble
Ce guide a pour but de vous donner les outils avec lesquels vous pourrez convertir des utilitaires, pour être PXEable. Bien qu’il soit malheureusement impossible de convertir un outil sous le soleil, nous ne serions pas geeks si nous n’avions au moins pas essayé..
Comme indiqué dans le guide “Comment amorcer un réseau (PXE) Le LiveCD Ubuntu”, Si vous n'utilisez pas déjà Ubuntu comme votre “numéro un”, allez à l'outil de dépannage, de diagnostic et de procédures de secours, qu'attendez-vous pour?
Cela dit, il faut reconnaître qu'il y a des choses que l'on ne peut tout simplement pas faire dans le LiveCD Ubuntu (comme les mises à jour du BIOS), ou que vous utilisez déjà un outil différent de celui que vous aimez et que vous préféreriez continuer à utiliser pour quelque raison que ce soit..
Recommandations, hypothèses et conditions préalables
- Il est supposé que vous avez déjà configuré le serveur FOG comme expliqué dans notre guide «Qu'est-ce que l'initialisation de réseau (PXE) et comment l'utiliser?»..
- Vous verrez le programme «VIM» utilisé comme éditeur, principalement parce qu’il est largement disponible sur les plates-formes Linux. Vous pouvez utiliser n'importe quel autre éditeur que vous souhaitez.
- Le CD de démarrage ultime (UBCD) est utilisé à titre d'exemple car, contrairement à d'autres collections d'utilitaires, il est gratuit à télécharger et les programmes qu'il regroupe sont gratuits..
Pourquoi ne pas simplement utiliser ISO sur PXE?
C’est souvent la première question posée lorsqu’on parle de PXEing. La réponse brève est que, bien qu’il soit techniquement possible de transférer une image ISO vers PXE et de la transmettre aux machines clientes, le contenu de ladite image presque toujours attendue, devrait s’attendre à ce que sa manifestation physique soit accessible dans le lecteur de CD-ROM physique. Par conséquent, quel que soit le contenu dudit ISO, il essaiera de rechercher les fichiers "secteur de démarrage" dans le lecteur de CD-ROM physique de la machine cliente, ne les trouvera pas et échouer pour démarrer.
Les deux manières de surmonter ce problème sont:
- Gravez l’ISO et insérez-le dans le lecteur de CD-ROM de la machine cliente - En toute simplicité, ne pas utiliser des CD, c’est exactement ce que nous essayons d’éviter…
- Ouvrez le fichier ISO et modifiez le mode de fonctionnement du programme, afin qu’il utilise un CD-ROM. chauffeur qui sait comment rechercher l’ISO dans la RAM - Assez complexe et différent pour chaque type de programme de démarrage. C'EST À DIRE. pas la même procédure pour Linux, WinPE ou UBCD sans mentionner quelques.
Comme les deux précédents cèdent à l’objectif de «simplement utiliser une ISO», nous ne recommandons donc pas de poursuivre dans cette voie..
La méthode du noyau
Bien que ce soit très rare, le programme que vous essayez de démarrer peut ne nécessiter qu'un noyau pour fonctionner. Un exemple typique est “memtest86 +”. Memtest est fourni avec la plupart des CD d’installation des distributions Linux et avec FOG. Comme Memtest doit seulement être capable de communiquer avec les capacités les plus basiques du matériel testé, I.E. la mémoire (RAM), et peut très bien fonctionner sans même supporter complètement le matériel sur lequel il tourne (c’est-à-dire qu’il testera la mémoire, même s’il ne connaît pas son type, sa vitesse, etc.), il n’a besoin de rien d'autre et peut travailler de manière complètement autonome.
L'entrée de menu PXE pour memtest peut sembler aussi simple que:
LABEL Run Memtest86+
brouillard de noyau / memtest / memtest
ajouter -
Dans cet exemple, «LABEL Run Memtest86 +» définit le nom de l'entrée, «kernel fog / memtest / memtest» indique à PXElinux où prendre le noyau qui sera envoyé au client et «append -» indique à PXElinux d'ignorer options de démarrage supplémentaires à partir de * héritage.
* Remarque: selon votre configuration, il se peut que cela ne soit même pas nécessaire et qu'en réalité, dans FOG, il ne soit pas utilisé.
La méthode Kernel + Initrd
Cette méthode est de loin la plus utilisée et la plus répandue pour plusieurs raisons:
- De nombreux utilitaires proviennent aujourd'hui du monde Linux.
- Étant donné que Linux dispose d’un excellent support matériel et est libre d’utilisation, de plus en plus de sociétés se rendent compte que Linux est une excellente base pour la création de leurs programmes propriétaires..
Permet d'utiliser l'utilitaire CPUstress de UBCD comme exemple.
Sur la structure de fichier UBCD, cet utilitaire se trouve dans le répertoire «ubcd / boot / cpustress». Les fichiers que nous recherchons sont appelés «bzImage» qui est le «noyau» et «initrd.gz» qui est le «disque virtuel initial». Si vous utilisez la configuration FOG que nous avons créée, nous vous recommandons de copier le répertoire sous “/ tftpboot / howtogeek / utils”. Une fois cela fait, éditez le fichier “/tftpboot/howtogeek/menus/utils.cfg” et ajoutez-y l'entrée de démarrage trouvée dans les entrées de menu de l'UBCD. cela se trouve dans «ubcd / menus / syslinux / cpu.cfg». Avec les réglages pour la configuration FOG, l’entrée de menu devrait ressembler à ceci:
MENU LABEL StressCPU V2.0 (nécessite une CPU avec SSE)
TEXT HELP
Torturer-tester votre CPU afin de s'assurer que vous ne surchauffez pas
problèmes. Requiert des processeurs x86 équipés de SSE. Exécute une version spéciale du
Boucles internes Gromacs qui mélangent le SSE et les instructions de montage normales pour chauffer
votre CPU autant que possible.
ENDTEXT
KERNEL howtogeek / utils / cpustress / bzImage
INITRD howtogeek / utils / cpustress / initrd.gz
APPEND root = / dev / ram0 ramdisk_size = 12000 noapic ubcdcmd = stresscpu2
Où :
- MENU LABEL - définit le nom de l'entrée
- TEXT HELP - Cette directive optionnelle donne un texte d’aide qui sera affiché dans le menu pour fournir des informations sur l’entrée sélectionnée..
- KERNEL - Spécifie l'emplacement du fichier «noyau» dans le répertoire TFTPD..
- INITRD - idem ci-dessus uniquement pour le fichier “initrd”.
- APPEND - Spécifie des paramètres supplémentaires qui doivent être transmis au programme démarré..
Quelques points à noter sont:
- Les geeks les plus téméraires remarqueraient que nous avons remplacé la directive originale de «LINUX» par «KERNEL». C'est parce que: A. cela rend l'exemple plus facile à lire. B. Dans cet exemple, cela n'a pas vraiment d'importance.
Cela dit, généralement lorsque la directive “LINUX” est utilisée, il est préférable de la laisser ainsi car elle indique à pxelinux / syslinux que nous n'utilisons pas n'importe quel noyau, mais un noyau Linux.. - Nous avons délibérément retiré la directive «silencieuse» des paramètres annexés. Ceci est dû à un changement dans la façon dont Syslinux gère le paramètre "quiet" dans les versions récentes.
- Il est possible de changer le fonctionnement du programme “StressCPU” en modifiant simplement le paramètre ajouté “ubcdcmd”. Ainsi, pour utiliser les autres fonctions, il suffit de copier l'entrée et de remplacer «stresscpu2» par: cpuinfo, cpuburn ou mprime24..
Bien que ce soit un exemple très simple, il devrait suffire à vous aider.
La méthode Kernel + Initrd + NFS
Cette méthode est celle que nous avons utilisée dans le guide «Comment procéder au démarrage en réseau (PXE) The Ubuntu LiveCD». Cette méthode s'appuie sur la précédente et utilise le fait que certaines distributions Linux prennent en charge le système de fichiers racine monté à partir de NFS. Le guide Ubuntu est un excellent exemple, mais soyez assuré qu'un autre guide est déjà prévu dans un avenir proche. "Gardez les yeux ouverts pour un champignon noir".
La méthode MEMDISK
MEMDISK est un utilitaire distribué avec le package Syslinux. Le but de cet utilitaire est de vous permettre d’émuler un «disque» (principalement des disquettes) en utilisant son image. Le fonctionnement de cet utilitaire consiste à connecter l’emplacement dans la RAM qui spécifie comment communiquer avec le lecteur de disquette (gestionnaire d’interruptions A.K.A.) et le dirige vers un nouvel emplacement géré par le programme MEMDISK. Avec cette méthode, le “noyau” est l’utilitaire MEMDISK et le “initrd” est le fichier image de disquette (.img)..
La première chose à noter est que FOG est livré avec une version «memdisk» compatible avec la version pxelinux.0 qu’il utilise. Par conséquent, il est recommandé de ne pas copier le fichier “memdisk” accompagnant le fichier “img” de leur source..
Comme cette méthode est déjà très utilisée, même pour les utilitaires classiques et les BootCD, il suffit le plus souvent de trouver le fichier «IMG» sur le BootCD, de le copier dans le répertoire TFTPD du serveur PXE et de copier le menu ISOlinux le menu PXElinux.
Ils disent que «parler n’est pas cher», alors voyons comment adapter l’un des utilitaires qui utilisent la méthode MEMDISK de UBCD, pour travailler à partir de PXE..
L'utilitaire TestMemIV se trouve dans la structure de fichier UBCD à l'adresse «ubcd / images / testmem4.img.gz». Comme nous avons déjà l’utilitaire memdisk disk, il suffit de copier le fichier “img” dans le répertoire “howtogeek / utils /”. Avec les réglages pour la configuration FOG, l’entrée de menu devrait ressembler à ceci:
MENU LABEL TestMemIV
TEXT HELP
Teste la mémoire système et la mémoire sur les cartes vidéo Nvidia.
ENDTEXT
Mémoire LINUX
INITRD howtogeek / utils / testmem4.img.gz
Bien qu’il s’agisse d’un exemple de fichier image de disquette autonome de UBCD, la plupart des autres programmes UBCD utilisent la même image de base pour commencer à fonctionner (fdubcd.img.gz) et utilisent le paramètre ajouté «ubcdcmd» pour lancer automatiquement un programme à partir de. le post-démarrage du CDROM. Cela signifie que vous ne pourrez pas convertir la plupart de leurs utilitaires pour qu'ils soient amorçables via le réseau sans une ingénierie inverse importante. Une telle ingénierie inverse est possible (comme on peut le voir ici) et constitue un excellent exercice de geek, mais elle dépasse le cadre de ce guide..
Ceci étant dit, vous avez maintenant les outils pour exécuter cette procédure pour cet utilitaire ésotérique de diagnostic OEM ou de mise à niveau du BIOS..
Et ainsi, verrouillé au-delà de la porte du sang et de la salle des flammes, Valor attend le réveil du héros de la lumière…