# [Hard-core Geek] Gentoo From Scratch ! [RESOLU][SCRIPT]

## xaviermiller

Hello,

J'essaie de créer un Gentoo à partir de zéro, soit un "Gentoo From Scratch", et ce, à partir d'un script qui automatise les étapes.

A l'issue des tests, ce script sera publié pour information.

Ce script est assez délicat, et il est hautement recommandé de maîtriser LinuxFromScratch et Gentoo à partir d'un stage1.

Situation au 27/07/2010: opération réussie.

Voici les étapes de base :

 Dans le manuel LinuxFromScratch 6.6, appliquer texto les chapitres 1 à 5

pour les x86_64, permuter "lib64" et "lib", afin de respecter le baselayout de Gentoo

 Dans le chapitre 6, suivre les instructions, mais en installant tout dans /tools et en n'appliquant pas "Re-Adjusting the Toolchain" qui sera fait lors du stage 0 de Gentoo. Dans le Chapitre 6, je n'ai finalement installé que :  gmp mpfr zlib file pkg-config libtool autoconf automake

 Installer, en s'inspirant du chapitre 6 : Python, rsync, wget

 Installer Portage (voir code après). Dommage qu'il n'y ait pas de ./configure et Makefile, il faut tout faire à la main !

 Amender la toolchain de LinuxFromScratch pour la rebasculer de /tools vers /bin

 Emerger quelques paquets nécessaires (entre autres xz-util), plus ceux qui vont casser des dépendances circulaires

 Compiler glibc et binutils

 Ajuster ld.so.conf

 Compiler gcc

 recompiler ce qui a été emergé (pour être sûr)

 emerger le stage 1

 couper les ponts avec LinuxFromScratch (supprimer des liens symboliques et /tools)

 bootstrapper

 emerge -e system

Et voilà !

Le code est disponible sur mon site : http://www.xaviermiller.be/glfs/glfs.sh

----------

## CryoGen

Héhé, bonne continuation   :Cool: 

----------

## xaviermiller

Merci  :Smile: 

Je suis arrivé dans un stage3, je vais recommencer en diminuant la partie "LFS", et surtout, en installant tout dans un répertoire annexe (/tools), pour ne rien avoir dans /bin, /usr, .... à part 2-3 liens symboliques indispensables (/bin/sh par exemple).

Puis, supprimer les paquets non nécessaires, pour n'avoir que

- toolchain

- python

- portage

- librairies indispensables

on approche...  :Smile: 

----------

## xaviermiller

Situation du jour : vu que ça se passe relativement bien en compilant LinuxFromScratch, puis portage, je passe à l'étape suivante : ne compiler que le strict minimum dans un répertoire qui ne polluera pas le système (/tools).

Et là, je galère avec le linker et les dynamic libraries. Dès que ldconfig se fait appeler, c'est la cata par après (C cannot create executables & co).

Apparemment, je dois un peu potasser la configuration de binutils, gcc et glibc ; j'ai un peu trop supprimé de code venant de LinuxFromScratch...

----------

## gglaboussole

Bravo pour ta motivation...

Avec ce soleil en plus... (même en Belgique ?)

Je suis un nostalgique du Stage 1, j'ai installé 4 Gentoo à partir du stage1 alors qu'il n'était plus soutenu, grâce à une doc officielle imprimée et  précieusement conservée...

Finalement le seul stage3 de ma vie ce fut pour mon I7 et une installation à partir d'un stage funtoo et d'un live cd systemrescuecd...

Linux from scratch m'intéresse vivement surtout depuis que j'ai repris des études  informatiques en fongécif...mais toujours relégué à plus tard faute de temps...

Alors merci à toi pour  en faire l'expérience et la partagée... bon courage   :Wink: 

----------

## xaviermiller

De mon côté, j'ai commencé avec une SuSE issue d'un jeu de CD Linux (*** Linux, je ne me souviens plus du nom). C'était en 1997. Puis j'ai découvert la joie de compiler un kernel (sur un K6 233, ça prenait des heures).

Puis LFS, je ne sais plus quand, vers 2000 à peu près. J'ai construit 2 machines : un routeur (le K6 avec un modem ADSL), et une workstation (un Athlon Thunderbird 533). Et arrivé à un environnement graphique (Gnome), je me suis dis : "ouf, mais que faire s'il y a une mise à jour ?". J'ai découvert Gentoo en 2004 (d'après mon profil).Toujours installé à partir d'un stage1.

Vu que le stage1 n'était plus à jour et que j'ai eu des soucis avec ceux de funtoo (des paquets différents comme perl, ...), j'ai regardé rapidement catalyst pour me rendre compte qu'un stage 1 c'est :

```
ROOT=/newroot USE="-* build" emerge -1 --nodeps baselayout

ROOT=/newroot USE="-* build" emerge --avec-les-options-qui-faut $(grep -v "\#" /usr/portage/profiles/default/linux/packages.build)
```

Je me suis dit : "et quid si on installait Portage manuellement sur une autre distro ?"

Et de là mon idée de Gentoo/LFS  :Cool: 

Pour le moment, je patauge dans ma tentative de ne prendre que le minimum de LFS, sa toolchain + libs de base. J'ai du un peu trop sucrer des choses, car la toolchain générée est corrompue.

Je vais repartir de LFS 6.6, et on verra.

La chaleur aide, on ne peut pas faire grand chose, à part faire la moule à la maison, enfermé dans le noir...

----------

## xaviermiller

Je crois que je tiens le bout  :Very Happy: 

Création du stage1 en cours sur AMD64  :Smile: 

----------

## Enlight

Tu réalises que t'es en train de t'engager a nous rédiger une doc d'instal stage 0 là?  :Smile: 

En tout cas bon courage, c'est une initiative sympa, car LFS ça devient vite dur a entretenir avec le temps!

----------

## d2_racing

C'est clair que ça va prendre un Wiki.

Une LFS avec Portage, ça devrait bien s'entretenir  :Razz: 

----------

## xaviermiller

Oui, je devrai rédiger un article complet expliquant les problèmes rencontrés et solutions apportées.

Pour l'instant, je bute avec les liens dynamiques : le stage 1 se linke avec LinuxFromScratch, et c'est pas bien du tout : une fois que je coupe le lien avec LFS, ça casse...

Je vais devoir potasser la doc de binutils et gcc...

----------

## xaviermiller

J'ai passé le gros noeud  :Cool: 

Un stage 1 a été généré, je recommence mon script en le laissant tourner jusqu'au stage 3. YES !!!

Après, test en partant d'autre chose qu'un Gentoo (donc exit SystemRescueCD), par exemple le CD de LinuxFromScratch ou Ubuntu.

Pour info, voici les étapes :

 suivre les instructions pour LinuxFromScratch, mais en changeant 2 petites choses :

 en x86_64, permuter lib64 et lib au niveau des liens, sinon baselayout se casse la figure

 tout configurer avec --prefix=/tools, en ne prenant que le nécessaire (pas besoin de grub, inetutils, ...)

 installer portage dans /tools:

```
mkdir -p /tools/share/portage/config

mkdir -p /tools/lib/portage

cp -a bin pym /tools/lib/portage

for f in archive-conf dispatch-conf emaint emerge-webrsync env-update etc-update fixpackages quickpkg regenworld

do

    ln -s ../lib/portage/bin/$f /tools/sbin/$f

done

ln -s env-update /tools/sbin/update-env

ln -s etc-update /tools/sbin/update-etc

cp cnf/make.globals cnf/sets.conf /tools/share/portage/config

for f in ebuild egencache emerge portageq repoman

do

    ln -s ../lib/portage/bin/$f /tools/bin/$f

done

cp -r cnf/logrotate.d /etc

cp cnf/dispatch-conf.conf /etc

cp cnf/etc-update.conf /etc

ln -s ../tools/share/portage/config/make.globals /etc/make.globals

old_pwd=$PWD

cd $ROOT/etc

case $(uname -m) in

    i?86)

   ln -s ../usr/portage/profiles/default/linux/x86/10.0 /etc/make.profile

   ;;

    x86_64)

   ln -s ../usr/portage/profiles/default/linux/amd64/10.0/no-multilib /etc/make.profile

   ;;

esac

echo USE=\"-fortran -berkdb -hal\" > /etc/make.conf

echo ACCEPT_KEYWORDS=\"~$(case $(uname -m) in i?86) echo x86 ;; x86_64) echo amd64;; esac)\" >> /etc/make.conf

echo CHOST=\"$(uname -m)-pc-linux-gnu\" >> /etc/make.conf

echo MAKEOPTS=\"$MAKEOPTS\" >> /etc/make.conf

cat >> /etc/make.conf << "EOF"

CFLAGS="-O2 -pipe -fomit-frame-pointer -march=native -mtune=native"

CXXFLAGS="${CFLAGS}"

LDFLAGS="-Wl,-O1 -Wl,--sort-common -Wl,--hash-style=gnu -Wl,--as-needed"

EMERGE_DEFAULT_OPTS="--with-bdeps n --root-deps"

FEATURES="candy parallel-fetch"

SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"

EOF

mkdir /etc/portage

echo  sys-apps/portage > /etc/portage/package.unmask

cd $ROOT/usr

if [[ -f $DISTFILES/portage-snapshot.tar.bz2 ]]

then

    echo --- unpacking Portage snapshot...

    tar xpf $DISTFILES/portage-snapshot.tar.bz2 || exit 1

fi

mkdir -p $ROOT/usr/portage/distfiles

if [[ -f $DISTFILES/portage-distfiles.tar ]]

then

    echo --- unpacking some distfiles...

    cd $ROOT/usr/portage/distfiles

    tar xf $DISTFILES/portage-distfiles.tar || exit 1

fi

cd $old_pwd

if [[ ! $(grep portage /etc/passwd) ]]

then

    echo portage:x:250:250:portage:/var/tmp/portage:/bin/false >> /etc/passwd

fi

if [[ ! $(grep portage /etc/group) ]]

then

    echo portage::250:portage >> /etc/group

fi

emerge --info || exit 1;

emerge  --sync || echo ignored;
```

 construire le stage 1

```
    ROOTPATH="/usr/bin:/bin:/sbin:/usr/sbin:/tools/bin:/tools/sbin" ROOT=$ROOT USE="-* build" emerge -1 --noreplace --nodeps baselayout || exit 1

    ROOTPATH="/usr/bin:/bin:/sbin:/usr/sbin:/tools/bin:/tools/sbin" emerge -1 --nodeps baselayout || exit 1

    export LD_LIBRARY_PATH=/lib:/lib64:/usr/lib:/usr/lib64:/tools/lib

    ROOTPATH="/usr/bin:/bin:/sbin:/usr/sbin:/tools/bin:/tools/sbin" USE="-* build" emerge -1 --nodeps --noreplace automake-wrapper automake pax-utils xz-utils sandbox file linux-headers timezone-data glibc openrc portage || exit 1

    cat > /etc/locale.gen <<"EOF"

en_US ISO-8859-1

en_US.UTF-8 UTF-8

fr_BE ISO-8859-1

fr_BE@euro ISO-8859-15

fr_BE.UTF-8 UTF-8

EOF

    env-update || exit 1

    source /etc/profile

    export PATH=$PATH:/tools/bin

    ROOTPATH="/usr/bin:/bin:/sbin:/usr/sbin:/tools/bin:/tools/sbin" USE="-* xml" emerge -1e $(grep -v "\#" /usr/portage/profiles/default/linux/packages.build) || exit 1
```

Le reste, c'est comme pour un stage 1:

```
/usr/portage/scripts/bootstrap.sh && emerge -e system
```

----------

## Da_Risk

Alors moi je dis Felicitations !!!!    :Very Happy: 

Je m'en vais tester tout ca dans une vm  :Smile: 

----------

## d2_racing

Good good, ça avance bien ton truc  :Razz: 

----------

## xaviermiller

Ouiche.

Mais je patauge toujours dans la toolchain : le stage1 généré pointe vers le mauvais "ld-linux", et ne chroote pas.

----------

## xaviermiller

J'ai trouvé : il faut "amender" les spécifications de GCC pour pointer vers /lib(64)/ld-linux.so. De là, ça semble aller, la toolchain est stabilisée et pointe à nouveau vers /lib(64).

Je lance le script pour la nuit, on va voir où il arrivera : dans le chroot du stage3 ou crashé avant ?  :Cool: 

----------

## d2_racing

Et puis, est-ce que cela a fonctionné ?

----------

## xaviermiller

C'est tout bon !!!!!

Le stage 3 a planté, "comme d'habitude", suite à une dépendance circulaire avec shadow, ce qui arrive systématiquement avec un stage1.

Mais c'est bien un stage 2 "pur Gentoo", qui ne dépend plus des outils "LinuxFromScratch"

Prochaine étape : simplifier en minimisant les paquets à compiler "à la mano", vérifier les pré-requis du système hôte et télécharger les paquets nécessaires... puis publier le tout..

----------

## Enlight

\o/

----------

## xaviermiller

Comme tu dis  :Wink: 

Par contre, c'est toujours aussi galère de partir d'un stage 1 : dépendances circulaires, voire même self-dépendance (des modules python dans cracklib qui nécessitent que cracklib soit installé -- vais devoir ouvrir un bug à ce sujet).

----------

## d2_racing

Beau travail  :Razz: 

----------

## Poussin

ah si j'étais la moitié moins doué que toi   :Embarassed: 

----------

## d2_racing

Avec de la patience et de la volonté, on peut accomplir de grande chose.

----------

## Poussin

Ca reste un niveau de maitrise de gentoo et de l'archinechture gnu/linux que je n'ai pas encore  :Smile: 

Amender la toolchain, je ne sais déjà pas ce que ça veut dire :p

Mais c'est certain, d'ici quelques mois, je vais avoir un peu de temps, je tenter LFS. Dommage qu'il n'y ait plus de doc et le nécessaire pour gentoo stage[1|2]. Je savais que j'aurais du essayer ça jadis ^^

Faut que je tente debian aussi (bouuuhouuuuu), ça peut être utile, c'est rare de devoir administrer du gentoo au boulot  :Smile:  Mais je suis tellement habitué à cette philosophie gentoo, une fois installé, sauf gros pépin, tu ne dois plus jamais faire que des mises à jours, que passer à autre chose tiens du calvère  :Smile: . Avec les debian-like tu peux te brosser...

----------

## d2_racing

J'ai jamais tenté une LFS, mais il parraît que c'est bien, sauf que pour les majs c'est l'enfer.

Sauf, si on arrive à faire une LFS avec portage  :Razz: 

----------

## xaviermiller

Je vais ajouter le téléchargement des paquets nécessaires, puis publierai le script.

Comme ça, vous pourrez l'essayer.

Pour l'instant, j'ai des soucis en chrootant dans des live CD non Gentoo, je devrai voir en vrai ce que ça donne.

----------

## xaviermiller

Etat d'avancement du projet : le script "LinuxFromScratch" semble fonctionner enfin en 32 bits.

Il reste alors à ajouter le téléchargement automatique des sources de LinuxFromScratch pour que le script soit autonome.

D'ici quelques jours, je publierai le script  :Smile: 

----------

## xaviermiller

News du jour : le script semble OK en 32 et 64 bits (x86). Il est autonome, télécharge les fichiers nécessaires et génère un stage 3 en "testing" (no-multilib).

sandbox-2.3 m'a donné des frayeurs, espérons que sandbox-2.3-r1 fonctionne  :Confused: 

Derniers tests avant de le publier  :Cool: 

----------

## xaviermiller

Allez, je balance, mais ce n'est pas encore testé à fond :

http://www.xaviermiller.be/glfs.glfs.sh

----------

## d2_racing

Merci Xavier, je vais poster sur G2Q, j'ai quelques amis CSI qui vont essayer ton script  :Razz: 

Excellent travail.

----------

## xaviermiller

Salut,

Attends avant de la publier ; je préfère qu'il soit centralisé en un point, histoire de ne pas répercuter des bugs partout.

La seule modification à faire est de réactiver sandbox (enlever FEATURES="-sandbox"), car je suis tombé en plein milieu d'une version instable de sandbox lors des tests. C'est corrigé dans l'arbre depuis.

Je vais publier un article sur mon blog, ainsi tu pourras y faire un lien.

Le script a généré deux stage 3 en ~x86 et ~amd64 à partir de Gentoo. Il ne reste plus qu'à partir d'autre chose (donc... pas SystemRescueCD qui est un Gentoo). Par exemple un LiveCD Debian (celui d'Ubuntu manque patch, qui est un pré-requis).

EDIT: il y a une page dédiée à GentooFromScratch sur mon blog : http://www.xaviermiller.be/?page_id=98

----------

## d2_racing

J'ai seulement posté le lien vers ici, donc s'il y a quelque chose, ils vont pouvoir venir poster ici sans problème.

----------

## xaviermiller

Pas de souci. Pour le reste, comme dit le script "c'est votre problème si ça ne marche pas"   :Twisted Evil: 

Enfin... j'essaierai d'aider, un peu  :Wink: 

----------

## d2_racing

Je connais au moins 2 personnes qui vont l'essayer  :Razz: 

----------

## davidou2a

Je vais tester ça en chroot deja  :Wink:  apres je vais voir  :Razz: 

Au fait resalut a tous j'ai fait le mort pas mal de temps  :Smile: 

Felicitation Xav pour ton boulot... j'avais commencé un LFS mais j'ai arreté faute de temps... et puis le principe de MAJ douloureuses me freinant ton script me donne une lueur d espoir  :Smile: 

----------

## xaviermiller

Comme dit plus haut, ça a marché impec' à partir d'une Gentoo.

Pour l'instant, j'ai chrooté le contenu du LiveCD de LFS, un vieux truc. Et c'est en train de générer le stage 1 sans sourciller...

Ch'uis trop content  :Smile: 

----------

## xaviermiller

Hello Davidou  :Wink: 

----------

## xaviermiller

Hello,

J'ai pu booter dans le stage3 généré, en corrigeant un bug mineur (mis à jour sur mon site) : il fallait créer /dev/console et /dev/null

World se compile  :Cool: 

----------

## kwenspc

Je sens que la machine de boulot va servir de cobaye  :Mr. Green:  (un peu ma claque de debian, c'est très bien pour une utilisation "classique", mais pas pour ce que j'en fait... ou alors je devient vieux con et j'aime pas changer mes habitudes)

----------

## xaviermiller

Cool  :Smile: 

----------

## davidou2a

 *XavierMiller wrote:*   

> Hello,
> 
> J'ai pu booter dans le stage3 généré, en corrigeant un bug mineur (mis à jour sur mon site) : il fallait créer /dev/console et /dev/null
> 
> World se compile 

 

Avec un touch bourrin? ou avec du mknod?

*** EDIT ***

J'ai un vieux G4 pourri qui traine j'aimerai bien tester ça sur du PPC... histoire de tester sur une autre arch que du PC mais je sens que ça va etre la croix et la baniere d'autant que j'ai jamais mis d'OS GNU sur PPC... priez pour moi hein...

----------

## nonas

 *davidou2a wrote:*   

> J'ai un vieux G4 pourri qui traine j'aimerai bien tester ça sur du PPC... histoire de tester sur une autre arch que du PC mais je sens que ça va etre la croix et la baniere d'autant que j'ai jamais mis d'OS GNU sur PPC... priez pour moi hein...

 Ça dépend ce que tu entends pas vieux G4. Sur mon iBook G4 une debian tourne parfaitement bien.

----------

## xaviermiller

 *davidou2a wrote:*   

>  *XavierMiller wrote:*   Hello,
> 
> J'ai pu booter dans le stage3 généré, en corrigeant un bug mineur (mis à jour sur mon site) : il fallait créer /dev/console et /dev/null
> 
> World se compile  
> ...

 

Plus simplement : 

```
wget http://www.xaviermiller.be/glfs/glfs.sh
```

et miracle, le nouveau script fait les mknod qui vont bien (2 en fait, et ça suffit)

Pour ton G4, cela pourrait aller, mais tu dois éditer le script, du moins vérifier tous les "case $(uname -m) in".

----------

## xaviermiller

Je ne sais pas si je l'ai déjà dit (désolé, je commence à radoter avec l'âge   :Razz:  ), mais mes deux machines @home tournent désormais en Gentoo From Scratch :

```
emerge --info

Portage 2.2_rc67 (default/linux/amd64/10.0/no-multilib, gcc-4.4.4, glibc-2.12.1-r1, 2.6.35-gentoo-r2 x86_64)

=================================================================

System uname: Linux-2.6.35-gentoo-r2-x86_64-AMD_Athlon-tm-64_X2_Dual_Core_Processor_4400+-with-gentoo-2.0.1

Timestamp of tree: Sat, 21 Aug 2010 14:45:01 +0000

app-shells/bash:     4.1_p7

dev-java/java-config: 2.1.11

dev-lang/python:     2.6.5-r3, 3.1.2-r4

dev-util/cmake:      2.8.1-r2

sys-apps/baselayout: 2.0.1

sys-apps/openrc:     0.6.2

sys-apps/sandbox:    2.3-r1

sys-devel/autoconf:  2.13, 2.65-r1

sys-devel/automake:  1.9.6-r3, 1.10.3, 1.11.1

sys-devel/binutils:  2.20.1-r1

sys-devel/gcc:       4.4.4-r1

sys-devel/gcc-config: 1.4.1

sys-devel/libtool:   2.2.10

sys-devel/make:      3.81-r2

virtual/os-headers:  2.6.34

ACCEPT_KEYWORDS="amd64 ~amd64"

ACCEPT_LICENSE="@FREE freedist"

CBUILD="x86_64-gentoo-linux-gnu"

CFLAGS="-O2 -pipe -fomit-frame-pointer -march=native -mtune=native"

CHOST="x86_64-gentoo-linux-gnu"

CONFIG_PROTECT="/etc /usr/share/X11/xkb /var/lib/hsqldb"

CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"

CXXFLAGS="-O2 -pipe -fomit-frame-pointer -march=native -mtune=native"

DISTDIR="/usr/portage/distfiles"

EMERGE_DEFAULT_OPTS="--with-bdeps y"

FEATURES="assume-digests candy distlocks fixpackages news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unmerge-logs unmerge-orphans userfetch"

GENTOO_MIRRORS="ftp://ftp.belnet.be/mirror/rsync.gentoo.org/gentoo/"

LANG="fr_BE.UTF-8"

LDFLAGS="-Wl,-O1 -Wl,--sort-common -Wl,--hash-style=gnu -Wl,--as-needed"

LINGUAS="fr"

MAKEOPTS="-j3"

PKGDIR="/usr/portage/packages"

PORTAGE_CONFIGROOT="/"

PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"

PORTAGE_TMPDIR="/var/tmp"

PORTDIR="/usr/portage"

PORTDIR_OVERLAY="/var/lib/layman/pro-audio /var/lib/layman/sunrise"

SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"

USE="3dnow 3dnowext X acl acpi alsa amd64 amr battery branding btrfs bzip2 cairo cdda cddb cdio cleartype cli consolekit contrib cpufreq cracklib crypt cups cxx dbus dirac dri dssi dvb dvd dvdr encode exif expensive_math extras fat fbcon fbcondecor ffmpeg flac fontconfig fts3 gallium gd gif git glib glitz gnutls gpm gstreamer gtk gui gzip-el htmlsingle iconv id3tag jack jack-tmpfs jackmidi java java6 jfs jpeg ladspa libnotify matroska mmmxext mmx modules mp3 mp3rtp mpeg mudflap ncurses nls nptl nptlonly nsplugin ntfs nvidia ogg opencore-amr opengl openmp osc osc_opcodes pam pcre pdf png portaudio ppds pppd python python3 qt3support qt4 raster readline reflection rle samba schroedinger secure-delete session slang sms sound spl sqlite sqlite3 sse sse2 sse3 ssl startup-notification stk_opcodes subversion svg sysfs tcl tcpd theora thunar tiff tk twolame unicode usb v4l v4l2 vorbis wifi wmf x264 xfce xft xml xorg xscreensaver xvid zlib" ALSA_CARDS="ice1712 hda-intel usb-audio virmidi" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" DVB_CARDS="usb-af9015" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="fr" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="nouveau" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"

Unset:  CPPFLAGS, CTARGET, FFLAGS, INSTALL_MASK, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
```

Le CHOST a été changé en ***-gentoo-linux-gnu sans souci, du moins pour mes 650 paquets  :Wink: 

Evitez -O3, c'est instable en x86...

----------

## d2_racing

Il manque juste quelqu'un d'assez brave pour que le tout fonctionne avec un profile AMD64 en stable et testing sans l'utilisation du sous-profile no-multilib.

----------

## xaviermiller

Bah, à partir du moment où on est en "full sources", pourquoi avoir besoin de multilib ? Pour installer wine ?

LFS ne supporte pas actuellement le multilib, d'où le fait que le Gentoo généré ne l'est pas. Il "suffit" de mettre à jour cela pour que ça passe, en se basant sur DIY Linux : http://refbuild.diy-linux.org/reference-build.html

EDIT: la version développement de Cross-LinuxFromScratch a une version multilib. Apparemment, yaka enlever le flag "--disable-multilib" lors de la compilation de GCC, et compiler Glibc 2 fois...

à voir.

----------

## davidou2a

 *nonas wrote:*   

>  *davidou2a wrote:*   J'ai un vieux G4 pourri qui traine j'aimerai bien tester ça sur du PPC... histoire de tester sur une autre arch que du PC mais je sens que ça va etre la croix et la baniere d'autant que j'ai jamais mis d'OS GNU sur PPC... priez pour moi hein... Ça dépend ce que tu entends pas vieux G4. Sur mon iBook G4 une debian tourne parfaitement bien.

 

C'est un PPC G4 une tour un vieux coucou quoi... et je tiens a le faire souffrir   :Twisted Evil:   :Twisted Evil:   :Twisted Evil: 

http://www.pc2fix.be/g4.jpg << celui la

----------

## xaviermiller

De mon côté, R2D2 m'a trop titillé... je vais m'attaquer au multilib   :Rolling Eyes: 

----------

## d2_racing

Bonne nouvelle  :Razz: 

----------

## xaviermiller

Mouais... je préfère encore passer par la méthode "tinderbox" pour passer à multilib...   :Confused: 

----------

## davidou2a

Au passage je suggère qu'un modo passe ce sujet dans la section Tips Tricks & Co...

----------

## xaviermiller

 *davidou2a wrote:*   

> Au passage je suggère qu'un modo passe ce sujet dans la section Tips Tricks & Co...

 

Ou alors, que j'écrive un résumé dans la section Haddock  :Wink: 

----------

## davidou2a

Aussi oui  :Smile: 

Allez tintin  :Smile: 

----------

