Fedora-Linux.nl Forumindex Fedora-Linux.nl
Het forum van Fedora-Linux.nl.
Deze site wordt gehost door Exonet Internet Services
 
 FAQFAQ   ZoekenZoeken   GebruikerslijstGebruikerslijst   GebruikersgroepenGebruikersgroepen   RegistrerenRegistreren 
 ProfielProfiel   Log in om je privéberichten te bekijkenLog in om je privéberichten te bekijken   InloggenInloggen 

Fedora vanaf bron compileren

 
Nieuw onderwerp plaatsen   Reageren    Fedora-Linux.nl Forumindex -> Fedora discussie's
Vorige onderwerp :: Volgende onderwerp  
Auteur Bericht
Worado



Geregistreerd op: 13 Feb 2005
Berichten: 501
Woonplaats: Goes

BerichtGeplaatst: Di Mei 10, 2005 6:04 pm    Onderwerp: Fedora vanaf bron compileren Reageren met citaat

Inmiddels heb ik al een tijdje ervaring met Fedora Core... Ik wilde een stap verder gaan en ging op source gebaseerde distributies proberen. Eerst Debian met apt-build, daarna Lunar (maar die werkte niet) en arch linux. Het was allemaal fijn en leuk. Maar wat mij vooral is opgevallen is hoeveel sneller mijn computer is gaan werken toen ik alles compileerde en optimaliseerde voor mijn PC: Pentium 4 + HyperThreading + SSE + SSE2 + MMX + 387 en nog het één en ander.

Fedora Core is standaard geoptimaliseerd voor de i386. Nu kun je Source RPMS vanaf de mirrors downloaden. Ik vroeg me af of iemand toevallig een tutorial weet hoe ik Fedora vanaf source kan compileren met optimalisaties voor mijn systeem. Mocht niemand hier ervaring mee hebben, dan wil ik zelf ook wel het één en ander gaan proberen en hoop ik dat er mensen zijn die die ook willen doen en dan ervaringen delen.

Ik weet niet of het wat lijkt, maar bij de introductie van Fedora Core 4 wil ik dit eens gaan proberen. Uiteindelijk wil ik er dan ook gewoon bootable ISO's van kunnen maken. Ik weet niet of dat mogelijk zou zijn, maar ik denk dat dit wel eens een leuk project zou kunnen worden voor de mensen die een stapje verder willen gaan Smile

Vertel je ideeën hierover en of je er ook wel wat aan zou willen doen. Daarmee bedoel ik dus gewoon uittesten hoe je het één en ander moet compileren wat wel en wat niet moet.
Terug naar boven
Profiel bekijken Stuur privébericht MSN Messenger
Thijs
Administrator


Geregistreerd op: 10 Feb 2005
Berichten: 1173
Woonplaats: Hengelo G.

BerichtGeplaatst: Di Mei 10, 2005 6:15 pm    Onderwerp: Reageren met citaat

Lijkt me een leuk idee om eens wat te prutsen. Maar, elke computer heeft andere optimalisatie nodig. Ik heb geen bijvoorbeeld geen hyperthreading. Laatst zag ik ergens een onderzoek waaruit bleek dat er nauwelijks verschil in snelheid zat tussen voor i386 en i686-gecompileerde pakketten.

Ik weet niet zo een tutorial, maar ik denk dat het je op de gentoo-stage1-manier moet beginnen. Dus chrooten naar een map en dan de basisprogramma's installeren/compileren.
Terug naar boven
Profiel bekijken Stuur privébericht E-mail versturen Website bekijken MSN Messenger
Worado



Geregistreerd op: 13 Feb 2005
Berichten: 501
Woonplaats: Goes

BerichtGeplaatst: Di Mei 10, 2005 6:42 pm    Onderwerp: Reageren met citaat

Het is niet de bedoeling dat het met i686 moet worden gecompileerd, want dan is er inderdaad nauwelijks verschil. Het moet geoptimaliseerd worden voor de processor die in jouw systeem draaid en ook daar op aangepast worden. In mijn geval moet ik dus in plaats van i686 pentium4 gebruiken. Dan merk je een duidelijker verschil, omdat het opties gebruikt specifiek aan jouw CPU.

Maar totdat FC4 uitkomt kan er hier denk ik gediscusieerd worden en ideeën worden uitgewisseld. Zo kan er bijvoorbeeld een lijstje komen met optimalisaties die je per CPU kan gebruiken.

Voor mensen met een Pentium 4 Northwood C zijn de flags als volgt (mochten ze het willen weten Razz ):

Code:
-march=pentium4 -msse -msse2 -mmmx  -mfpmath=sse,387
Terug naar boven
Profiel bekijken Stuur privébericht MSN Messenger
Xtinct



Geregistreerd op: 27 Apr 2005
Berichten: 79
Woonplaats: Krommenie

BerichtGeplaatst: Di Mei 10, 2005 7:36 pm    Onderwerp: Reageren met citaat

Hmm, klinkt inderdaad erg leuk.
Vooral voor de wat meer gevorderde gebruikers.

Ik moet toegeven dat ik zelf nog niet zo vaak mijn kernel heb geoptimaliseerd.
Ik zelf heb een Athlon XP, zal hier eens naar kijken.

Maar jij bedoelt zeker ook alle andere software en libs te compileren, zodat je een vanaf scratch gecompileerde FC-PC hebt.
Terug naar boven
Profiel bekijken Stuur privébericht Website bekijken
Worado



Geregistreerd op: 13 Feb 2005
Berichten: 501
Woonplaats: Goes

BerichtGeplaatst: Di Mei 10, 2005 8:12 pm    Onderwerp: Reageren met citaat

Ja, de grote paketten die er baat bij zullen hebben, gewoon vanaf scratch compileren. Dan heb je gewoon Fedora Core, alleen aangepast aan jouw PC. Dat kan een stuk sneller werken. Maar ik denk dat je ook onderdelen kunt weglaten en er juist weer bijvoegen. Maar dat weet ik weer niet zeker.
Terug naar boven
Profiel bekijken Stuur privébericht MSN Messenger
Worado



Geregistreerd op: 13 Feb 2005
Berichten: 501
Woonplaats: Goes

BerichtGeplaatst: Di Mei 10, 2005 8:42 pm    Onderwerp: Reageren met citaat

Alvast een klein lijstje met optimalisaties voor specifieke processors:

Optimalisaties schreef:

AMD AthlonXP:
-march=athlonxp -msse -mmmx -m3dnow -mfpmath=sse,387

AMD K6 Series:
-march=k6 -mmmx -m3dnow

Intel Pentium II:
-march=pentium2 -mmmx -mfpmath=387

Intel Pentium !!!:
-march=pentium3 -msse -mmmx -mfpmath=sse,387

Intel Pentium 4:
-march=pentium4 -msse -msse2 -mmmx -mfpmath=sse,387


Aanvullingen zijn welkom Smile
Terug naar boven
Profiel bekijken Stuur privébericht MSN Messenger
Worado



Geregistreerd op: 13 Feb 2005
Berichten: 501
Woonplaats: Goes

BerichtGeplaatst: Ma Mei 16, 2005 7:26 pm    Onderwerp: Reageren met citaat

Schopje Razz

Deze website legt het begin uit van het compileren van Red Hat Enterprise Linux 3 vanaf bron uit. Ik denk ook dat het voor een deel van toepassing is op het compileren van Fedora Core 4 vanaf bron.

Wat ik nu nog zoek is hoe je een ISO moet maken, welke de distributie moet installeren. Als er iemand heeft met linkjes naar relevante websites, deze zijn gewenst Smile
Terug naar boven
Profiel bekijken Stuur privébericht MSN Messenger
stax



Geregistreerd op: 13 Mei 2005
Berichten: 95

BerichtGeplaatst: Ma Mei 16, 2005 8:00 pm    Onderwerp: Reageren met citaat

Worado schreef:
Schopje Razz

Wat ik nu nog zoek is hoe je een ISO moet maken, welke de distributie moet installeren. Als er iemand heeft met linkjes naar relevante websites, deze zijn gewenst Smile


http://www.magiciso.com/tutorials/miso-overview.htm hier kan je zien welk progje je best kan gebruiken om een iso te maken...
Weet niet goed of je dit bedoelt aangezien ik een complete n00b ben met Linux Smile
Terug naar boven
Profiel bekijken Stuur privébericht
pam



Geregistreerd op: 10 Feb 2005
Berichten: 26

BerichtGeplaatst: Zo Mei 22, 2005 4:06 pm    Onderwerp: Reageren met citaat

Worado,als ik je verhaal zo lees,ben ik verbaasd dat ik gentoo er niet tussen zie staan...
Gentoo is denk ik toch wel een van de meest configureerbare distro's die er zijn.
Je kunt dan naast je CFLAGS,je systeem nog wat verder optimaliseren d.m.v. USE flags Very Happy

Ik zit op het moment niet achter mijn eigen pc,maar wat in ieder geval zeker aan CFLAGS heb:

-march=athlon-tbird -O3 -pipe -fomit-frame-pointer (voor mijn p3 iets soortgelijks)

Je kunt voor processor optimalisaties volgens mij ook nog -mcpu en -mtune gebruiken.
Terug naar boven
Profiel bekijken Stuur privébericht
xbeam



Geregistreerd op: 08 Nov 2005
Berichten: 21

BerichtGeplaatst: Ma Nov 28, 2005 6:53 pm    Onderwerp: Reageren met citaat

-march=athlon-tbird
wat heb je nu een p3 of een amd athlon Wink




CFLAGS and CXXFLAGS

The CFLAGS and CXXFLAGS variables define the optimization flags for the gcc C and C++ compiler respectively. Although we define those generally here, you will only have maximum performance if you optimize these flags for each program separately. The reason for this is because every program is different.

In make.conf you should define the optimization flags you think will make your system the most responsive generally. Don't place experimental settings in this variable; too much optimization can make programs behave bad (crash, or even worse, malfunction).

We will not explain all possible optimization options. If you want to know them all, read the GNU Online Manual(s) or the gcc info page (info gcc -- only works on a working Linux system). The make.conf.example file itself also contains lots of examples and information; don't forget to read it too.

A first setting is the -march= flag, which specifies the name of the target architecture. Possible options are described in the make.conf.example file (as comments). For instance, for the x86 Athlon XP architecture:

Code Listing 16: The GCC march setting

# AMD64 users who want to use a native 64 bit system should use -march=k8
# EM64T users should use -march=nocona
-march=athlon-xp


A second one is the -O flag (that is a capital O, not a zero), which specifies the gcc optimization class flag. Possible classes are s (for size-optimized), 0 (zero - for no optimizations), 1, 2 or 3 for more speed-optimization flags (every class has the same flags as the one before, plus some extras). For instance, for a class-2 optimization:

Code Listing 17: The GCC O setting

-O2


Another popular optimization flag is -pipe (use pipes rather than temporary files for communication between the various stages of compilation).

Mind you that using -fomit-frame-pointer (which doesn't keep the frame pointer in a register for functions that don't need one) might have serious repercussions on the debugging of applications!

When you define the CFLAGS and CXXFLAGS, you should combine several optimization flags, like in the following example:

Code Listing 18: Defining the CFLAGS and CXXFLAGS variable

CFLAGS="-march=athlon-xp -pipe -O2" # AMD64 users use march=k8
# EM64T users use march=nocona
CXXFLAGS="${CFLAGS}" # Use the same settings for both variables


MAKEOPTS

With MAKEOPTS you define how many parallel compilations should occur when you install a package. A good choice is the number of CPUs in your system plus one, but this guideline isn't always perfect.

Code Listing 19: MAKEOPTS for a regular, 1-CPU system

MAKEOPTS="-j2"
Terug naar boven
Profiel bekijken Stuur privébericht
Berichten van afgelopen:   
Nieuw onderwerp plaatsen   Reageren    Fedora-Linux.nl Forumindex -> Fedora discussie's Tijden zijn in GMT + 1 uur
Pagina 1 van 1

 
Ga naar:  
Je mag geen nieuwe onderwerpen plaatsen in dit subforum
Je mag geen reacties plaatsen in dit subforum
Je mag je berichten niet bewerken in dit subforum
Je mag je berichten niet verwijderen in dit subforum
Je mag niet stemmen in polls in dit subforum


Powered by phpBB © 2001, 2005 phpBB Group
Vertaling door Lennart Goosens.