Malheureusement, ca ne marche pas chez moi.....
Il faut dire que le système chroote est assez eloigne du systèmee
s'hébergeant: noyaux differents, libs differentes, config differentes,
etc...
Alors, j'ai teste quelque chose vu sur cette page, dans le même ordre
d'idées:
http://grumbel.blogspot.com/2006/01/...st-single.html
Pour résumer, on bricole un programme en C qui remplace /bin/init
(option init=...) et qui se charge de faire les chroot nécessaires.
Voici le code, que j'ai retouche:
// ---- BEGIN ---- //
// Petit programme trouve sur la page
//
http://grumbel.blogspot.com/2006/01/...st-single.html
// Par Ingo Runkhe
// Modifications par Theveneau Hadrien
// A compiler avec gcc -static chrootinit.c -o chrootinit -Wall
#include <sys/mount.h> // Fonction mount et ses parametres...
#include <unistd.h> // Fonction chroot et chdir
#include <stdio.h> // Fonction printf
// Valeurs a adapter dans votre cas
#define ROOT_DEVICE "/dev/hda3"
#define ROOT_FILESYSTEM "reiserfs"
#define TARGET "/gentoo"
#define INIT "/sbin/init"
int main(int argc, char** argv)
{
// Remontage de la partition racine
mount(ROOT_DEVICE, "/", ROOT_FILESYSTEM, MS_REMOUNT, "") ;
// Remontage de procfs
mount("/proc", "/proc", "proc", MS_REMOUNT, "");
// Montage mirroir de /proc dans TARGET/proc
mount("/proc", TARGET "/proc", "none", MS_BIND, "");
// Montage mirroir de /dev dans TARGET/dev
mount("/dev", TARGET "/dev", "none", MS_BIND, "");
// Chdir et chroot dans le bon dossier
chdir(TARGET); chroot(".");
// Remontage de la partition racine
mount(ROOT_DEVICE, "/", ROOT_FILESYSTEM, MS_REMOUNT | MS_RDONLY, "");
// Debug information...
printf("Chroot done! Exec standard init...");
// Execution de l'init standard dans le chroot !
execlp(INIT, INIT, NULL);
return 0;
}
// ---- END ---- //
Malheureusement, ca ne marche toujours pas. Je vais donc me rebattre
sur la solution du repartitionage, a moins qu'il y ait d'autres
idées....
En espérant que le code inspirera quelqu'un dans le même problème,
voire donnera des idées a d'autres...
Merci encore pour les idées.
A Bientôt.
--
Theveneau Hadrien