Âmes sensibles, attention, ce journal est quasi-intégralement recopié de mon blog.
Dans le LUG dont je fais partie (Toulibre [1]), nous organisons régulièrement des rencontres autour du Logiciel Libre dans des lieux qui ne sont pas équipés de postes sous GNU/Linux. Nous dégainons alors évidemment la technologie LiveCD, qui a fait ses preuves depuis longtemps, et nous permet de transformer (devrais-je dire libérer ?) en un clin d'oeil 5 ou 6 postes. Et donc de pouvoir animer nos petites rencontres, et de montrer au public l'environnement GNU/Linux ainsi que les divers Logiciels Libres disponibles.
Pourtant, ce mode de fonctionnement n'était pas tout à fait satisfaisant:
- d'une part, le LiveCD de la Ubuntu, que nous utilisons, n'est pas totalement francisé. Évidemment, nous pouvons le personnaliser, mais il faudra alors faire une copie du CD pour chaque poste, et ce, à chaque modification du LiveCD
- et surtout, les performances du système lancé depuis un LiveCD laissent clairement à désirer. Le lecteur de CD de beaucoup de machines n'est pas très véloce, et le lancement du système ou d'applications comme Firefox ou OpenOffice.org est vraiment très très long.
Je me suis alors fait la remarque que tous ces postes étaient reliés par un réseau 100 Mbit/s, qui offre des performances (à la fois en terme de débit et en terme de temps d'accès) bien plus intéressant qu'un LiveCD. On a donc eu l'idée de transformer un LiveCD existant en un LiveCD démarrant par le réseau plutôt. (Note: si ça se trouve, quelqu'un avait déjà fait ça ailleurs, mais je n'ai pas trouvé).
Le week-end dernier, avec un collègue de Toulibre, nous nous sommes donc lancés dans la modification de la phase de démarrage du LiveCD d'Ubuntu. Désormais, il suffit d'une ISO de 7 Mo, ou bien de quelques fichiers sur une clé USB pour démarrer une machine. Dès le démarrage, elle va monter via NFS une copie du CD-ROM Live contenant l'ensemble du système (se trouvant sur une autre bécane, le serveur). Tous les accès se feront donc ensuite par NFS. Sur le serveur, la copie se trouve sur le disque dur (donc déjà beaucoup plus rapide que sur CD-ROM), et même une grande partie de ces données vont rapidement se retrouver cachées dans la mémoire du serveur, pour une vitesse encore accrue. La différence est vraiment nette: pour peu qu'on dispose d'un réseau rapide et d'un serveur pas trop pourri, on aurait presque l'impression, sur le poste client, d'utiliser un système réellement installé sur le disque.
En plus des performances, ce mécanisme fait que les données du LiveCD ne sont qu'à un seul endroit. Si l'on veut le personnaliser, pour par exemple, ajouter des logiciels ou un meilleur support du français, il suffit de le faire sur le disque du serveur.
Nous avons documenté toute notre démarche dans un petit HOWTO [2]. Il explique toutes les modifications que nous avons apporté, comment créer une clé USB ou une ISO qui va permettre de démarrer ce système. Ceux qui ont la flemme peuvent directement télécharger l'ISO [3]. Ceux qui veulent démarrer via une clé USB devront lire la section correspondante de la doc.
N'hésitez pas à faire part dans les commentaires de vos essais, suggestions et remarques par rapport à la documentation ou au bouzin lui-même.
[1] http://www.toulibre.org
[2] http://thomas.enix.org/pub/livecd/HOWTO-Ubuntu-Live-Speedup
[3] http://thomas.enix.org/pub/livecd/livecdboot.iso
Dans le LUG dont je fais partie (Toulibre [1]), nous organisons régulièrement des rencontres autour du Logiciel Libre dans des lieux qui ne sont pas équipés de postes sous GNU/Linux. Nous dégainons alors évidemment la technologie LiveCD, qui a fait ses preuves depuis longtemps, et nous permet de transformer (devrais-je dire libérer ?) en un clin d'oeil 5 ou 6 postes. Et donc de pouvoir animer nos petites rencontres, et de montrer au public l'environnement GNU/Linux ainsi que les divers Logiciels Libres disponibles.
Pourtant, ce mode de fonctionnement n'était pas tout à fait satisfaisant:
- d'une part, le LiveCD de la Ubuntu, que nous utilisons, n'est pas totalement francisé. Évidemment, nous pouvons le personnaliser, mais il faudra alors faire une copie du CD pour chaque poste, et ce, à chaque modification du LiveCD
- et surtout, les performances du système lancé depuis un LiveCD laissent clairement à désirer. Le lecteur de CD de beaucoup de machines n'est pas très véloce, et le lancement du système ou d'applications comme Firefox ou OpenOffice.org est vraiment très très long.
Je me suis alors fait la remarque que tous ces postes étaient reliés par un réseau 100 Mbit/s, qui offre des performances (à la fois en terme de débit et en terme de temps d'accès) bien plus intéressant qu'un LiveCD. On a donc eu l'idée de transformer un LiveCD existant en un LiveCD démarrant par le réseau plutôt. (Note: si ça se trouve, quelqu'un avait déjà fait ça ailleurs, mais je n'ai pas trouvé).
Le week-end dernier, avec un collègue de Toulibre, nous nous sommes donc lancés dans la modification de la phase de démarrage du LiveCD d'Ubuntu. Désormais, il suffit d'une ISO de 7 Mo, ou bien de quelques fichiers sur une clé USB pour démarrer une machine. Dès le démarrage, elle va monter via NFS une copie du CD-ROM Live contenant l'ensemble du système (se trouvant sur une autre bécane, le serveur). Tous les accès se feront donc ensuite par NFS. Sur le serveur, la copie se trouve sur le disque dur (donc déjà beaucoup plus rapide que sur CD-ROM), et même une grande partie de ces données vont rapidement se retrouver cachées dans la mémoire du serveur, pour une vitesse encore accrue. La différence est vraiment nette: pour peu qu'on dispose d'un réseau rapide et d'un serveur pas trop pourri, on aurait presque l'impression, sur le poste client, d'utiliser un système réellement installé sur le disque.
En plus des performances, ce mécanisme fait que les données du LiveCD ne sont qu'à un seul endroit. Si l'on veut le personnaliser, pour par exemple, ajouter des logiciels ou un meilleur support du français, il suffit de le faire sur le disque du serveur.
Nous avons documenté toute notre démarche dans un petit HOWTO [2]. Il explique toutes les modifications que nous avons apporté, comment créer une clé USB ou une ISO qui va permettre de démarrer ce système. Ceux qui ont la flemme peuvent directement télécharger l'ISO [3]. Ceux qui veulent démarrer via une clé USB devront lire la section correspondante de la doc.
N'hésitez pas à faire part dans les commentaires de vos essais, suggestions et remarques par rapport à la documentation ou au bouzin lui-même.
[1] http://www.toulibre.org
[2] http://thomas.enix.org/pub/livecd/HOWTO-Ubuntu-Live-Speedup
[3] http://thomas.enix.org/pub/livecd/livecdboot.iso
> Lire le journal (17 commentaires, moyenne: 3,4).
Vous avez demandé le commentaire #711000.



boot pxe
Si j'ai bien compris, ta version modifiée n'utilise qu'un noyau et initrd. Il est donc possible de pouvoir booter par pxe.
Il suffit alors d'installer un serveur dhcp avec les options qui vont bien ainsi qu'un tftpd, et c'est possible de se passer de clé usb :)
(enfin seulement sur les pc capables de booter par le réseau, mais ça devient une règle générale non ?)
Je voudrais modifier de la même manière le livecd Gparted, mais je n'ai aucune idée du système surlequel il repose ..(et l'auteur ne répond pas aux mails). Si quelqu'un a une piste ..
[^]Re: boot pxe
Absolument, c'est tout à fait possible. De la même façon que pour l'instant, le chemin NFS doit être passé sur la ligne de paramètres du noyau, alors qu'on pourrait le passer par DHCP.
Mais il y a une raison derrière tout cela: dans les lieux où nous (Toulibre) allons, nous ne maitrisons pas le serveur DHCP. C'est dans l'infrastructure réseau du lieu où nous sommes, et nous ne pouvons pas y toucher.
De plus, PXE c'est sympathique, mais ça demande de connaître avec précision le modèle des cartes réseau (si je me souviens bien). Or, par nature, le but d'un LiveCD c'est d'être utilisable sur n'importe quelle bécane, peu importe sa carte réseau, graphique, son ou autre.
[^]Re: boot pxe
De plus, PXE c'est sympathique, mais ça demande de connaître avec précision le modèle des cartes réseau (si je me souviens bien).
Non, et heureusement :)
Lorsqu'une carte réseau supporte pxe et qu'on demande au bios de booter sur le réseau, la carte réseau fera une requête bootp, le serveur lui filera l'adresse du serveur tftp, téléchargera le noyau et l'initrd, et bootera desus. Rien de spécifique à la carte réseau.
En revanche, si une carte réseau n'est pas capable de booter par pxe (ce qui est rare sur les pc récents), là il faudra utiliser des outils type etherboot etc. qui nécessite l'utilisation d'une disquette / clé usb etc. spécifique à la carte réseau, qui contiendra un programme capable de booter par pxe.
[^]Re: boot pxe
Exact, j'ai confondu PXE et etherboot, autant pour moi. Effectivement, on peut faire comme tu le dis. Ça serait rigolo de tester.
[^]Re: boot pxe
ClusterKnoppix fait ça. On boote sur une machine avec le livecd, puis avec un petit utilitaire inclu en quelques clics, ca fait DHCP, TFTP, NFS et tout ce qu'il faut.
Il suffit de démarrer une machine du réseau par PXE et on se retrouve dans la knoppix.
Peut-être à regarder pour s'inspirer de leurs scripts....
[^]Re: boot pxe
ma difficulté avec Gparted, c'est plutôt de savoir quel est le noyau utilisé ainsi que les sources, histoire de pouvoir rajouter sans se casser la tête le support nfsroot et réseau dans l'initrd.
La partie dhcp, tftp et nfs ne pose pas trop de pb en fait.