Digression Installation de Debian par le réseau avec PXE

J’aime bien Knoppix comme LiveCD…
Il démarre sur Lxde, offre tous les outils pour réparer un système en vrac. Pratique…

Petite touche finale,
Un menu en couleur (merci llapingachos !)


^[[1;31m        _,met$$$$$gg.^[[0;32m         ----|       Menu...         |-----
^[[1;31m      ,g$$$$$$$$$$$$$$$P.^[[0;32m         |                       |
^[[1;31m    ,g$$P""       """Y$$.".^[[0;32m       |^[[0;36m 1. Etch-i386^[[0;32m          |
^[[1;31m   ,$$P'              `$$$.^[[0;32m       |^[[0;36m 2. Etch-amd64^[[0;32m         |
^[[1;31m ',$$P       ,ggs.     `$$b:^[[0;32m      |                       |
^[[1;31m `d$$'     ,$P"'   .    $$$^[[0;32m       |^[[0;36m 3. Lenny-i386^[[0;32m         |
^[[1;31m  $$P      d$'     ,    $$P^[[0;32m       |^[[0;36m 4. Lenny-amd64^[[0;32m        |
^[[1;31m  $$:      $$.   -    ,d$$'^[[0;32m       |                       |
^[[1;31m  $$;      Y$b._   _,d$P' ^[[0;32m        |^[[0;36m 5. Squeeze-i386^[[0;32m       |
^[[1;31m  Y$$.    `.`"Y$$$$P"'    ^[[0;32m        |^[[0;36m 6. Squeeze-amd64^[[0;32m      |
^[[1;31m  `$$b      "-.__         ^[[0;32m        |                       |
^[[1;31m   `Y$$b                  ^[[0;32m        |^[[0;36m 7. Sid-i386^[[0;32m           |
^[[1;31m    `Y$$.          ^[[0;32m               |^[[0;36m 8. Sid-amd64^[[0;32m          |
^[[1;31m      `$$b.        ^[[0;32m               |                       |
^[[1;31m        `Y$$b.     ^[[0;32m               |^[[0;36m 9.  Knoppix 5.1.1^[[0;32m     |
^[[1;31m          `"Y$b._  ^[[0;32m               |^[[0;36m 10. Knoppix 6.0.1^[[0;32m     |
^[[1;31m              `""""^[[0;32m               |^[[0;36m 11. SysrescueCD^[[0;32m       |

[attachment=0]capture d’écran53.jpeg[/attachment]

:blush: :blush:

Petite amélioration visuelle…

[attachment=0]capture d’écran61.jpeg[/attachment]

Récupérez dans l’archive de SYSLINUX un exécutable nommé vesamenu.c32, copiez le dans votre racine /var/lib/tftpboot
Editez votre fichier /var/lib/tftpboot/pxeconfig.cfg/default
Vous pouvez mettre le clavier en français (cool !) en récupérant le fichier french.kbd (dans que vous copierez aussi dans votre racine tftpboot.).
J’ai récupérer ce fichier ici : thefredsite.free.fr/linux.php?id=56

DEFAULT vesamenu.c32
PROMPT 0
KBDMAP french.kbd
TIMEOUT 100
NOESCAPE 1

label 1
        MENU LABEL Etch i386
        kernel debian/oldstable/i386/debian-installer/i386/linux
        append vga=normal initrd=debian/oldstable/i386/debian-installer/i386/initrd.gz ramdisk_size=9424 root=/dev/rd/0 devfs=mount,dall rw  --
label 2
        MENU LABEL Etch amd64
        kernel debian/oldstable/amd64/debian-installer/amd64/linux
        append vga=normal initrd=debian/oldstable/amd64/debian-installer/amd64/initrd.gz ramdisk_size=9424 root=/dev/rd/0 devfs=mount,dall rw  --
label 3
        MENU LABEL Lenny i386
        kernel debian/stable/i386/debian-installer/i386/linux
        append vga=normal initrd=debian/stable/i386/debian-installer/i386/initrd.gz ramdisk_size=9424 root=/dev/rd/0 devfs=mount,dall rw  --
label 4
        MENU LABEL Lenny amd64
        kernel debian/stable/amd64/debian-installer/amd64/linux
        append vga=normal initrd=debian/stable/amd64/debian-installer/amd64/initrd.gz ramdisk_size=9424 root=/dev/rd/0 devfs=mount,dall rw  --
label 5
        MENU LABEL Squeeze i386
        kernel debian/testing/i386/debian-installer/i386/linux
        append vga=normal initrd=debian/testing/i386/debian-installer/i386/initrd.gz ramdisk_size=9424 root=/dev/rd/0 devfs=mount,dall rw  --
label 6
        MENU LABEL Squeeze amd64
        kernel debian/testing/amd64/debian-installer/amd64/linux
        append vga=normal initrd=debian/testing/amd64/debian-installer/amd64/initrd.gz ramdisk_size=9424 root=/dev/rd/0 devfs=mount,dall rw  --
label 7
        MENU LABEL Sid i386
        kernel debian/unstable/i386/debian-installer/i386/linux
        append vga=normal initrd=debian/unstable/i386/debian-installer/i386/initrd.gz ramdisk_size=9424 root=/dev/rd/0 devfs=mount,dall rw  --
label 8
        MENU LABEL Sid amd64
        kernel debian/unstable/amd64/debian-installer/amd64/linux
        append vga=normal initrd=debian/unstable/amd64/debian-installer/amd64/initrd.gz ramdisk_size=9424 root=/dev/rd/0 devfs=mount,dall rw  --
label 9
        MENU LABEL Knoppix 5.1.1
        kernel vmlinuz5
        append nfsdir=192.168.0.1:/media/knoppix5 nodhcp lang=fr ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=normal initrd=miniroot5.gz quiet BOOT_IMAGE=knoppix
label 10
        MENU LABEL Knoppix 6.0.1
        kernel vmlinuz6
        append nfsdir=192.168.0.1:/media/knoppix6 nodhcp lang=fr ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=794 initrd=miniroot6.gz quiet BOOT_IMAGE=knoppix
label geek
        MENU LABEL Geekbox
        kernel /livecd/geekbox/GEEXBOX/boot/vmlinuz
        APPEND initrd=/livecd/geekbox/GEEXBOX/boot/initrd.gz root=/dev/ram0 rw rdinit=linuxrc boot=nfs lang=fr remote=atiusb receiver=atiusb keymap=qwerty splash=silent vga=789 video=ve$
label 11
        MENU LABEL SystemRescue CD
        kernel sysrcd/rescuecd
        append initrd=sysrcd/initram.igz boottftp=tftp://192.168.0.1/sysrcd/sysrcd.dat

Salut,
Je viens de mettre en ligne sur le Wiki un Tutorial à jour plus complet :

isalo.org/wiki.debian-fr/index.php/PXE

Salut
Je propose de rajouter un boot pxe avec une debian-live personnalisée.

:arrow_right: On va avoir besoin de live-helper debootstrap : #aptitude install live-helper debootstrap (je suppose que pxe et tftp ont été installés avec la méthode de lol).

:arrow_right: Créer le dossier DEBLIVE dans le home de votre user (qu’on notera /home_du_user/ dans la suite), et s’y placer:

$ cd ~ $ mkdir DEBLIVE $ cd DEBLIVE

:arrow_right: Puis en root, on crée le fichier de config qui servira à la création de notre debian live:

Rmq: Il faut adapter l’IP du serveur à votre cas.
Cette config vous donnera un système de base. Mais par exemple, vous ne pourrez pas avec réparer grub: il n’y a pas grub d’installé (donc pas grub-install). On peut y remédier en faisant:

Même chose, mais avec grub d’installé en plus.
Les dev ont prévu qques unes de nos envies. Qo on regarde /usr/share/live-helper/lists/, il y a qques fichiers contenant des listes de prog à installer: gnome, kde, xfce, rescue…
Pour ma part, j’ai choisi de me faire un live avec rescue (il y tt ce qu’il faut comme utilitaire pour y réparer sa debian):

Si l’on veut un live “graphique” avec xfce:

Et si l’on veut xfce avec gparted dessus en plus, on crée /usr/share/live-helper/lists/maliste:

## LH: maliste #include <xfce> gparted
puis: # lh config -p maliste --bootappend-live "locale=fr_FR keyb=fr" -b net --net-root-path "/var/lib/tftpboot/debian-live" --net-root-server "192.168.1.2"
bref, vous choisissez la config qui vous plaît .

:arrow_right: Construction du live:

Ça prends un peu de temps, puis ça vous sort un binary-net.tar.gz. (rmq: si vous désirez refaire votre debian live, commencez par un lh clean, puis lh config …, puis lh build)

:arrow_right: Décompresser l’archive (je ne le décompresse pas dans /home_du_user/DEBLIVE):
je le mets dans /home_du_user/ :

# mv binary-net.tar.gz /home_du_user/, puis je le décompresse là :[code]# cd /home_du_user/

tar xvzf binary-net.tar.gz[/code]La décompression va rajouter dans /home_du_user/DEBLIVE les dossiers debian-live et tftpboot, dans lesquels se trouvent le kernel (/home_du_user/DEBLIVE/tftpboot/debian-live/i386/vmlinuz_2.6.26…), son initrd(/home_du_user/DEBLIVE/tftpboot/debian-live/i386/initrd.img-2.6.26…)et le filesystem (/home_du_user/DEBLIVE/debian-live/live/filesystem.squashfs)

Créez le dossier debian-live dans /var/lib/tftpboot/:mkdir /var/lib/tftpboot/debian-live
, puis copiez les dossiers /home_du_user/DEBLIVE/debian-live/live et /home_du_user/DEBLIVE/tftpboot/debian-live/i386 dans ce nouveau dossier:

# cp -R /home_du_user/DEBLIVE/debian-live/live /var/lib/tftpboot/debian-live/ cp -R /home_du_user/DEBLIVE/tftpboot/debian-live/i386 /var/lib/tftpboot/debian-live/

:arrow_right: Une fois que le client aura récupéré le kernel et son initrd, il va monter le systeme de fichier filesystem.squashfs (via nfs). Pour ce faire, il faut installer sur le serveur pxe nfs-kernel-server: # aptitude install nfs-kernel-server
Puis ajouter dans /etc/exports: /var/lib/tftpboot/debian-live *(ro,async,subtree_check,no_root_squash)
Modifier /etc/hosts.allow, en y ajoutant: mountd: 192.168.1. (adaptez à votre réseau)

:arrow_right: Il ne reste plus qu’à ajouter une entrée dans /var/lib/tftpboot/pxelinux.cfg/default:

LABEL 3 MENU LABEL debian-live kernel debian-live/i386/vmlinuz-2.6.26-2-686 append initrd=debian-live/i386/initrd.img-2.6.26-2-686 boot=live union=aufs netboot=nfs nfsroot=192.168.1.2:/var/lib/tftpboot/debian-live

(on trouve les formats d’entrée possible dans ~/DEBLIVE/tftpboot/pxelinux.cfg/default, choisissez celui qui vous convient)

Et voilà.
Ah oui, une fois que vous avez booté sur le live, pour passer root (y a apas de mot de passe): sudo -i
Pour avoir le clavier en français (j’arrive pas à l’avoir direct): dpkg-reconfigure console-data

Des liens intéressants:
live.debian.net/manual/en/html/ch03s04.html
wiki.debian.org/DebianLive/FAQ#h … 90b550d923

Salut,
C’est cool comme outil la live perso! Merci

Je dois refaire mon install du PXE (c’est sur une squeeze cette fois-ci ce sera l’occasion de regarder les différences, et d’ajouter le live Perso).
Tu l’as testée bien entendu ?
Tu ajoute ça sur le Wiki ?

salut
je l’ai testé sur un lenny (la config “de base” et la rescue, pas testé une xfce). Sur une squeeze, il y a deux pbs en ce moment:

  • les fichiers de conf de tfttp-hpa sont différents (ça doit pas être un gros pb)
  • impossible d’installer dhcp3 (impossible il y a deux jours). faut prendre celui de sid…j’ai arrété le test à ce niveau sur squeeze.

Je l’écris sur le wiki dès que j’ai le tps (c’est la rentrée, et j’ai tjs pas mis à jour le wiki concernant sftp avec rssh…)

[quote=“yanlolot”]…

  • impossible d’installer dhcp3 (impossible il y a deux jours). faut prendre celui de sid…j’ai arrété le test à ce niveau sur squeeze.
    [/quote]

Je n’ai pas besoin du dhcp, il est sur un autre machine que le PXE.
Mais c’est une dépendance obligatoire du paquet pxe, si je me souviens bien…

Je fais un p’tit essai d’ici la fin de la semaine.

Je parlais de dhcp3-server.

Oui, oui, j’avais bien compris.
Je viens de faire l’installation, sans dhcp3-server, le PXE est opérationnel, c’est cool! :smiley:
Presque rien à changer par rapport à Lenny (ça simplifiera les modifications pour le Wiki…) :smiley:

J’me fait une petite live perso pour tester! :006

Re,

Tu es sur de ta commande pour ça :

[quote]Et si l’on veut xfce avec gparted dessus en plus, on crée /usr/share/live-helper/lists/maliste:
Code:

LH: maliste

#include
gparted

puis:
Code:

lh config -p maliste --bootappend-live “locale=fr_FR keyb=fr” -b net --net-root-path “/var/lib/tftpboot/debian-live” --net-root-server “192.168.1.2”[/quote]

[...] P: Configuring file /etc/debian_chroot /usr/share/live-helper/scripts/build/chroot_debianchroot: 80: cannot create chroot/etc/debian_chroot: Directory nonexistent P: Begin unmounting filesystems...

Je n’arrive à rien avec la liste perso… Pas plus qu’avec les autres listes d’ailleurs… :017

[quote=“lol”]…
Je n’arrive à rien avec la liste perso… Pas plus qu’avec les autres listes d’ailleurs… :017[/quote]

Bug squeeze, ça fonctionne très bien sous Sid, je pense sous Lenny aussi. :laughing:

Edit : J’ai parlé trop vite… Pareil.
En fait ça fonctionne au premier essai. Au deuxième ça coince, malgré le “lh clean”

Edit2 : Solution, effacer le contenu du répertoire deblive. lh clean ne suffit pas.

Exact, j’avais dû le faire une fois aussi.
Le lh clean vide les répertoires chroot, binary, stage et source, mais le contenu de cache est conservé.
La fois où ça a buggé chez moi c’était un message du style “ne peut déplacer tel dossier car non vide”, et pourtant j’étais persuadé d’avoir fait le lh clean. J’avais donc fait la même chose que toi: vider DEBLIVE (du coup tu te reprends en pleine face tt le temps de téléchargement des paquets).
Le coup du lh clean, je le tiens du linux magazine n°115 (qui explique comment faire une debian-live sur clé usb). Bizarre que cette manip ne fonctionne pas. A voir…

Re,[quote=“yanlolot”]…du coup tu te reprends en pleine face tt le temps de téléchargement des paquets…[/quote]apt-cacher-ng me permet la création d’un Live en 5 minutes… Je ne compte plus les tests :wink:

c’est vrai ça, je devrais l’installer tiens…alors, tu as testé une debian-live graphique ? Je pense que je vais m’y atteler sur le poste squeeze, comme ça a l’air de passer.

Je suis en train de la construire (xfce). Il me manque quelques paquets, 15 minutes de téléchargement environ.
Réponse dans la soirée.

apt-cacher-ng fonctionne très bien sous squeeze, j’ai fait l’installation avant-hier. Pas de bugs déclarés, ni trouvés à l’usage (court pour l’instant il est vrai).
Tu ne risque pas d’être “emmerdé” avec dhcp3-server comme tu me le disais ?

Si si, j’ai relu tes messages, et j’avais oublié que ton serveur dhcp était sur un autre ordi. Bah, je vais faire pareil: un serveur dhcp sur un ordi (le stable sur lequel il est déja installé), et le reste sur squeeze. (qd j’aurais le tps bien sûr :confused: )
[mode pause café]Mais c’est quoi c’t’avatar sérieux… :wink: [mode pause café off]

Bon, j’ai pas (encore) réussi le live graphique.
J’ai compris pourquoi c’était aussi long (même avec apt-cacher) il me colle les dépôts volatile et installe “clamav”…

Un truc marrant qui devrait fonctionner :

Copier l’intégralité du répertoire /deblive/chroot dans /srv/tftp/debian-live (chez toi dans /var/lib/tftpboot/debian-live)
Faire pointer l’entrée sur le initrd et le vmlinuz dans ce même répertoire
Changer l’export nfs de ro en rw.
Ça devrait nous donne un live “persistant” (ou chroot accessible par PXE). Je regarderais plus tard si ça fonctionne.

D’abord la session graphique

Quoi ma gueule, qu’est-ce qu’elle a ma gueule ? :025

Ça marche…
Il faut changer le menu dans default et enlever boot=live de la ligne
J’adore, un système complet persistant accessible par PXE.