URL: https://linuxfr.org/users/floyd/journaux/livecd-via-r%C3%A9seau Title: LiveCD via réseau Authors: Mr F Date: 2007年02月22日T19:25:52+01:00 Tags: Score: 0 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](ftp://alpha.gnu.org/gnu/grub/grub-0.97.tar.gz) £spaces£ £/spaces£$ wget [http://os.inf.tu-dresden.de/~adam/grub/0.97/grub-0.97-os.3.d(...)](http://os.inf.tu-dresden.de/~adam/grub/0.97/grub-0.97-os.3.diff.gz) £spaces£ £/spaces£$ tar xzf grub-0.97.tar.gz £spaces£ £/spaces£$ cd grub-0.97 £spaces£ £/spaces£$ zcat ../grub-0.97-os.3.diff.gz | patch -p0 £spaces£ £/spaces£$ ./configure --enable-diskless --enable-pxe £spaces£ £/spaces£$ 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) : £spaces£ £/spaces£host workstation { £spaces£ £/spaces£hardware ethernet 00:DE:AD:BE:EF; £spaces£ £/spaces£fixed-address 127.0.0.1; £spaces£ £/spaces£filename "pxegrub"; £spaces£ £/spaces£} 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 £spaces£ £/spaces£root (nd) £spaces£ £/spaces£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 £spaces£ £/spaces£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.