Journal LiveCD via réseau

Posté par .
Tags : aucun
0
22
fév.
2007
Rien de plus simple et de plus utile que de pouvoir charger un LiveCD entièrement par réseau.

Tout d'abord il faut une carte réseau compatible PXE.

Ensuite télécharge un LiveCD, comme celui de la centos4.4 par exemple.

Mounter en loop votre image CD (mount -o loop image.bin directory).
Exportez ensuite ce répertoire par nfs.
Attention, si vous l'exportez en norootbla, certains fichiers sont en lecture seulement pour le root, il faudra alors copier le contenu du disque et changer les droits.


Mettez en place un serveur tftp puis copier les fichiers vmlinuz et initrd du live cd dans la racine du serveur tftp.


Ensuite il faut mettre en place un petit serveur DHCP


On pourrait utiliser pxelinux pour charger un kernel, mais grub est pas mal aussi.

Pour cela il nous faut PXEGRUB, assez rarement disponible dans pas mal de distributions. Du coup il faut le compiler/modifier :

$ wget ftp://alpha.gnu.org/gnu/grub/grub-0.97.tar.gz
$ wget http://os.inf.tu-dresden.de/~adam/grub/0.97/grub-0.97-os.3.d(...)
$ tar xzf grub-0.97.tar.gz
$ cd grub-0.97
$ zcat ../grub-0.97-os.3.diff.gz | patch -p0

$ ./configure --enable-diskless --enable-pxe
$ make


A compiler avec gcc-3.x.

Placez le fichier pxegrub ainsi compilé dans la racine du serveur tftp



Puis configurer le dhcp (le reste de la configuration est classique) :

host workstation {
hardware ethernet 00:DE:AD:BE:EF;
fixed-address 127.0.0.1;
filename "pxegrub";
}



Dans la racine du serveur tftp, créer le répertoire tftp et placez-y le fichier grub qui sera de la forme :

title=CentOS 4.4 LiveCD
root (nd)
kernel /vmlinuz max_loop=32 vga=791 nfsroot=127.0.0.1:/centos-4.4-live initrd=initrd.gz init=linuxrc load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=40000 root=/dev/ram0 rw rhgb kb=us pw=fear ssh
initrd /initrd.gz

(c'est du grub classique donc vous pouvez aussi y placer votre kernel local)



Démarrez ensuite votre workstation, elle va procéder de la sorte :
- Chercher via PXE une adresse IP et un fichier à lancer (pxegrub) via tftp
- Lancer pxegrub qui affichera le menu classique grub
- Grub chargera ensuite via tftp le kernel et l'initrd choisis.
- Le kernel boot, lance ses scripts initrd qui va se charger de mounter le serveur nfs et construire son arborescence système
- Le reste des scripts d'init s'effectueront de façon classique.


C'est assez pratique comme système et on peut s'amuser à faire pleins de petites choses amusantes.
  • # ...

    Posté par . Évalué à 1.

    L'avantage de pxelinux est qu'il supporte plus de carte que pxegrub. En tout cas il y a de ça un an.

    L'avantage de grub par contre est d'avoir un menu un peu plus configurable/modifiable.
  • # NFS root en standard ?

    Posté par . Évalué à 3.

    copier les fichiers vmlinuz et initrd du live cd dans la racine du serveur tftp
    Encore faut-il que le noyau [et|ou] initrd soient configurés pour accepter du NFS pour /. D'après ce journal, ça a l'air d'être le cas pour CentOS. J'avais fait un essai il y a pas mal de temps (une distrib cousine de Debian, mais je me souviens plus si c'était Knoppix ou Ubuntu, en tout cas un truc avec apt-get...) et ce n'était visiblement pas le cas.
  • # HTTP-FUSE

    Posté par (page perso) . Évalué à 4.

    Si tu t'intéresses aux LiveCD via réseau, tu es peut-être intéressé par ces deux trucs:

    Ca boote sur le CD mais ensuite, tous les fichiers sont accédés à travers le réseau et c'est plus rapide que le CD ;-)

    1/ LiveCD vitaminé http://linuxfr.org/~thomas_p/21614.html
    Les données sont sur un serveur NFS dont l'adresse IP est donné en paramètre de boot, ou alors par OpenSLP (ce qui permet aussi de répartir la charge entre plusieurs serveurs NFS).

    2/ HTTP-FUSE-KNOPPIX http://unit.aist.go.jp/itri/knoppix/http-fuse/
    (pour la page en anglais c'est http://unit.aist.go.jp/itri/knoppix/http-fuse/index-en.html )
    Les données sont sur des serveurs HTTP et sont cachables avec des logiciels comme squid.

    On peut éventuellement combiner le LiveCD vitaminé ou le HTTP-FUSE-KNOPPIX avec ton LiveCD via réseau.

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.