Cette page est largement inspirée de cet article http://nwcablingltd.com/?p=16
Je verrais pour tester avec une Raspbian Stretch Lite à l'occasion.
Il est nécessaire de :
https://www.raspberrypi.org/documentation/installation/installing-images/README.md
Insérer la carte dans la Raspberry Pi et branchez la.
Une fois redémarré, il faudra se connecter avec l'utilisateur pi et le mot de passe est raspberry (rqspberry en qwerty).
raspi-config
Expand Filesystem
Enable SSH
Reboot : yes
sudo passwd pi
sudo -i passwd root
Éditer le fichier /etc/ssh/sshd_config :
Dans la rubrique # Authentification: commenter PermitRootLogin without-password et ajouter PermitRootLogin yes.
sudo apt-get install nano sudo nano /etc/ssh/sshd_config
#PermitRootLogin without-password PermitRootLogin yes
Faire la combinaison Ctrl+o pour enregistrer puis Ctrl+x pour sortir.
dpkg-reconfigure locales dpkg-reconfigure tzdata
apt-get update apt-get dist-upgrade apt-get install nano dnsmasq syslinux-common pxelinux nfs-kernel-server nfs-common apt-get autoclean && apt-get autoremove
mkdir -p /srv/tftpboot/pxelinux.cfg cp /usr/lib/PXELINUX/pxelinux.0 /srv/tftpboot/ cp /usr/lib/syslinux/memdisk /srv/tftpboot/ cp /usr/lib/syslinux/modules/bios/menu.c32 /srv/tftpboot/ cp /usr/lib/syslinux/modules/bios/ldlinux.c32 /srv/tftpboot/ cp /usr/lib/syslinux/modules/bios/libutil.c32 /srv/tftpboot/ cp /usr/lib/syslinux/modules/bios/libmenu.c32 /srv/tftpboot/
mkdir -p /srv/tftpboot/ubuntu/ wget http://cdimage.ubuntu.com/ubuntu-mate/releases/16.04.3/release/ubuntu-mate-16.04.3-desktop-i386.iso -P /srv/tftpboot/ubuntu/ mkdir -p /srv/tftpboot/ubuntu/16.04
nano /etc/fstab Ajouter la ligne suivante à la fin du fichier, enregistrer et fermer le fichier /srv/tftpboot/ubuntu/ubuntu-mate-16.04.3-desktop-i386.iso /srv/tftpboot/ubuntu/16.04 udf,iso9660 user,loop 0 0 Pour tester le point de montage mount –a Pour voir le dossier listant les images ISO qui sont montées ls -lash /srv/tftpboot/ubuntu/16.04/
nano /etc/exports Ajouter la ligne /srv/tftpboot/ubuntu/16.04/ *(ro,sync,no_wdelay,insecure_locks,no_root_squash,insecure)
apt-get purge rpcbind nfs-common nfs-kernel-server apt-get install rpcbind nfs-common nfs-kernel-server
Il est alors nécessaire de refaire la modification du fichier exports
showmount –e localhost
nano /srv/tftpboot/pxelinux.cfg/default
Y ajouter ces lignes, enregistrer et fermer le fichier
DEFAULT menu.c32 PROMPT 0 MENU TITLE PXE Boot System LABEL Ubuntu_16_04 MENU LABEL Ubuntu Live (16.04 32bit) KERNEL /srv/tftpboot/ubuntu/16.04/casper/vmlinuz APPEND root=/dev/nfs boot=casper netboot=nfs nfsroot=192.168.0.25:/srv/tftpboot/ubuntu/16.04/ initrd=/srv/tftpboot/ubuntu/16.04/casper/initrd.lz splash —
Normalement toutes les lignes du fichier de configuration de dnsmasq sont commentées par défaut avec un # devant toutes les lignes. Il suffit donc d'ajouter ces lignes à la fin du fichier.
nano /etc/dnsmasq.conf
Y ajouter ces lignes, enregistrer et fermer le fichier
interface=eth0 dhcp-range=192.168.0.1,proxy dhcp-boot=pxelinux.0 pxe-service=x86PC, “Linux”, pxelinux enable-tftp tftp-root=/srv/tftpboot dhcp-boot=pxelinux.0,raspberrypi,192.168.0.25
Redémarrer alors dnsmasq
service dnsmasq restart
A ce point vous devriez être capable de booter en PXE et de sélectionner Ubuntu dans le menu qui démarrera en tant que live-CD. Ça a fonctionné pour moi, j'ai pu lancer le live-CD sur un ordinateur raccordé au réseau.