Probleme LFS 7.8

Fermé
mat78800 Messages postés 54 Date d'inscription lundi 5 mars 2012 Statut Membre Dernière intervention 25 février 2016 - 23 févr. 2016 à 20:07
mamiemando Messages postés 33346 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 8 novembre 2024 - 25 févr. 2016 à 21:33
Bonjour a vous tous!

J'ai (comme ecris dans le titre) essayer de creer un lfs a partir d'un debian.

Tout s'est a peu pres bien passé jusqu'au moment ou j'ai decouvert que à la place d'avoir monté mon LFS sur la deuxieme partition que j'avais monté, je l'ai monté sur la meme partition que le debian...

Je souhaitais donc savoir si vous avez une solution, pour me dire comment faire?
Est ce que je peux opier tout les fichier de la partition sda1 à sda2 sans risque?
comment va se comporter GRUB?

Cordialement,
Mathieu
A voir également:

1 réponse

mamiemando Messages postés 33346 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 8 novembre 2024 7 803
24 févr. 2016 à 10:56
Bonjour,

Si j'ai bien compris, tu as une debian (mettons sur /dev/sda1) et tu as, depuis cette debian, créé un linux from scratch sur une autre partition (/dev/sda1). Et l'idée est de pouvoir démarrer aussi bien sur la debian de départ (/dev/sda1) que sur la lfs (/dev/sda2). C'est bien ça ?

Car mon tu ne peux pas monter une "partition" sur une "partition". Un device (en particulier une partition) se monte dans un dossier (généralement vide) appelé point de montage. Si le dossier en question est non vide, son contenu est masqué par le contenu du device le temps du mount. Les données ainsi masquées sont inaccessibles (et donc ne peuvent pas être altérées).

Ensuite j'avoue que la manière dont tu as procédé n'est pas claire. En théorie si tu compiles un systèmes depuis ta debian, au moment de compiler, tu vas spécifier où les fichiers compilés doivent être écrits. En admettant que ta partition lfs soit /mnt/lfs, cela signifique que tu créerais tes binaires typiquement dans /mnt/lfs/usr/local/bin au lieu de /usr/local/bin.

Enfin copier /dev/sda1 vers /dev/sda2 est un bon moyen de faire n'importe quoi. D'une part car si tu fais la copie, car dd ne marchera pas forcément si les deux partitions ne sont pas de mêmes tailles. D'autre part car un cp va copier les liens symboliques n'importe comment.

Pour moi il faut juste que tu refasses les choses proprement.

Bonne chance
0
mat78800 Messages postés 54 Date d'inscription lundi 5 mars 2012 Statut Membre Dernière intervention 25 février 2016
24 févr. 2016 à 12:52
Je te remercie pour ton aide.

Le plus important serais de pouvoir démarrer sur le lfs. La debian etait surtout la pour m'aider a créer ce LFS.

Donc si je comprend bien, de base, debian s’installe sur sda1?

Oui je sais. Je me suis embrouillé des le début et j'aurais plutôt du, éclaircir le problème que continuer d'avancer..

D'accord, je vais surement recommencer mais j'ai peur de faire la meme erreur en faite :/
0
mamiemando Messages postés 33346 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 8 novembre 2024 7 803
Modifié par mamiemando le 25/02/2016 à 11:19
Non debian s'installe où tu lui dis, ce que tu choisis au moment de partitionner.
https://www.mistra.fr/tutoriels-debian-installation/tutoriel-debian-partitionnement.html

J'ai pris /dev/sda1 comme exemple. Les devices /dev/sda1, /dev/sda2, /dev/sdb1, etc... correspondent "en gros" sous windows à la notion de lecteurs (c:, d:) : quand tu installes un programme sous windows, tu peux bien évidemment choisir sur quel lecteur l'installer.

Sauf que quand on y réflechit, la notion de lettre de lecteur est complètement arbitraire. On peut même changer les lettres sous windows.

Linux nomme les devices sur leur natures (typiquement /dev/sd... car il s'agit d'un disque, /dev/sda pour le premier disque et /dev/sdb pour le second, puis un chiffre qui indexe la partition). Ensuite Linux est aussi beaucoup plus malin car finalement, si on est capable d'accéder à un fichier, on se fixe de savoir comment on y accède (par un disque dur, un CD, une clé USB, un partage réseau...) donc pourquoi les cloisonner dans des "lecteurs". Il n'y a donc qu'une arborescence /, qui est peuplée par les différents mount.

Typiquement au démarrage on monte d'abord la partition / ce qui donne un squelette, dans lequel on "emboîte" la partition correspondant à tes documents dans /home. Si par la suite du montais un disque il viendrait par exemple peupler /media/cdrom.

Dans ton cas ton LFS correspondrait à un device de ton choix et peuplerait par exemple /mnt/lfs (ou n'importe quel dossier de ton choix). Elle même peut être peuplée via plusieurs device (par exemple un qui peuple /mnt/lfs et un qui peuple /mnt/lfs/boot si tu veux faire un lfs avec une partition / et une partition /boot). Du coup il faut simplement installer les programmes de ton lfs dans cette arborescence sans te préoccuper de la manière dont tu as partitionner ton lfs. C'est là tout l'intérêt de voir les mount "à la linux" plutôt qu'"à la windows".

Il est également possible de répliquer des morceaux d'arborescence avec un
mount -o bind
(typiquement pour dupliquer /proc, /sys et /dev dans /mnt/lfs). Par exemple sous réserve que /mnt/lfs soit monté et que donc /mnt/lfs/dev existe :

mount -o bind /dev /mnt/lfs/dev


Ceci permet en outre de repositionner / dans /mnt/lfs avec la commande
chroot /mnt/lfs
et de faire "comme si" tu avais démarré sur ton lfs tout en restant sous debian.

Bonne chance
0
mat78800 Messages postés 54 Date d'inscription lundi 5 mars 2012 Statut Membre Dernière intervention 25 février 2016
25 févr. 2016 à 15:06
D'accord, je te remercie de toutes tes explications.

Je suis néanmoins curieux et je me demandais:

Si j'ai installer le LFS sur /dev/sda1 . comment dire a grub que c'est ici qu'il doit demarer?
0
mat78800 Messages postés 54 Date d'inscription lundi 5 mars 2012 Statut Membre Dernière intervention 25 février 2016
25 févr. 2016 à 16:43
Et peut on demarer sur un LFS s'il n'a pas été monté dans une partition?
0
mamiemando Messages postés 33346 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 8 novembre 2024 7 803
25 févr. 2016 à 21:33
Merci de soigner l'orthographe.

Si j'ai installé le LFS sur /dev/sda1 . comment dire a grub que c'est ici qu'il doit démarrer?

La commande
update-grub
(en root) se charge de scanner les noyaux et systèmes présents sur les différentes partitions et génère le menu grub en conséquence. Il n'y a donc en théorie rien de plus à faire.

À noter que les devices sont notés différemment dans grub, par exemple (hd0,0).

Et peut on démarrer sur un LFS s'il n'a pas été monté dans une partition?

Disons plus exactement grub contient les infos permettant de savoir où trouver le noyau et le système, ce qui lui permet en outre d'examiner le fichier /etc/fstab. C'est conformément à ce fichier que les partitions sont montées.
https://www.mistra.fr/tutoriel-linux-monter-peripherique.html

Bonne chance
0