NFS+pivot_root+chroot et consors - Codes et scripts - Linux et OS Alternatifs
Marsh Posté le 22-05-2005 à 19:00:07
Bon, pas de solution, mais un work-around: exporter par NFS tous les systèmes possibles. Ce qui donne:
Code :
|
et le script d'initialisation qui lit les variables "nfs" et "boot" et du coup chroot directement dedans:
Code :
|
qui suppose que j'ai préalablement copié les modules qui vont bien dans "initrd/modules/2.6.11.9" avec un
Code :
|
et que j'ai exporté tous les systèmes mentionnés:
Code :
|
Pour que ma réponse soit complète, j'utilise tftp lancé automatiquement par dhcpd3-server avec cette configuration:
Code :
|
Et voilà, boot sur le réseau comme avec un lilo, le bruit du disque dur en moins. Ce qui permet notamment de mettre les pilotes ide en module, ce qui permet de faire de l'ide hot-plug en prenant soin de rmmod ide_generic && modprobe ide_generic mais c'est une autre histoire.
Hope it helps those coming here through the "search" button!
Marsh Posté le 17-05-2005 à 16:10:13
J'ai un client sans disque dur qui amorce sur le réseau, y obtient son adresse ip, un noyau et un initrd. Dans celui-ci j'ai mis un script qui charge les pilotes réseaux, montent une partition NFS et amorce le système dessus avec
Ca fonctionne impeccable tant que "/boot/${SYSTEM}" est l'endroit où j'ai monté mon NFS. Mais si je l'ai monté dans "/boot/" et que "${SYSTEM}" est un sous-dossier, le pivot_root échoue avec "argument invalide", puis le "exec chroot ..." lance init qui me dit "Syntax init etc." comme si je l'avais exécuté avec un pid>1.
Et pourtant si, à la main, je rentre dans "/boot/${SYSTEM}" et que je tape "chroot . /sbin/init < dev/console > /dev/console 2>&1" ça marche. Et par ailleurs man pivot_root dit explicitement qu'il est possible de pivot_root dans un sous-dossier.
Mais que se passe-t-il ? Le work-around est d'éviter le pivot_root et de ne faire qu'un chroot, mais ça m'empêche de libérer la mémoire occupée...
Avez-vous des idées? D'avance merci...
Message édité par glacote le 17-05-2005 à 16:10:28