Lfs - Linux From Scratch


Garbit
 Share

Messages recommandés

Bonjour à tous,

FFlF et moi, nous avons évoqué la possibilité de faire un LFS sur xbox. Pour les deux du fond, je répète : ça consiste à créer un système linux de A à Z. D'abord il faut juste faire un truc à peu près bootable, qui permette juste de lancer un shell, c'est ce qui s'appelle LFS à proprement parler, puis on peut étoffer et aller au delà de LFS, c'est à dire Beyond LFS (BLFS quoi :) ).

Donc, les problèmes qui se posent (en tout cas pour moi) :

-est ce que c'est facilement portable sur xbox ? (en fait, en quoi la xbox est spécifique ? est-ce que passé le bootloader tout est générique ?)

-Est-ce que la bête est assez puissante pour tout compiler dessus ? parce qu'il faut compiler _beaucoup_ de choses. En fait pour compter le temps de compilation, les gars comptent en SBU. Le temps de compilation du premier truc (Binutils) correspond à un SBU. A mon avis il faut compter 5 à 10 minutes (?). Et après il y a à peu près 50 SBU de compilation (j'ai pas compté en fait :) ), ce qui ferait 50 * 10 minutes = 500 minutes = 8h 20 de compilation pure et dure. A ca s'ajoutent les temps de manip, peut être une vingtaine d'heures. Et ça uniquement pour la partie LFS...

Les buts du projet (qui en attirera plus que mon précédent projet j'espère :) )sont :

-Avoir un système linux compact et puissant

-Et surtout apprendre en détail le fonctionnement de linux. Et oui quand on construit une maison on connait les plans :)

-Pourquoi pas, une distribution "publique" du résultat ? (avec une image de la partition)

En sachant que ça risque d'être trèèèèès long.

Voilà encore un topic à la con sur linux... :P

Lien vers le commentaire
Partager sur d'autres sites

Moi je vote pour!!

-Pourquoi pas, une distribution "publique" du résultat ? (avec une image de la partition)
Parce que sinon les gens utiliseront le résultat sans traverser le chemin qui mène jusque là...

A mon avis ça doit être facilement portable sur la Xbox, dans la mesure ou le terrain a déjà été largement ratissé. Au niveau des capacités de la bête pour compiler tout ça, faut juste savoir que plein de gens ont déjà fait ça sur des machines beaucoup beaucoup plus lentes.

Lien vers le commentaire
Partager sur d'autres sites

Parce que sinon les gens utiliseront le résultat sans traverser le chemin qui mène jusque là...

Si ils veulent pas apprendre commnt ça marche c'est leur problème après tout.

Mais c'est vrai qu'il vaudrait mieux le garder :) (faut voir si c'est vraiment une mentalité open source aussi).

Pour la portabilité, je me demande quand même ou ça coince, c'est à dire pourquoi on peut pas utiliser directement un linux de pc dans une xbox.

Le kernel c'est bien le même non ?

Pour la vitesse, je me dis bien que c'est possible mais une petite citation du livre LFS :

A propos des SBUs

La plupart des personnes souhaitent savoir combien de temps la compilation et l'installation de chaque package va prendre. Mais, "Linux from Scratch" est construit sur tant de systèmes différents qu'il n'est pas possible de donner des temps précis : le plus gros package (Glibc) ne prendra pas plus de 20 minutes sur les systèmes les plus rapides, mais il prendra environ trois jours sur le moins rapide -- sans plaisanterie. Donc, au lieu de donner les temps exacts, nous avons eu l'idée d'utiliser l'unité Binutils statique ( Static Binutils Unit) dont l'abréviation est SBU.

3 jours à attendre...euh, surement oui. Sachant que dans BLFS il y en a une paire qui sont aussi longs (11 SBU).

Lien vers le commentaire
Partager sur d'autres sites

J'en avais commencé un sur un vieux mac, bien plus lent qu'une Xbox, ben ça n'avait rien d'intenable. Mais j'ai dû m'arrêter à cause d'un truc qui voulait pas compiler et j'y comprenais plus rien. Mais sur du i386 je suis persuadé que ce sera plus facile.

Pour le kernel il y a quelques différences, ou des éléments en plus. On peut les voir ici:

http://cvs.xbox-linux.org/viewcvs.py/xbox-linux

Dans les répertoires kernel*

Lien vers le commentaire
Partager sur d'autres sites

Ok, j'ai lu le coup du kernel, rien n'a l'air bien différent...il faudra juste faire gaffe à le patcher au bon moment.

Bon, on attaque quand hihihi ?

Je sens que je vais être bon pour sacrifier ma partition F et mettre de l'ext2 à la place ^__^

Modifié par Garbit
Lien vers le commentaire
Partager sur d'autres sites

Je sais pas moi j'ai survolé le livre LFS et le livre BLFS, et déjà le temps de télécharger tous les packages il y aura de l'eau qui aura coulé sous les ponts...Mais ils expliquent bien dans l'ensemble tout ce qui est à faire. Je ne pourrais commencer que samedi moi :(

Lien vers le commentaire
Partager sur d'autres sites

Voilà j'ai ouvert les hostilités :)

J'ai compilé le premier package, et j'ai timé le tout, donc j'ai la durée d'un SBU :

real 6m23.869s

user 3m19.090s

sys 0m35.850s

Je pense que ça a plutot duré 6 minutes 23, donc ça doit être ça... Reste à voir à quoi correspondent les autres (un man time devrait suffire)

Lien vers le commentaire
Partager sur d'autres sites

Alors là je comprends plus rien...

J'avais fait mke2fs /dev/hda55 pour passer ma partition F: en ext2 (elle était vide mais en fatx), j'ai pu joyeusement bidouiller lfs dessus hier, et la je m'appretais à rebosser dessus, mais je n'ai plus de /dev/hda55, donc bien sur je ne peux pas la monter. Il me semble l'avoir démonté pourtant (umount $LFS).

Autre détail bizarre, j'avais (conformément au livre LFS) remplacé mon .bash_profile par un "custom", et il n'y est plus...

Bref je trouve ça bizarre...pourquoi il m'a viré ma partition ? J'ai booté sur evox entre temps, j'espère que ce n'est pas dû à ça...

Lien vers le commentaire
Partager sur d'autres sites

Je pense que les numéros hda5x sont utilisés par le pilote Fatx, je sais pas trop quelle importance ça a, mais tu ferais mieux d'observer les scripts d'install de la Xebian pour faire pareil: un swap en hda1 et une partition ext2 ou 3 en hda2, le tout sur l'espace qu'occupait F:

Lien vers le commentaire
Partager sur d'autres sites

Allez, je m'y met aussi.

Une Xbox avec une sortie vidéo deffaillante, cromwell 2.31, HDD 40Go, tout formaté avec une Xebian 1.0.3 et un kernel 2.6.6.

Première chose à faire: réduire cette partition hda2 qui fait presque 40Go. On commence par réduire le file system avec resize2fs, puis on utilise fdisk pour réécrire la table de partition en tenant compte de la taille du nouveau fs: on supprime hda2, on crée une nouvelle hda2 de la taille du fs (pas plus petit surtout), et on la met bootable.

Petit reboot pour être sûr que tout va bien, puis je crée une nouvelle partition hda3, ext3fs, et on dl tout le bordel. Alors plutot que de faire tous les sites j'espère avoir tout ce qu'il faut avec cette commande:

wget ftp://diane.cict.fr/pub/lfs/lfs-packages/...kages-5.1.1.tar

Certes, 5.1.1 c'est pas 5.0, et je suis en train de lire le livre du 5.0. Mais qui ne tente rien n'a rien.

En tout cas c'est une archive de 130Mo qui contient tous les packages.

J'en suis là.

Lien vers le commentaire
Partager sur d'autres sites

Un pack avec tout dedans :'( Moi qui avais tout écumé pour trouver les bonnes versions pour la 5.0, je suis bon pour me refaire 130 mo :)

Concernant le noyau, on peut avoir les sources avec "les trucs xbox" (le pci scan qui commence à 0:0:1, l'horloge décalée de 6%, je sais plus quoi d'autre...) sur le cvs non ? (voir le topic sur le 2.6) quitte à tout faire avec un noyau 2.6 ???

Sinon j'ai un peu farfouillé, j'ai découvert que les trucs "spécial xbox" ne se limitaient pas au kernel : il y a le programme "xbv", mais je n'ai pas trop saisi à quel endroit il intervient, tu sais ça toi ?

Il faudrait aussi que je m'achète un clavier avec l'adaptateur, ssh c'est bon 5 minutes ^__^. Je repousse à la semaine prochaine :(

Pour le support de fatx dans la 2.6 aussi tiens, le module de la 2.4 n'est pas compatible ?

Lien vers le commentaire
Partager sur d'autres sites

Je suis allé sur l'IRC de xbox-linux poser des question, Sny m'a dit qu'à part le kernel il n'y avait rien d'essentiel à modifier. Il faut bien entendu concidérer qu'on n'utilisera ni lilo ni grub, mais ça on le savait.

A part ça il y aura peut-être quelques modifs sur XFree, xbv semble être un composant essentiel pour avoir un bon signal vidéo (optionnel tant qu'on veut pas d'image), et il faudra peut-être ajouter des choses comme xbox_tools et les petits progs qui permettent de faire des choses avec le bus i2c.

Vala vala.

Sur ce j'entame la lecture du livre 5.1.1, je pense que la VF n'existe pas encore.

Lien vers le commentaire
Partager sur d'autres sites

Ayé je connais mon SBU :)

real 6m51.199s

user 5m8.407s

sys 0m46.464s

Je suis un peu plus lent, ça doit être parceque j'utilise gcc 3.2

J'ai pas fait le man time et je sais pas non plus à quoi correspond le reste.

Lien vers le commentaire
Partager sur d'autres sites

FFlF -> qu'est-ce que t'es lent :) Faudrait que je regarde quelle version j'ai moi...mais fais gaffe, je crois que selon la version de ton gcc, les sbus s'appliquent plus ou moins, parce qu'après on compile avec le gcc qu'on compile au chapitre 4 ou 5, et il est 30% plus lent, ou plus rapide je sais plus trop.

moy2 -> je sais pas, tu veux te lancer dans l'aventure ? sinon tu peux nous chercher comment il faut se servir de xbv pour parametrer l'affichage :)

Lien vers le commentaire
Partager sur d'autres sites

Ayé, j'ai fini le chapitre 5, je vais maintenant pénétrer dans l'univers chrooté.

Pour info, par rapport au kernel 2.4.26 dont il faut créer les headers dans le chapitre 5:

cvs -d:pserver:anonymous@cvs.sf.net:/cvsroot/xbox-linux login

pas de password

puis pour prendre ce qu'il faut pour ce kernel:

cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/xbox-linux co -r kernel-2_4_26-0_1_0 kernel

et on boucle par un

cp -Rf kernel/* /mnt/lfs/sources/linux-2.4.26

avant de faire ce qui est demandé.

Lien vers le commentaire
Partager sur d'autres sites

Ok, super t'assures :)

Et sinon, le Mr Propre du kernel il efface pas le truc cvs ? enfin je pense pas j'ai vite fait regarder dans le makefile ce que faisait mrproper, mais bon, je préfère vérifier.

Merci encore :)

EDIT : Hum.... une petite erreur, comme qui dirait... au moment de compiler Glibc, ben ça veut pas comme qui dirait. J'ai essayer de recompiler mes linux-headers, même problème, j'ai essayé d'enlever les trucs "qui servent à rien même selon LFS" (une paire d'options genre "--with-includes=...."), et que dalle, il veut rien savoir. Si j'ai le courage je recommence à zero mais si il y a une solution directe... Je mets l'erreur, des fois que :)

make[2]: Entering directory `/mnt/lfs/sources/glibc-2.3.3-lfs-5.1/csu'gcc -B/tools/bin/ ../sysdeps/unix/sysv/linux/init-first.c -c -std=gnu99 -O2 -Wall -Winline -Wstrict-prototypes -Wwrite-strings -g -mpreferred-stack-boundary=4     -I../include -I. -I/mnt/lfs/sources/glibc-build/csu -I.. -I../libio  -I/mnt/lfs/sources/glibc-build -I../sysdeps/i386/elf -I../linuxthreads/sysdeps/unix/sysv/linux/i386 -I../linuxthreads/sysdeps/unix/sysv/linux -I../linuxthreads/sysdeps/pthread -I../sysdeps/pthread -I../linuxthreads/sysdeps/unix/sysv -I../linuxthreads/sysdeps/unix -I../linuxthreads/sysdeps/i386/i686 -I../linuxthreads/sysdeps/i386 -I../sysdeps/unix/sysv/linux/i386 -I../sysdeps/unix/sysv/linux -I../sysdeps/gnu -I../sysdeps/unix/common -I../sysdeps/unix/mman -I../sysdeps/unix/inet -I../sysdeps/unix/sysv/i386 -I../sysdeps/unix/sysv -I../sysdeps/unix/i386 -I../sysdeps/unix -I../sysdeps/posix -I../sysdeps/i386/i686/fpu -I../sysdeps/i386/i686 -I../sysdeps/i386/i486 -I../sysdeps/i386/fpu -I../sysdeps/i386 -I../sysdeps/wordsize-32 -I../sysdeps/ieee754/ldbl-96 -I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754/flt-32 -I../sysdeps/ieee754 -I../sysdeps/generic/elf -I../sysdeps/generic -nostdinc -isystem /mnt/lfs/tools/bin/../lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include -isystem /tools/include -D_LIBC_REENTRANT -include ../include/libc-symbols.h       -DHAVE_INITFINI -o /mnt/lfs/sources/glibc-build/csu/init-first.o -MD -MP -MF /mnt/lfs/sources/glibc-build/csu/init-first.o.dtIn file included from ../sysdeps/generic/ldsodefs.h:32,                 from ../sysdeps/unix/sysv/linux/ldsodefs.h:25,                 from ../sysdeps/unix/sysv/linux/init-first.c:30:../include/dlfcn.h:26: internal compiler error: Segmentation faultPlease submit a full bug report,with preprocessed source if appropriate.See <URL:http://gcc.gnu.org/bugs.html> for instructions.make[2]: *** [/mnt/lfs/sources/glibc-build/csu/init-first.o] Error 1make[2]: Leaving directory `/mnt/lfs/sources/glibc-2.3.3-lfs-5.1/csu'make[1]: *** [csu/subdir_lib] Error 2make[1]: Leaving directory `/mnt/lfs/sources/glibc-2.3.3-lfs-5.1'make: *** [all] Error 2lfs:/mnt/lfs/sources/glibc-build$

Modifié par Garbit
Lien vers le commentaire
Partager sur d'autres sites

Je suis lancé sur le livre 5.1.1 moi :) les packages c'est pour celui là donc...enfin je vais voir ce qu'ils disent dans le 5.1.

EDIT : ça a l'air d'être bon...effectivement j'avais eu une erreur aussi pendant gcc (ça avait duré 4 minutes la compil', mais je pensais que ça marchait vu qu'il me l'avait installé :) ), make clean et ça a l'air de marcher là. Plus qu'à recommencer. Si j'ai fait rm -rf * dans les sources et les tools, ça pose pas de problèmes non ? (j'espère :) )

Modifié par Garbit
Lien vers le commentaire
Partager sur d'autres sites

Je suis lancé sur le livre 5.1.1 moi
Euh oui, c'est bien ce que je voulais dire..
effectivement j'avais eu une erreur aussi pendant gcc (ça avait duré 4 minutes la compil', mais je pensais que ça marchait vu qu'il me l'avait installé  )
t'es sûr qu'il te l'a installé??? Si la dernière ligne qu'il t'affiche est un truc du genre:

*** Error ...

Tu peux être sûr que c'est pas bon! Et il faut reprendre.

4 minutes c'est vraiment pas assez, à la première passe il est compilé trois fois il parait, la première avec le gcc de l'hôte, ensuite il se compile avec cette première version de lui même, et puis il y retourne encore un coup. Chez moi ça a pris plus d'une heure je crois.

Si j'ai fait rm -rf * dans les sources et les tools, ça pose pas de problèmes non ?
Gniaha???

Et il te reste quoi dans tools et dans sources après cette manip hasardeuse???

C'est une blague non? :fouf:

Lien vers le commentaire
Partager sur d'autres sites

J'ai tout dégagé, tout recommencé à zero. (d'ou le rm -rf).

Le gcc cette fois-ci s'est compilé une ou deux fois (20 minutes, 1 demi heure ? par là), puis erreur. J'ai essayé donc de le refaire sans bootstrap, il a marché (1/4 heure ptet), et je me suis dit : bon, ça doit marcher. J'essaie de faire mon glibc, toujours erreur au même endroit :(

Lien vers le commentaire
Partager sur d'autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
 Share