|
|
|
|
Salut à tous ;)
Je m'intéresse à LFS car je voudrais bien créer mon système Linux entièrement personnalisé.
Je me posais quelques questions avant de me lancer dans l'aventure...
LFS est ce le bon chemin pour au bout du compte:
-Avoir le tout dernier noyaux 2.6.30.4
-Avec uniquement les dernières versions de mes logiciels favoris
-Choisir mon gestionnaire de logiciels favoris entre Dpkg,Yum,Pacman et autres
-Avoir un système stable avec le stricte nécessaire
Ne serais ce pas identique de démarrer sur une image Arch ou Debian minimale et d'y compiler le dernier noyaux
ainsi que les derniers logiciels?
Le PDF que j'ai commencé à lire est très fascinant :)
Merci pour vos lumières.
If you want to go quickly, go alone. If you want to go far, go together.
Répondre à lami20j
|
Re,
mkdir -v $LFS/sources (ha?bon, ok il doit être créé sur ma racine à moi et pas encore sur la partition d'installation.....) "Donnez le droit d'écriture et le droit sticky sur ce répertoire" chmod -v a+wt $LFS/sources (chouette, ici je comprend que "a+wt" remplacent 777) ====>Je remarque qu'un nouveau répertoire nomé "sources" se trouve à la racine de ma Archlinux....Je continue et j'y colle tous les programmes demandés, de autoconf à zlib, en passant par binutils et gcc...Et surtout mon noyaux :))) chapitre suivant: CONFIGURER LA VARIABLE $LFS =====> À mon avis ils auraient du commencer par là, c'est une intuition. export LFS=/media/LFS et echo $LFS revoie bien: /media/LFS Ça roule. Créer le répertoire "tools" mkdir -v $LFS/tools ====> ha! cette fois ci un nouveau répertoire apparemment sur la racine de la nouvelle partition....À mon avis je vais devoir revenir en arrière et recommencer le répertoire "sources" au bon endroit... :S création du lien symbolique /tools dans votre système hôte: l n -sv $LFS/tools / je reviens en arrière pour "sources": mkdir -v $LFS/sources chmod -v a+wt $LFS/sources cp /sources/* /media/LFS/souces rm -Rf /sources/* rmdir /sources C'est rentré dans l'ordre...mais bon. ajouter l'utilisateur lfs: groupadd lfs useradd -s /bin/bash -g lfs -m -k /dev/null lfs passwd lfs chown -v lfs $LFS/tools <===lfs devient le proprio de "tools" chown -v lfs $LFS/sources <====et celui de "sources" aussi ensuite je me connecte en tant sue "lfs" su - lfs À ce moment la lfs est sur le système hôte lfs@basile~: Configurer l'environnement et un nouveau bash-profile: cat > ~/.bash_profile << "EOF" >exec env -i HOME=$HOME TERM=$TERM PS1='\u:\w\$ ' /bin/bash >EOF Créez maintenant le fichier .bashrc : cat > ~/.bashrc << "EOF" >set +h >umask 022 >LFS=/media/LFS >LC_ALL=POSIX >PATH=/tools/bin:/bin:/usr/bin >export LFS LC_ALL PATH >EOF Enfin, pour avoir un environnement complètement préparé pour la construction des outils temporaires, chargez le profil de l'utilisateur tout juste créé : source ~/.bash_profile et la lfs se trouve dans son répertoire: lfs~$: Donc la tout va bien on est dans le "home" de lfs et on viens de créer son environnement. Le problème survient ensuite:(hé oui c'était trop beau) Installation de Binutils mkdir -v ../binutils-build ====> Pas les droits suffisants! Je dois compiler binutils en tant que "lfs" mais il me faut les droits root pour créer les répertoires.. J"utilises donc: su -c 'mkdir -v ../binutils-build' Ça passe en root, mais à ce moment la je ne suis pas sur que le répertoire se trouve au bon endroit :S Bref je m'arrange pour qu'il se trouve bien à /media/LFS/ puisque je suppose que c'est la qu'il doit se trouver, ou peut être dans /tools ??? :( J'essaie la compilation CC="gcc -B/usr/bin/" ../binutils-2.18/configure \
--prefix=/tools --disable-nls --disable-werror
C'est en lisant la commande que j'ai remarqué qu'il fallait décompresser les archives, on ne l'avais pas dit.... ../binutils-2.18/configure no such file or directory, qu'est ce que je m'amuse :))) Je crois qu'on devrais d'abord m'expliquer ou décompresser les archives,et que signifient les deux points avant le slash lorsqu'on crée ou se place dans un répertoire :) exemple ../binutils-builds C'est à cause de ça que je ne sais plus ou je me trouve :( Et si lfs dans son environnement et en ayant créer des liens symboliques mais sans les droits root peut vraiment créer les bons répertoires au bon endroit? Je n'abandonnerai pas, mais je reprend depuis zero ;)) Merci pour vos lumières :) If you want to go quickly, go alone. If you want to go far, go together. |
Salut
|
Salut,
propriétaire 400+0+100 =500 groupe 40+0+10 = 50 autres 4+0+1 = 5 Total =555 Avec a+wt en fait on fait l'additin de 1222 + 755 = 1777 2. les droits sur répertoire sont drwxr-xr-x ce qui veut dire propriétaire 400+200+100=700 groupe 40+0+10 = 50 autres 4+0+1 = 5 Total =755 Avec a+wt en fait on fait l'addition de 1022 + 755 = 1777 Cette fois le propriétaires a déjà les droits d'écriture, donc le droits sera modifié au groupe et aux autres. 3. a+wt -> résultat final différent de 1777, les droits sur répertoire sont drwx------ lami20j@debian:~$ ls -ld rrr drwx------ 2 lami20j lami20j 4096 aoû 9 10:01 rrr lami20j@debian:~$ chmod -v a+wt rrr Le mode d'accès de `rrr' a été modifié à 1722 (rwx-w--wT). lami20j@debian:~$ ls -ld rrr drwx-w--wT 2 lami20j lami20j 4096 aoû 9 10:01 rrr Donc tu vois que cette fois on n'obtiens pas 1777 En octal au debut propriétaire 400+200+100=700 groupe 0+0+0 = 0 autres 0+0+0 = 0 Total =700 Avec a+wt en fait on va additionner 1022 + 700 = 1722 Conclusion : "a+wt" ne remplacent pas 777 même si en fonction des droits déjà existants a+wt permettra de compléter les droits pour arriver au final à 1777 106485010510997108
|
Salut initials 76,
|
Bon apparemment je m'y suit retrouvé plutôt bien et il y avait une incohérence dans la doc lfs:
su -c 'mkdir -v ../binutils-build' ensuite on se place dedans,mais entre temps on y a décompresser bintuil-2.19.tar.bz2 cd ../binutils-build donc dans ce répertoire j'ai: bintuils-2.19 décompressé. Et pour compiler la commande donnée est: CC="gcc -B/usr/bin/" ../binutils-2.19/configure \
--prefix=/tools --disable-nls --disable-werror
Hors c'est normal que j'ai un "no such file or directory" puisqu'il faut entrer: CC="gcc -B/usr/bin/" ./binutils-2.19/configure \
--prefix=/tools --disable-nls --disable-werror
sans remonter d'un répertoire pour bintuils-2.19 puisqu'avec cd je suis déjà dans le répertoire parent (merci lami20j) Et la c'est passé, j'ai un début de début de début de système: lfs:~$ ls -l $LFS/tools/ total 24 drwxr-xr-x 2 lfs lfs 4096 Aug 9 16:42 bin drwxr-xr-x 4 lfs lfs 4096 Aug 9 16:40 i686-pc-linux-gnu drwxr-xr-x 2 lfs lfs 4096 Aug 9 16:40 include drwxr-xr-x 2 lfs lfs 4096 Aug 9 16:40 info drwxr-xr-x 2 lfs lfs 4096 Aug 9 16:40 lib drwxr-xr-x 3 lfs lfs 4096 Aug 9 16:40 man Voyons la suite :) If you want to go quickly, go alone. If you want to go far, go together. |
Yop :)
lfs:~$ ls -l $LFS/tools/ total 32 drwxr-xr-x 2 lfs lfs 4096 Aug 9 22:16 bin drwxr-xr-x 4 lfs lfs 4096 Aug 9 16:40 i686-pc-linux-gnu drwxr-xr-x 3 lfs lfs 4096 Aug 9 22:10 include drwxr-xr-x 2 lfs lfs 4096 Aug 9 22:17 info drwxr-xr-x 6 lfs lfs 4096 Aug 9 22:17 lib drwxr-xr-x 3 lfs lfs 4096 Aug 9 22:10 libexec drwxr-xr-x 4 lfs lfs 4096 Aug 9 22:10 man drwxr-xr-x 4 lfs lfs 4096 Aug 9 22:17 share Je continue :) Tiens j'apprends une nouvelle commande: make mrproper If you want to go quickly, go alone. If you want to go far, go together.
|
Re,
|
Bonsoir à tous,
gcc -dumpspecs | sed 's@/lib/ld-linux.so.2@/tools&@g' \ > `dirname $(gcc -print-libgcc-file-name)`/specs ===> pas de fichier de ce type :-/ et c'est capital pour la suite de l'édition: GCC_FIXED=`dirname $(gcc -print-libgcc-file-name)`/include-fixed &&
find ${GCC_FIXED}/* -maxdepth 0 -xtype d -exec rm -rvf '{}' \; &&
rm -vf `grep -l "DO NOT EDIT THIS FILE" ${GCC_FIXED}/*` &&
unset GCC_FIXED
et de la vérification de l'ensemble des outils: echo 'main(){}' > dummy.c
cc dummy.c
readelf -l a.out | grep ': /tools'
qui doivent répondre: [Requesting program interpreter:
/tools/lib/ld-linux.so.2]
Sans ça impossible d'utiliser mes nouveaux outils ;) edit: effectivement (après un './configure') checking for C compiler default output file name... configure: error: C compiler cannot create executables Je cherche aussi de mon côté. Bonne nuit :) If you want to go quickly, go alone. If you want to go far, go together.
|
Répondre à lami20j
|
Répondre à lami20j
|
Re,
lfs@debian:/mnt/lfs/sources$ gcc -dumpspecs | sed 's@/lib/ld-linux.so.2@/tools&@g' \ > > `dirname $(gcc -print-libgcc-file-name)`/specs lfs@debian:/mnt/lfs/sources$ find /mnt/lfs/ -name '*specs*' 2>/dev/null /mnt/lfs/tools/lib/libgomp.spec /mnt/lfs/tools/lib/gcc/i686-pc-linux-gnu/4.3.2/specset la suite lfs@debian:/mnt/lfs/sources$ echo 'main(){}' > dummy.c
lfs@debian:/mnt/lfs/sources$ cc dummy.c
lfs@debian:/mnt/lfs/sources$ readelf -l a.out | grep ': /tools'
[Requesting program interpreter: /tools/lib/ld-linux.so.2]
lfs@debian:/mnt/lfs/sources$
106485010510997108
|
Répondre à lami20j
|
Re,
export LFS=/mnt/lfs mkdir -pv $LFS mount -v -t ext3 /dev/$1 $LFS mkdir -v $LFS/sources chmod -v a+wt $LFS/sources mkdir -v $LFS/tools ln -sv $LFS/tools / groupadd lfs useradd -s /bin/bash -g lfs -m -k /dev/null lfs passwd lfs chown -v lfs $LFS/tools chown -v lfs $LFS/sources su - lfs cd $LFS/sources wget ftp://mirror.cict.fr/lfs/lfs-packages/lfs-packages-6.4.tar tar xf lfs-packages-6.4.tar Comme ça on es sûr que lfs est propriétaire des archives, pour ne plus avoir ton histoire de compilation en root pour le kernel 106485010510997108
|