Afficher un message
Vieux 29/12/2006, 22h15   #13
Theveneau Hadrien
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Démarrage d'un système linux en chroot

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

  Réponse avec citation
 
Page generated in 0,06792 seconds with 9 queries