PHWinfo banniere

Titres
PORTAIL ANNUAIRE ARTICLES COMPARATEUR HÉBERGEURS DEVIS FORUMS RÉDUCTEUR D'URL
Précédent   PHWinfo > Forums Hébergement > Forum Serveur - Sécurité et techniques > fr.comp.os.linux.config > Démarrage d'un système linux en chroot
S'inscrire FAQ Membres Recherche Messages du jour Marquer les forums comme lus
fr.comp.os.linux.config Prise en main d'un système Linux.

Démarrage d'un système linux en chroot

Réponse
 
LinkBack Outils de la discussion
Vieux 28/12/2006, 17h52   #1
Theveneau Hadrien
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Démarrage d'un système linux en chroot

Bonjour,

J'aimerais tester la nouvelle version de gentoo linux sans abîmer mon
système.
Pour cela, j'aimerai installer cette distribution dans un répertoire
et pouvoir démarrer le noyau en lui disant de considérer que le
répertoire racine est ce répertoire, un peu comme un chroot.

Existe-t-il une option de boot qui permet cela? Ou alors, un patch xxx
a appliquer pour l'activer?
Sinon, existe t-il d'autres solutions pour faire l'essai, sans trop
toucher aux partitions?

Merci de vos conseils.

--
Theveneau Hadrien

  Réponse avec citation
Vieux 28/12/2006, 18h15   #2
Fabien LE LEZ
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Démarrage d'un système linux en chroot

UML (User Mode Linux)

  Réponse avec citation
Vieux 28/12/2006, 18h17   #3
ALain Montfranc
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Démarrage d'un système linux en chroot

Theveneau Hadrien a écrit
> Bonjour,
>
> J'aimerais tester la nouvelle version de gentoo linux sans abîmer mon
> système.
> Pour cela, j'aimerai installer cette distribution dans un répertoire
> et pouvoir démarrer le noyau en lui disant de considérer que le
> répertoire racine est ce répertoire, un peu comme un chroot.
>
> Existe-t-il une option de boot qui permet cela? Ou alors, un patch xxx
> a appliquer pour l'activer?
> Sinon, existe t-il d'autres solutions pour faire l'essai, sans trop
> toucher aux partitions?
>
> Merci de vos conseils.


vmware


  Réponse avec citation
Vieux 28/12/2006, 18h58   #4
Fabien LE LEZ
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Démarrage d'un système linux en chroot

On Thu, 28 Dec 2006 19:17:08 +0100, ALain Montfranc <x@x.con>:

>vmware


Je peux me tromper, mais il me semble que VMware émule un matériel
particulier, pas forcément le même que le matériel "physique". Il ne
permet donc pas d'évaluer totalement le comportement qu'aurait telle
ou telle distribution sur le PC réel.

  Réponse avec citation
Vieux 28/12/2006, 21h28   #5
Emmanuel Florac
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Démarrage d'un système linux en chroot

Le Thu, 28 Dec 2006 19:17:08 +0100, ALain Montfranc a écrit:

>
> vmware


vmware sapucépalibr Avec le noyau 2.6.20 et KVM, il n'y aura plus
aucune raison de l'utiliser encore.

--
Dix grammes d'abstraction valent des tonnes de bricolage.
Loi de Booker.

  Réponse avec citation
Vieux 28/12/2006, 21h53   #6
Fabien LE LEZ
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Démarrage d'un système linux en chroot

On Thu, 28 Dec 2006 22:28:21 +0100, Emmanuel Florac
<eflorac@imaginet.fr>:

> Avec le noyau 2.6.20 et KVM, il n'y aura plus
>aucune raison de l'utiliser encore.


Apparemment KVM n'aime que certains processeurs :
You will need an x86 machine running a recent Linux kernel on an
Intel processor with VT (virtualization technology) extensions,
or an AMD processor with SVM extensions (also called AMD-V).

De quels types de processeurs s'agit-il exactement ?
J'imagine qu'avec mon pov' Sempron 32 bits, ce n'est pas la peine d'y
penser ?

  Réponse avec citation
Vieux 28/12/2006, 22h37   #7
Nicolas George
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Démarrage d'un système linux en chroot

"Theveneau Hadrien" wrote in message
<1167328325.117238.249470@h40g2000cwb.googlegroups .com>:
> J'aimerais tester la nouvelle version de gentoo linux sans abîmer mon
> système.
> Pour cela, j'aimerai installer cette distribution dans un répertoire
> et pouvoir démarrer le noyau en lui disant de considérer que le
> répertoire racine est ce répertoire, un peu comme un chroot.
>
> Existe-t-il une option de boot qui permet cela?


init=/bin/sh

Tu obtiens un shell, tu n'as plus qu'à y faire:

exec chroot /repertoire /sbin/init

(ne pas oublier le exec)

Si tu fais ça souvent, tu peux le mettre dans un script.
  Réponse avec citation
Vieux 29/12/2006, 13h43   #8
Theveneau Hadrien
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Démarrage d'un système linux en chroot


Nicolas George a écrit :

> init=/bin/sh
>
> Tu obtiens un shell, tu n'as plus qu'à y faire :
>
> exec chroot /repertoire /sbin/init
>
> (ne pas oublier le exec)
>
> Si tu fais ça souvent, tu peux le mettre dans un script.


Merci pour toutes les réponses! J'arriverai sûrement a ce que je
veux!
Juste une dernière question: a quoi sert le exec?

Ce que je voulais faire, c'était tester la gentoo... mais en pouvant
ensuite transférer directement les fichiers de l'installation de test
vers mon répertoire racine. C'est pourquoi je voulais un truc du style
chroot....

Merci encore.

--
Theveneau Hadrien

  Réponse avec citation
Vieux 29/12/2006, 14h02   #9
Nicolas George
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Démarrage d'un système linux en chroot

"Theveneau Hadrien" wrote in message
<1167399810.682732.201650@i12g2000cwa.googlegroups .com>:
> Juste une dernière question: a quoi sert le exec?


À ce que l'init lancé dans le chroot ait le PID 1, c'est à dire celui
d'init. Sinon, c'est ton /bin/sh qui reste PID 1, et ça peut faire des trucs
bizarres.
  Réponse avec citation
Vieux 29/12/2006, 14h47   #10
Theveneau Hadrien
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Démarrage d'un système linux en chroot


Nicolas George a écrit :

> À ce que l'init lancé dans le chroot ait le PID 1, c'est à dire celui
> d'init. Sinon, c'est ton /bin/sh qui reste PID 1, et ça peut faire des trucs
> bizarres.


Je vois le truc....
Merci de la réponse!

--
Theveneau Hadrien

  Réponse avec citation
Vieux 29/12/2006, 15h23   #11
Emmanuel Florac
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Démarrage d'un système linux en chroot

Le Thu, 28 Dec 2006 22:53:05 +0100, Fabien LE LEZ a écrit:

>
> De quels types de processeurs s'agit-il exactement ? J'imagine qu'avec mon
> pov' Sempron 32 bits, ce n'est pas la peine d'y penser ?


Pas la peine, en effet... Il faudra un bon x86-64 de dernière
génération (mais tous les processeurs actuellement en magasin doivent
l'être).

--
A thing of beauty is a joy forever.
J. Keats.

Ah! Singe débotté, hisse un jouet fort et vert!
Marcel Bénabou.

  Réponse avec citation
Vieux 29/12/2006, 20h21   #12
Vincent Bernat
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Démarrage d'un systèmelinux en chroot

OoO La nuit ayant déjà recouvert d'encre ce jour du jeudi 28 décembre
2006, vers 23:37, Nicolas George <nicolas$george@salle-s.org> disait:

> init=/bin/sh


> Tu obtiens un shell, tu n'as plus qu'à y faire:


> exec chroot /repertoire /sbin/init


Un export TERM=linux auparavant semble régler quelques problèmes qui
peuvent survenir par la suite. J'en ignore la raison (je suppose que
ce n'est pas le noyau qui doit faire ça d'habitude).
--
Don't just echo the code with comments - make every comment count.
- The Elements of Programming Style (Kernighan & Plauger)
  Réponse avec citation
Vieux 29/12/2006, 21h15   #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
Vieux 29/12/2006, 21h31   #14
Nicolas George
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Démarrage d'un système linux en chroot

"Theveneau Hadrien" wrote in message
<1167426953.191215.117060@73g2000cwn.googlegroups. com>:
> Il faut dire que le système chroote est assez eloigne du systèmee
> s'hébergeant: noyaux differents, libs differentes, config differentes,
> etc...


Ce n'est pas un problème, tant que le noyau du système chrooté est capable
d'exécuter le /bin/sh du système hôte. Tu as dû faire une erreur de
manipulation quelque part.
  Réponse avec citation
Vieux 01/01/2007, 12h28   #15
Theveneau Hadrien
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Démarrage d'un système linux en chroot


Nicolas George a écrit :

> Ce n'est pas un problème, tant que le noyau du système chrooté est capable
> d'exécuter le /bin/sh du système hôte. Tu as dû faire une erreur de
> manipulation quelque part.


Oui, mais le /bin/sh a un code compilé pour une version précise du
noyau, le /chroot/bin/sh va chercher ses librairies dans / et non dans
/chroot, etc......

En fait, je me demande quand les développeurs du noyau vont ajouter
une VRAIE option chroot=machinchose.... pour bientôt j'espère: c'est
cela qu'il faudrait!

Merci des réponses.

--
Theveneau Hadrien

  Réponse avec citation
Vieux 01/01/2007, 12h38   #16
Luc Habert
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Démarrage d'un système linux en chroot

"Theveneau Hadrien" :

> Oui, mais le /bin/sh a un code compilé pour une version précise du
> noyau,


Muf?

> le /chroot/bin/sh va chercher ses librairies dans / et non dans
> /chroot, etc......


Une fois que tu es chrooté, le / que voit le /chroot/bin/sh est le /chroot,
pas le /.
  Réponse avec citation
Vieux 01/01/2007, 12h55   #17
Nicolas George
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Démarrage d'un système linux en chroot

"Theveneau Hadrien" wrote in message
<1167654494.591652.252500@48g2000cwx.googlegroups. com>:
> Oui, mais le /bin/sh a un code compilé pour une version précise du
> noyau,


Ça ne veut quasiment rien dire. Le seul problème qui pourrait se produire
dans la vraie vie, c'est si le système hôte est 64bits, et le noyau que tu
veux utiliser pour booter le système est 32bits. Dans tous les autres cas,
ça va passer.

> le /chroot/bin/sh va chercher ses librairies dans / et non dans
> /chroot, etc......


On se fiche du /chroot/bin/sh, il n'y a que deux binaires qui
interviennent: /bin/sh et /chroot/sbin/init. Le premier est exécuté
directement, et ça ne va pas poser problème. Le second est exécuté par la
commande chroot, donc avec la racine déjà changée. Du coup, il se prend pour
/sbin/init, et toute la liaison dynamique est faite dans le cadre du système
chrooté.

> En fait, je me demande quand les développeurs du noyau vont ajouter
> une VRAIE option chroot=machinchose.... pour bientôt j'espère: c'est
> cela qu'il faudrait!


Vraiment, je ne vois pas l'intérêt.
  Réponse avec citation
Vieux 01/01/2007, 15h00   #18
Theveneau Hadrien
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Démarrage d'un système linux en chroot


Nicolas George a écrit :

> Ça ne veut quasiment rien dire. Le seul problème qui pourrait se produire
> dans la vraie vie, c'est si le système hôte est 64 bits, et le noyau que tu
> veux utiliser pour booter le système est 32 bits. Dans tous les autres cas,
> ça va passer.


Très bien. Mais, alors, que signifie le message "FATAL: Kernel is too
old?"

Merci des réponses.

--
Theveneau Hadrien

  Réponse avec citation
Vieux 01/01/2007, 15h10   #19
Luc Habert
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Démarrage d'un système linux en chroot

"Theveneau Hadrien" :

> Très bien. Mais, alors, que signifie le message "FATAL: Kernel is too
> old?"


Ça vient peut-être de udev, qui a toujours besoin de la toute dernière
version du noyau... J'imagine que tu bootes avec le noyau de ta vieille
distrib. Si tu bootes le noyau de la nouvelle à la place, ça devrait
marcher. Tu dois avoir un /chroot/boot/vmlinuz-foobar et un
/chroot/boot/initrd-foobar pour une bonne valeur de foobar, tu te crées dans
le menu de ton bootloader une entrée pour booter ce noyau avec cet initrd
et le paramètre init=/bin/sh, et ça devrait marcher.
  Réponse avec citation
Vieux 01/01/2007, 18h28   #20
Nicolas George
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Démarrage d'un système linux en chroot

"Theveneau Hadrien" wrote in message
<1167663631.954454.177430@k21g2000cwa.googlegroups .com>:
> Très bien. Mais, alors, que signifie le message "FATAL: Kernel is too
> old?"


Pour préciser la réponse de Luc, tout à fait pertinente, il faudrait que tu
précises à quel moment tu vois le message en question.
  Réponse avec citation
Vieux 03/01/2007, 14h55   #21
Theveneau Hadrien
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Démarrage d'un système linux en chroot


Nicolas George a écrit :

> Pour préciser la réponse de Luc, tout à fait pertinente, il faudrait que tu
> précises à quel moment tu vois le message en question.


Je ne me rappelle plus. Mais, je crois que je vais abandonner cette
solution.

Merci beaucoup de vos aides!

--
Theveneau Hadrien

  Réponse avec citation
Réponse


Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Fuseau horaire GMT +1. Il est actuellement 14h31.


Édité par : vBulletin® version 3.7.3
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0 RC5 Tous droits réservés.
Version française #16 par l'association vBulletin francophone
PHWinfo est un site Éducation Sans Frontières ©2000-2008
Ad Management by RedTyger
©Tous droits réservés par les parties respectives
Page generated in 0,25467 seconds with 29 queries