L'une des questions des plus courantes : « quels systèmes de fichiers supporte g4u ». La réponse est : « tous ». g4u lit le disque bit à bit, du premier au dernier. Ceci inclut le MBR, la table de partition ainsi que les partitions elles-mêmes sans même aller voir ce qu'il se trouve dans celles-ci.
La liste des systèmes d'exploitation supportés par g4u se rapproche de la liste précédente, TOUS. Encore une fois, étant donné l'approche « image » de g4u, tout système peut être copié.
En plaçant un disque dur « conteneur » dans un PC, g4u peut même copier/déployer un système d'exploitation non-PC sur ce périphérique. Des systèmes tels que HP-UX, Irix, Solaris, AIX par exemple.
Le système utilisant g4u peut avoir des disques de type IDE, SATA, SCSI ou RAID avec de multiples contrôleurs (Adaptec, et cætera). Il en est de même pour bon nombre de cartes PCMCIA, Cardbus, ISA et autres cartes PCI. Jetez un oeil à la configuration du noyau de g4u pour une liste plus complète du matériel supporté.
Pour vous assurer le bon support d'un type matériel, il vous suffit d'amorcer votre système avec g4u et de vérifier avec la commande ifconfig -a que votre carte réseau est listée et donc reconnue, et de même pour les disques avec la commande disks . Dans le cas contraire, un long périple peut vous être nécessaire pour arriver à vos fins... analysez la sortie de dmesg (sous g4u ;touche espace pour faire défiler l'affichage). Si besoin, demandez de l'aide . Voyez la partie « Retour d'erreurs » pour plus d'informations à ce sujet.
A la question « comment g4u gère les disques de différentes tailles », qui d'ailleurs revient souvent aussi, la réponse est que g4u travaille avec des disques de tailles et de géométries identiques. Mettre une image d'un petit disque sur un disque plus grand est possible ; c'est l'inverse qui pause problème.
Si vous ne pouvez faire autrement que de préparer un système sur un gros disque qui sera amené à être re-déployé vers un disque plus petit, assurez-vous que l'espace excédentaire sur le gros disque n'est pas occupé par une partition ou un système de fichier actif ; ou des données seront perdues.
Si vous déployez une petite image sur un plus gros disque, l'espace non exploité par g4u peut être exploité par une autre partition, un autre système de fichier. Vous aurez en revanche à le faire en utilisant vos outils / votre système d'exploitation.
Par défaut, les images disques remontées sur le serveur FTP sont compressées avec gzip -9. Ceci permet d'économiser de l'espace disque mais rallonge l'opération, plusieurs heures de traitement est chose courante. Vous pouvez réduire le niveau de compression de gzip lors du uploaddisk avec la variable d'environnement correspondante :
# GZIP=-1
Vous pouvez modifier le niveau de compression allant de 1 (rapide mais faible taux de compression) à 9 (lent mais taux intéressant). Le reste des options de la commande uploaddisk restant évidemment inchangées.
Pendant le démarrage de g4u, tous les périphériques reconnus sont listés ; mais très vite. Pour obtenir à tout moment cette liste des disques, utilisez la commande disks :
# disks wd0 at pciide0 channel 0 drive 0: wd0: drive supports 16-sector pio transfers, lba addressing wd0: 6149 MB, 13328 cyl, 15 head, 63 sec, 512 bytes/sect x 12594960 sectors wd0: 32-bit data port wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 2 wd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 2 (using DMA data transfers)
Cet exemple liste un disque dur de 6Giga.
Vous avez expérimenté un g4u qui plante lors du transfert ftp d'une image dépassant les 2 giga ? Ce problème ne vient pas de g4u mais de votre serveur FTP. D'anciennes distributions Linux sont connues pour n'accepter que des fichiers de taille inférieure à 2 giga, et si ce Linux a un kernel 2.4, rien n'est garantit. Assurez-vous d'avoir un démon FTP à jour et installez un système d'exploitation décent (dixit l'auteur, le rustre !).
Sinon, jusqu'ici, quel que soit le serveur FTP employé (NetBSD, Solaris and Windows 2000), aucun problème n'a été répertorié.
J'ai des demandes pour ajouter certaines fonctionnalités à g4u :
l'utilisation de TFTP
l'utilisation de SSH/scp
l'utilisation de NFS
l'ajout d'une interface X ou de type « curses »
l'écriture des images vers CDROM / un déploiement depuis un CDROM
la compression bzip2
Après avoir migré vers une gestion de boot g4u en 2 disquettes, certaines de ces fonctionnalités seront ajoutés, mais d'autres (X, et cætera) n'ont que peu de chances d'être intégrées. Tenez-vous au courant des prochaines mises à jour !
Si les performances réseaux sont faibles (moins de 5 Mo/s via un switch ethernet 100BaseT par exemple) malgré un processeur rapide, un disque qui ne sature pas et un taux de compression faible, doutez de votre configuration réseau ! Un problème courant sur les réseaux switchés est une discordance de duplex entre la carte réseau et le switch. Sous NetBSD, par défaut, les vitesses et le duplex sont négociés automatiquement mais peuvent l'être manuellement.
Forcer un 100BaseTX/Full-duplex :
# ifconfig fxp0 media 100BaseTX mediaopt Full-duplex # ifconfig -a fxp0: flags=[...] media: Ethernet 100baseTX full-duplex
Utiliser l'auto-négociation (par défaut) :
# ifconfig fxp0 media auto # ifconfig -a fxp0: flags=[...] media: Ethernet autoselect (100baseTX)
Pour plus d'informations à ce sujet, voyez les pages de manuels de ifconfig(8) ou encore le document Auto-Negotiation Valid Configuration Table à l'étape « Why Is It That the Speed and Duplex Cannot Be Hardcoded on Only One Link Partner ? ».
Des gens se plaignent de la taille trop importante des images créées par g4u. Ces tailles de fichiers sont normales, elles sont dues au fait que g4u clone tout le disque, tous les blocs, sans se soucier de savoir si ils contiennent une quelconque donnée. Pour différencier un bloc utilisé d'un non utilisé, g4u devrait connaître le système de fichier employé - Windows FAT, Linux Ext2/3/ReiserFS/et cætera, BSD FFS, Solaris UFS, et cætera. Etant donnée la faible capacité d'une disquette, et le nombre d'implémentations nécessaires pour couvrir différents systèmes de fichiers, il est peu probable qu'un tel tri soit ajouté aux fonctionnalités de g4u.
Malgré tout il y a un moyen plutôt simple de contourner le problème : utiliser le système d'exploitation d'origine afin d'optimiser l'occupation du système de fichiers. Il suffit de faire en sorte que les blocs non utilisés / vides ne soient pas remplis de données aléatoires, mais au contraire de valeurs facilement compressibles par g4u. Ceci donnant lieu à des images disques plus petites.
En clair, remplacez les blocs non-utilisés de votre disque avec des octets à 0. Ouvrez un fichier et remplissez-le d'octets à 0 jusqu'à ce que le disque soit plein, puis fermez le fichier et effacez le. Le résultat est que tous les blocs non utilisés contiennent maintenant des données que g4u peut facilement compresser. En toute logique le système d'exploitation marque juste les blocs inutilisés comme 'inutilisés' mais ne modifie en rien leur contenu.
L'utilisation de cette technique sur un disque de 20Go avec un système Solaris 8/x86 de 6Go et le reste en Windows 2000 Workstation a permis de diminuer l'image compressée de ~6Go à ~2Go. Vous imaginez bien sûr le gain de temps au déploiement. :)
Pour effectuer le remplissage des blocs non utilisés avec des octets à 0, il y a plusieurs méthodes, dépendant du système d'exploitation de la machine et des logiciels disponibles :
Unix standard : (fonctionne sur toutes les variantes Unix : Linux, NetBSD, Solaris, et cætera.) :
# dd if=/dev/zero of=/0bits bs=20971520 # bs=20m # rm /0bits
Solution Perl pour Windows : Ceci nécessite perl d'installé. Dans un shell, tapez :
cd /d c:\ c:\win-preclone.pl c:
Cliquez ici pour télécharger le script perl win-preclone.pl.
Une solution en Pascal pour Windows :
Ce programme en pascal est une contribution de Matthias Jordan [mjordan CHEZ code TIRET fu POINT de] :
Ce programme est fourni sans aucune garantie.
La solution Windows 64bit :
Dominic Leelodharry [dominic CHEZ authorsoftware POINT com] a envoyé à l'auteur une version 64bit pour Windows :
Ce programme est fourni sans aucune garantie.
Windows « Erasor » :
Ce programme freeware peut effacer votre disque de manière sûre, mais il est aussi capable de remplir le disque de « 0-bits ». Téléchargeable sur www.heidi.ie/eraser. Merci à Stephen Krans [s040 CHEZ krans POINT org] pour le tuyau !
Soluce Windows embarquée :
Apparemment Windows XP fournit un outil d'encryption de disque permettant l'écriture d'octets à 0. Pour se faire, lancez la commande : cipher /W:C: (pour le lecteur C:). Vous devrez quitter l'opération (Control+C) après la première opération, sinon des données aléatoires seront écrites suites au remplissage de « 0-bytes ».
Lancez l'une de ces commandes avant d'éteindre le système d'exploitation, puis créez une image avec g4u, vous verrez une nette différence de taille d'image.
Vous voudrez ou devrez parfois vous passez d'un DHCP. Dans ce cas, une configuration manuelle du réseau est aussi possible :
Regardez si votre interface réseau est reconnue, et sous quel nom, avec la commande :
# ifconfig -a
Le nom de l'interface sera du type « ex0 », « tlp0 », et cætera. (Contrairement à Linux, les interfaces réseaux NetBSD ne s'appellent pas « eth0 » !)
Ensuite configurez l'IP et le masque réseau de cette interface. J'utiliserai ici la dénomination xx0 pour l'interface réseau, et la machine devrait porter l'IP 1.2.3.4 et le masque réseau 255.255.255.0 :
# ifconfig xx0 1.2.3.4 netmask 255.255.255.0
Enfin, vous pouvez spécifier le router par défaut, si votre serveur FTP est sur un sous-réseau IP différent de celui où se trouve la machine g4u. Spécifions une IP router 2.3.4.5, voici la commande à saisir :
route add default 2.3.4.5
C'est tout ? Simple, non ? Rappelez-vous que nous traitons de l'Unix ! Après ces quelques étapes, vous pouvez utiliser g4u comme s'il utilisait un DHCP.
On m'a demandé comment démarrer depuis le disque dur (en utilisant grub par exemple). L'idée est d'extraire le noyau de la disquette de démarrage, et de l'associer à grub (ou n'importe quel autre bootloader - voyez peut-être avec PXE to netboot g4u). Voici comment extraire le noyau, appelé « netbsd » :
% ( cat g4u-2.2-1.fs | dd bs=512 skip=16 ; \ ? cat g4u-2.2-2.fs | dd bs=512 skip=16 \ ? ) | tar vxf - -r--r--r-- 1 feyrer netbsd 53948 Nov 3 23:08 boot -rw-rw-r-- 1 feyrer netbsd 1479905 Nov 3 23:08 netbsd
Notez que le noyau à ce niveau (« netbsd ») est toujours compressé, ce qui va très bien à un bootloader comme grub, mais au cas où vous voudriez le décompresser :
% file netbsd netbsd: gzip compressed data, was "netbsd-INSTALL_G4U", from Unix % mv netbsd netbsd.gz % gunzip netbsd.gz % ls -la netbsd -rw-rw-r-- 1 feyrer wheel 5523084 Dec 7 18:08 netbsd % file netbsd netbsd: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), statically linked, stripped
Afin de faire un boot réseau de g4u via PXE, vous devrez d'abord extraire le noyau des disquettes , puis suivre les étapes qui décrivent un boot réseau, dit « diskless boot » (sans disquette), voir la documentation NetBSD pour les nombreux moyens de réaliser une telle chose.
Un condensé des étapes nécessaires à g4u est disponible dans les archives, soit en français par Jean-Christophe Guis ou une traduction en anglaise de Steve Clement.
Un autre petit rapport sur Comment configurer une Fedora Core 5 en tant que serveur PXE de Aaron Axelsen est disponible en anglais.
Lorsque vous récupérez ou envoyez des images sur votre serveur FTP et que vous voyez une ligne du style :
553 Cannot send file larger than 4 gigabytes
vous pouvez être sûr que cette ligne (ou tout autre ligne avec un numéro en entête) vient de votre serveur FTP, et de la même manière, que ce n'est pas g4u qui a un problème mais le serveur FTP.
Quelques programmes connus de serveurs FTP :
ftpd(8) de NetBSD qui est disponible sur une installation par défaut.
GuildFTPd pour Windows XP.
Le service FTP de Microsoft Windows 2000 et 2003 Server (à savoir qu'il existe quelques soucis avec les services FTP des versions MS Windows non serveur.).
Le démon vsftp de votre distribution Linux favorite (reconnu fonctionnel sur Fedora 2 et Debian Sarge).
Le service FTP de Novell Netware (reconnu fonctionnel sur Netware 6).
TYPSoft FTP Server sur une clé USB avec Windows XP.
Filezilla Server sur Windows 98SE et XP.
Le démon FTP de Mac OS X et Mac OS X Server.
(D'autres ? Faites m'en part !).