Linux
::Installation d'ubuntu gutsy LiveCD en réseau (netinstall ou netboot)
[Trackback]
Date : 2007-10-20@21:25:23
Rang : 0
J'en avait marre de graver des cd d'ubuntu (ayant un PC sous xubuntu et deux sous kubuntu) alors avec la sortie de gutsy je me suis mis a chercher comment installer par réseau cette distrib. J'ai tester le netboot tout court mais ça n'a pas marcher sur mon portable car il n'a pas réussi à trouver internet.
Je me suis insipré en grande partie des pages suivantes :
https://help.ubuntu.com/community/Installation/LocalNet?highlight=%28install%29%7C%28net%29
http://doc.ubuntu-fr.org/netboot
La méthode si dessous permet d'installer les versions d'ubuntu comme depuis un liveCD d'installation (Ubuntu desktop), mais depuis un serveur à travers le réseau.
Pour cela on a besoin de pas mal de chose
- un serveur dhcp pour permettre au bios d'acceder au reseau
- un serveur tfptd-hpa qui permet au bios d'aller chercher l'image du noyau pour booter
- les fichiers pxe permettent au bios de savoir comment booter
- nfs pour permettre au noyau d'aller chercher les fichier du liveCD
Configuration de mon réseau
[serveur@192.168.0.1](eth0)----[pc à installer@dhcp]
----------------------
Installation tfptd-hpa
----------------------
sudo apt-get install tftpd-hpa
Confifuration tfptd-hpa (mon utilisateur par default est pcr à vous d'adapter)
sudo vi /etc/default/tftpd-hpa
#Defaults for tftpd-hpa
RUN_DAEMON="yes"
OPTIONS="-l -c -u pcr -s /var/lib/tftpboot
sudo chown pcr:pcr /var/lib/tftpboot/ -R
sudo chmod 1777 /var/lib/tftpboot/
On redemarre le serveur
sudo /etc/init.d/tftpd-hpa restart
Test du serveur tftp sur une autre machine que le serveur
touch toto
tftp 192.168.0.1
tftp> put toto
Sur le serveur on doit retrouver le fichier toto dans /var/lib/tftpboot/
------------------------------------
Préparation des fichiers de boot pxe
------------------------------------
cd /var/lib/tftpboot/
On récupère le fichier netboot de l'ubuntu
wget http://archive.ubuntu.com/ubuntu/dists/gutsy/main/installer-i386/current/images/netboot/netboot.tar.gz
On décompresse le fichier
tar -xvzf netboot.tar.gz
On monte l'image du liveCD d'installation ubuntu Desktop
sudo mount -o loop -t iso9660 /path/to/ubuntu-7.10-desktop-i386.iso /media/cdrom0/
On copie le noyau du liveCD pour le boot distant dans le repertoire /var/lib/tftpboot/
cp /media/cdrom0/casper/vmlinuz .
cp /media/cdrom0/casper/initrd.gz .
On ajoute le boot depuis le l'image CD par le biais du le serveur NFS à la configuration pxe
vi pxelinux.cfg/default
LABEL LiveCD
kernel vmlinuz
append initrd=initrd.gz boot=casper netboot=nfs nfsroot=192.168.0.1:/media/cdrom0
---------------------------
Installation du serveur nfs
---------------------------
(plus d'information http://doc.ubuntu-fr.org/nfs)
sudo apt-get install nfs-kernel-server
On partage le cdrom pour l'installation
sudo vi /etc/exports
/media/cdrom0 192.168.0.0/24(ro,async)
On redemarre le serveur NFS
sudo vi /etc/init.d/nfs-kernel-server restart
----------------------------
Installation du serveur dhcp
----------------------------
(plus d'informations http://doc.ubuntu-fr.org/dhcp3-server)
sudo apt-get install dhcp3-server
sudo vi /etc/dhcp3/dhcpd.conf
#DNS
ddns-update-style none;
option domain-name-servers 212.27.53.252,212.27.54.252;
option domain-name "example.org";
#Baux DHCP
default-lease-time 600;
max-lease-time 7200;
log-facility local7;
#reseau
subnet 192.168.0.0 netmask 255.255.255.0 {
option broadcast-address 192.168.0.255;
option routers 192.168.0.1;
range 192.168.0.6 192.168.0.8;
filename "pxelinux.0";
next-server 192.168.0.1;
ping-check = 1;
}
#on autorise le boot distant
allow bootp;
allow booting;
On configure l'interface du serveur dhcp en static
sudo vi /etc/network/interfaces
auto eth0
iface eth0 inet static
address 192.168.0.1
netmask 255.255.255.0
broadcast 192.168.0.255
network 192.168.0.0
gateway 192.168.10.254
On dit au serveur DHCP d'ecouter sur la bonne interface
sudo vi /etc/default/dhcp3-server
INTERFACES="eth1 eth2"
on redemarre l'interface réseau et le serveur dhcp
sudo /etc/init.d/networking restart
sudo /etc/init.d/dhcp3-server restart
----------------------------
Installation sur l'ordinateur client
----------------------------
On boot le pc client en pxe depuis le bios ou depuis une disquette Etherboot
Au prompt "boot: " saisir LiveCD (le label de la confifuration du fichier pxelinux.cfg/default)
Ensuite installez votre ubuntu comme depuis le liveCD
