PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Gentoo Anfänger sammelt Tips und Tricks



atomical
06.01.04, 22:08
Bitte kein Distri Geflame - das macht nur den Thread unleserlich und interessiert niemanden.

Ich will von RH 9.0 auf Gentoo wechseln und such jetzt erstmal Tips und Tricks zur Installation. Was habt ihr beim ersten Mal falsch gemacht, was kann man besser machen, etc.

Konkret frag ich mich momentan, ob er 2.6er Kernel schon verfügbar ist, welche der vielen Sourcen im Gebrauch wirklich die stabile und schnelle Variante ist und ob ich aus Performancegründen statt ext3 jetzt ReiserFS nutzen sollte.

dragon's might
06.01.04, 22:19
Hi,
beim ersten Mal hab ich nichts falsch gemacht.
Einfach nach der (auch deutschen) Anleitung von der Gentoo Seite gehen und du kannst beinahe nichts falsch machen, alles ganz leicht :)
Beachten solltest du, dass du genügend Zeit hast, denn das Grundsystem und dann noch X+DE dauert seine Zeit - Ferien/Urlaub wäre da nicht schlecht :D

Also viel Spaß mit Gentoo!

atomical
06.01.04, 22:24
Prüfungszeit ;) - da kann ich wenigstens nicht zu viel Zeit verdaddeln, wenn er einmal am kompilieren ist ...

Interessant wären auch Tips und Tricks zu den Package Tools - und wie ich das Zumüllen umgehe ...

Hun
07.01.04, 05:10
package tools... du brauchst nur portage und die gentoolbox, der Rest ist obsolet (imho)

für den 2.6er: emerge sys-kernel/gentoo-dev-sources
(bzw mm1-sources für das mm patchset und so weiter)
Dateisystem bleibt dir überlassen, ich hab derzeit Reiser, plane aber das nächste mal auf JFS aufzusetzen (mal antesten)
sobald das grundsystem mit kernel und bash steht würd ich sofort ufed mergen und die Flags auf meinen geschmack anpassen

wenn du absolut schmerzlos bist, nehm auch n paar lustige CFLAGS (in die /etc/make.conf)
meine:CFLAGS="-march=athlon-xp -m3dnow -msse -mfpmath=sse -mmmx -O3
-pipe -fforce-addr -fomit-frame-pointer -funroll-loops -frerun-cse-after-loop
-frerun-loop-opt -falign-functions=4 -maccumulate-outgoing-args -ffast-math
-fprefetch-loop-arrays"

ok, das is schon fast overkill, aber mir macht's spaß
ansonsten wird zwischen stable und testing paketen mit einem ~ vor der architektur in der make.conf unterschieden (klingt nach kompliziert, isses aber nicht)

viel spaß ;)

DarkSorcerer
07.01.04, 07:24
Hier auch noch was:
http://www.linuxforen.de/forums/showthread.php?s=&threadid=107013

Leberwurstsaft
07.01.04, 08:09
Nach Installation als erstes ein

emerge mirrorselect

und dann mirrorselect nach Anleitung ausführen.

Kip
07.01.04, 10:55
mein tipp für den anfang:

emerge -pv packet machen bevor man das packet installiert.

Dann siehst du welche USE-Flags gebraucht werden und kannst so nach und nach deine make.conf aufbaun. Hier mal als Bsp. die USE-Flags von meinem Notebook:



USE="-* nls ncurses gnome xvid avi sdl gd apache berkdb wmf irmc evo cups pam python crypt gphoto2 gif acpi acpi4linux cdr ssl dga directfb dvd encode ethereal fbcon flash opengl oss ttf truetype X gtk gtk2 radeon imap imlib java jpeg lirc mmx mpeg mysql oggvorbis pcmcia pdflib perl quicktime png pnp samba sse svga tiff usb wavelan xmms xv zlib"


... damit fahr ich ganz gut.

atomical
07.01.04, 23:03
Ich hab es erstmal mit dem EXPERIMENTAL Compiler Flags versucht.

Als Ergebnis krieg ich einen Sementation Fault beim Kompilieren der glibc-2.3.2-r3

Function src_compile Line 442 Exitcode 2

Ich änder jetzt mal auf die Safe Flags und probier es nochmal ...

muss man, wenn die bootstrap.sh nicht durchläuft, eigentlich eine make clean machen? oder passiert das von alleine?

Gibt es einen potentiellen Kanditaten unter den EXPERIMENTAL Flags, der für den Segfault verantwortlich sein könnte oder kann der SegFault gar nichts mit den Flags zu tun haben?

Mein Sys: Athlon-XP 2500+ | A7N8X-X | 768MB RAM | nVidia gForce 4 Ti 4200

atomical
08.01.04, 10:55
Ich hab jetzt mal ein bißchen im Gentoo Forum (http://forums.gentoo.org/viewtopic.php?t=117359&highlight=segmentation) und auch hier (http://www.linuxforen.de/forums/showthread.php?threadid=107124&highlight=gentoo+segmentation) gestöbert - anscheinend deutet alles auf falsch angesteuerten oder defekten RAM hin...

... momentan läuft memtest86, obwohl der nach der SIG11 FAQ (http://bitwizard.nl/sig11/) auch nicht die volle Gewissheit bringt ...

Allerdings hab ich mit den gleichen Komponenten im System den 2.4.24er (allerdings nie komplett sondern nur mit für mein Sys ausgewählten Modulen) Kernel zum Rumexperimenieren x-mal kompiliert und hatte keinen einzigen SegFault ...

DarkSorcerer
08.01.04, 10:58
mit safe flags die gleichen fehler?

atomical
08.01.04, 11:17
Noch nicht getestet - gestern abend bin ich entnervt ins Bett und heute morgen hab ich mich erstmal für den RAM Test entschieden.

Kann es denn wirklich an den Flags liegen und wenn ja, gibt es in meiner Liste (die von Hun und freehackers)


CFLAGS="-march=athlon-xp -m3dnow -msse -mfpmath=sse -mmmx -O3 -pipe -fforce-addr -fomit-frame-pointer -funroll-loops -frerun-cse-after-loop -frerun-loop-opt -falign-functions=4 -maccumulate-outgoing-args -ffast-math -fprefetch-loop-arrays"
CXXFLAGS="${CFLAGS}"
Die beiden unterstrichenen hab ich allerdings rausgelassen, weil

Zitat von freehackers

note : -fstrict-aliasing -fexpensive-optimizations -force-mem -frerun-loop-opt -frerun-cse-after-loop are implied by -O3, see the FAQ

Wo muss eigentlich das MAKEOPTS="-j2" stehen? Ich hatte es kurz nach den USE Flags in die make.conf geschrieben, zum Testen dann wieder gelöscht - ohne Erfolg.

Ich weiß nicht recht, ob ich zuerst mal meine 3 RAM Riegel durchprobier oder mit den Safe Flags anfange ... wobei, wenn es am RAM liegt, dürfte das Kompilieren mit den safe Flags ja auch nicht klappen ...

HirschHeisseIch
08.01.04, 11:21
Ganz wichtig: Zum Installieren entweder nen installiertes System nehmen, oder ne Knoppix CD. Sonst Steht da der Rechner, ist am Compilieren, und du kannst _nix_ anderes machen... ;)

Stage
08.01.04, 11:32
CFLAGS="-march=athlon-xp -m3dnow -msse -mfpmath=sse -mmmx -O3 -pipe -fforce-addr -fomit-frame-pointer -funroll-loops -frerun-cse-after-loop -frerun-loop-opt -falign-functions=4 -maccumulate-outgoing-args -ffast-math -fprefetch-loop-arrays"

lol

als erstes solltest du mal -m3dnow -msse -mmmx weglassen, weil -march=athlon-xp das schon aktiviert, zum anderen deaktiviert der compiler sowieso diese gesetzten Flags automatisch

siehe

gcc -v -Q -O2 -march=athlon-xp -mmmx -m3dnow -msse -mfpmath=sse test.c

ausgabe:

options passed: -lang-c -v -D__GNUC__=3 -D__GNUC_MINOR__=2
-D__GNUC_PATCHLEVEL__=3 -D__GXX_ABI_VERSION=102 -D__ELF__ -Dunix
-D__gnu_linux__ -Dlinux -D__ELF__ -D__unix__ -D__gnu_linux__ -D__linux__
-D__unix -D__linux -Asystem=posix -D__OPTIMIZE__ -D__STDC_HOSTED__=1
-Acpu=i386 -Amachine=i386 -Di386 -D__i386 -D__i386__ -D__athlon
-D__athlon__ -D__athlon_sse__ -D__tune_athlon__ -D__tune_athlon_sse__
-D__SSE__ -D__MMX__ -D__3dNOW__ -D__3dNOW_A__ -march=athlon-xp -mmmx
-m3dnow -msse -mfpmath=sse -O2
options enabled: -feliminate-unused-debug-types -fdefer-pop
-foptimize-sibling-calls -fcse-follow-jumps -fcse-skip-blocks
-fexpensive-optimizations -fthread-jumps -fstrength-reduce -fpeephole
-fforce-mem -ffunction-cse -fkeep-static-consts -fcaller-saves
-fpcc-struct-return -fgcse -fgcse-lm -fgcse-sm -frerun-cse-after-loop
-frerun-loop-opt -fdelete-null-pointer-checks -fschedule-insns2
-fsched-interblock -fsched-spec -fbranch-count-reg -freorder-blocks
-fcprop-registers -fcommon -fgnu-linker -fregmove -foptimize-register-move
-fargument-alias -fstrict-aliasing -fmerge-constants -fident -fpeephole2
-fguess-branch-probability -fmath-errno -ftrapping-math
-fno-stack-protector -m80387 -mhard-float -mno-soft-float -mieee-fp
-mfp-ret-in-387 -mmmx -mno-mmx -m3dnow -mno-3dnow -msse -mno-sse
-mcpu=athlon-xp -mfpmath=sse -march=athlon-xp

-ffast-math ist sowieso bekannt koruppten code zu erzeugen

es reich vollkomme aus
-march=athlon-xp -O3 -mfpmath=sse -pipe und wenn nötig -fomit-frame-pointer zu setzten

ich merke nochmal an, unter umständen ist eine -O2 Optimierung besser als O3


-O3 Optimize yet more. -O3 turns on all optimizations specified by -O2 and also turns on the -fin-
line-functions and -frename-registers options.

inlinefunktionen produzieren grössere Binaries, und eine Garantie das dies schneller abgearbeitet wird ist auch nicht gegeben.

atomical
08.01.04, 16:15
Original geschrieben von HirschHeisseIch
Ganz wichtig: Zum Installieren entweder nen installiertes System nehmen, oder ne Knoppix CD. Sonst Steht da der Rechner, ist am Compilieren, und du kannst _nix_ anderes machen... ;)

Geht nicht - mit Knoppix funzt die nVidia onboard LAN nicht.


Original geschrieben von Stage

....

-ffast-math ist sowieso bekannt koruppten code zu erzeugen

es reich vollkomme aus
-march=athlon-xp -O3 -mfpmath=sse -pipe und wenn nötig -fomit-frame-pointer zu setzten

ich merke nochmal an, unter umständen ist eine -O2 Optimierung besser als O3

inlinefunktionen produzieren grössere Binaries, und eine Garantie das dies schneller abgearbeitet wird ist auch nicht gegeben.

OK - also ist die Info von Freehackers.org eher Unsinn ...

Allerdings bleiben dann noch

-funroll-loops -falign-function=4 -maccumulate-ougoing-args -fprefetch-loop-arrays

übrig ;)



Die Parameter -funroll-loops -falign-function=4 -fprefetch-loop-arrays hab ich in der gcc Doku gefunden - entweder fraglich oder schon in -O2 enthalten.

-fomit-frame-pointer ist in allen -O* enthalten und fällt somit auch raus.


-maccumulate-outgoing-args
If enabled, the maximum amount of space required for outgoing arguments will be computed in the function prologue. This is faster on most modern CPUs because of reduced dependencies, improved scheduling and reduced stack usage when preferred stack boundary is not equal to 2. The drawback is a notable increase in code size. This switch implies -mno-push-args.

Stage
08.01.04, 22:40
-fomit-frame-pointer ist in allen -O* enthalten und fällt somit auch raus.
wo steht das? Also wenn das stimmen würde müsste das ja bei den options enabled in meinen Post weiter oben mit auftauchen.
Und in der manpage steht auch nichts dergleichen drin

-fomit-frame-pointer
Don't keep the frame pointer in a register for functions that don't need one. This
avoids the instructions to save, set up and restore frame pointers; it also makes an
extra register available in many functions. It also makes debugging impossible on
some machines.

On some machines, such as the VAX, this flag has no effect, because the standard
calling sequence automatically handles the frame pointer and nothing is saved by
pretending it doesn't exist. The machine-description macro "FRAME_POINTER_REQUIRED"
controls whether a target machine supports this flag.

diese Info bezieht sich auf gcc 3.2.3

atomical
09.01.04, 06:36
Stimmt - die Readme auf gcc.gnu.org hat mich da wohl etwas verwirrt ... :rolleyes:

Ich hab aber bis jetzt immer noch Fehler - mal beim Kompilieren, mal beim Entpacken der bz2 Archive (=> Hardwarefehler) :(

Ich such jetzt erstmal bei meiner Hardware nach dem Fehler ...

SeeksTheMoon
09.01.04, 10:56
Ich hatte immer Probleme damit, KDE zu kompilieren.
Beim ersten Mal hab ich die fertigen binaries von den CDs genommen und dann wegen den von mir gewünschten CFLAGS nachträglich nochmal kompiliert; das hat funktioniert.
Aber gestern habe ich gesehen, dass das Kompilieren mit den neusten Versionen von autoconf und automake wunderbar klappt (vorher brach er mit einer Meldung ab, er könne Dateien nicht finden - obwohl sie da waren).
Das ist manchmal nervig bei gentoo, dass es nicht immer die neusten verfügbaren Versionen installiert, auch wenn es sie gibt und selbst wenn sie nicht masked sind.
Das muss man immer manuell rausfinden.

Malachay
09.01.04, 12:16
Lass auf jeden Fall den ganzen experimentellen Kompilerquatsch weg, das hab ich am Anfang auch gemacht, das einzigste was es dir bringt ist, dass Pakete beim kompilieren öfters abbrechen, Geschwindigkeitsvorteile kannst du höchstens (wenn überhaupt) messen, merken wirst du das sowieso nicht.
Meine Flags:

CFLAGS="-march=pentium3 -O2 -pipe -fomit-frame-pointer"

Die reichen vollkommen aus, das System läuft stabil und langsam isses auch nicht :D

Bei der Installation kann man ja nicht viel falsch machen wenn man sich nach der Anleitung hält.
Dann wünsch ich dir viel Spaß mit deinem Gentoo!

Fornost
09.01.04, 13:43
hi

ich nutze den 2.6 kernel von den development sources und reiserfs als filesystem.
hatte bis jetzt keinerlei Probleme mit den beiden sachen.
gentoo ist recht einfach zu installieren wenn man sich an die anleitung hält.

atomical
09.01.04, 16:31
Original geschrieben von Fornost
... gentoo ist recht einfach zu installieren wenn man sich an die anleitung hält.

... und wenn man ordentlichen RAM hat :mad:

Memtest86 ist 30x durchgelaufen, ohne Fehler zu finden ...

aber es funktioniert trotzdem nur ohne SegFaults, wenn ich 2 (die beiden CORSAIR) von drei 256MB DDRs (der dritte ist ein Kingston) rausnehme ...

jetzt bin ich grad am Prüfen, welcher von den beiden CORSAIRs der "Störenfried" ist ...

Malachay
09.01.04, 17:52
@ atomical

Hast du jetzt auch "harmlose" Compilerflags benutzt und nicht experimentelle?

atomical
09.01.04, 18:12
Natürlich :ugly:




Ich hab ihn - es passiert nur mit einem der beiden CORSAIRS ... und ich dachte, ich kaufe geprüfte Qualität :(

tortus
09.01.04, 22:15
Was heisst den hier, man kann _nicht_ machen beim Gentoo-Setup?
1. Möglichkeit: Schlafen!
2. Möglichkeit: Schule!!
3. Möglichkeit: Surfen!!! (mit links/lynx weiss nit mehr was grad drin ist)

Möglichkeit 3 ist mein Favorit

Hun
09.01.04, 22:17
meine gentoo-gehversuche
aufstehen 5 uhr
kleines shellscript schreiben was über den tag abgearbeitet werden soll
5:30 zur schule
18:00 heim
BitchX+Links

das ging ne woche so, dann lief alles :)

atomical
09.01.04, 23:18
EMail per mail Kommando ist zwar nicht sonderlich bequem, aber wenn X noch nicht durch ist, geht es auch - beim Surfen fehlt mir eigentlich nur das "Tabbed-Browsing" :D

Kip
12.01.04, 22:56
Original geschrieben von Hun
meine gentoo-gehversuche
aufstehen 5 uhr
kleines shellscript schreiben was über den tag abgearbeitet werden soll
5:30 zur schule
18:00 heim
BitchX+Links

das ging ne woche so, dann lief alles :)

ich weiß nicht was ihr alle habt !? ... ich installier IMMER mit knoppix - da hab ich ne grafische oberfläche - wunderbar! Sobald das Grundsys steht wird schnell X und fluxbox gemergt, dann firebird-bin und ich hab erstmal alles was ich brauche :)
dannach kann ich in ruhe den rest machen ...

City][Sepp
13.01.04, 07:20
Hm.. also so ganz versteh ich das gequengel auch net. Das erste was ich immer emerge ist irssi und mp3blaster (natürlich nach den ganzen entscheidenden Sachen wie kernel, mirrorselect etc.; geht schnell und Musik und IRC kann nie schaden und einem gut die Zeit vertreiben :ugly: ). Anschliessend ein "emerge fluxbox mozilla-firebird-bin". Das time ich halt so, dass ich es vor der Arbeit anstosse und dann wenn ich 9-10 Stunden später heimkomm hab ich ne grafische Oberfläche mit dem Browser meiner Wahl. Naja und dann kommt halt der 30 Stunden compile Hammer-Marathon mit den ganzen Proggis die ich brauch und der läuft eben auf ner Shell so nebenbei. Und alles andere wird dann installiert, wenn ich es eben brauche.

DarkSorcerer
13.01.04, 09:10
Original geschrieben von City][Sepp
Hm.. also so ganz versteh ich das gequengel auch net. Das erste was ich immer emerge ist irssi und mp3blaster (natürlich nach den ganzen entscheidenden Sachen wie kernel, mirrorselect etc.; geht schnell und Musik und IRC kann nie schaden und einem gut die Zeit vertreiben :ugly: ). Anschliessend ein "emerge fluxbox mozilla-firebird-bin". Das time ich halt so, dass ich es vor der Arbeit anstosse und dann wenn ich 9-10 Stunden später heimkomm hab ich ne grafische Oberfläche mit dem Browser meiner Wahl. Naja und dann kommt halt der 30 Stunden compile Hammer-Marathon mit den ganzen Proggis die ich brauch und der läuft eben auf ner Shell so nebenbei. Und alles andere wird dann installiert, wenn ich es eben brauche.
Und danach gleich Backup machen, denn so eine Prozedur will man schließlich nur 1x machen :D