Gentoo Archives: gentoo-user-de

From: Thomas Schweikle <tps@××××××.de>
To: gentoo-user-de@l.g.o
Subject: [gentoo-user-de] Re: Installation fuer "low end" System auf "besserem" System vorbereiten?
Date: Fri, 29 Jul 2005 19:19:14
Message-Id: dce6ap.32k.1@kiwi.vr-web.de
In Reply to: Re: [gentoo-user-de] Re: Installation fuer "low end" System auf "besserem" System vorbereiten? by Ace Dahlmann
1 Ace Dahlmann schrieb:
2
3 > Hi!
4 >
5 > On Fri, 29 Jul 2005 19:53:01 +0200
6 > Thomas Schweikle <tps@××××××.de> wrote:
7 >
8 >> Das stört nicht. Wichtig ist nur, dann das Buildsystem *nicht* von
9 >> der Gentoo-Installation auf der "großen" Kiste zu verwenden.
10 >
11 > Wie meinst Du das?
12 >
13 > Ich bin die ganze Zeit ab überlegen, was bei Alex dann genau passiert,
14 > aber ich hab da wohl gerade eine logische Denkblockade.
15
16 In der Regel werden in einen chroot-Käfig dateien, die im
17 Hauptsystem liegen übernommen. Es wird zum beispiel per "bind" der
18 gesamte "/usr/lib"-Baum gemountet. Damit steht im chroot der gleiche
19 Baum zur verfügung wie im Hauptsystem --- nur üblicherweise als
20 "read only".
21
22 Für Teile, bei denen das nicht geht wird eine Kopie, oder ein
23 Hardlink im Käfig angelegt.
24
25 Diese Techniken sparen Platz. Wenn ich jetzt im chroot-Käfig aber
26 eine andere gcc-Version einsetzen will, und sogar für eine andere
27 CPU kompilieren möchte, dann funktioniert das nicht mehr. Ich muß
28 alles was zum build-System gehört im chroot-Käfig nocheinmal haben.
29 Passend zum compiler, den verwendeten Libraries, usw.
30
31 Für den Fall, das ich für eine andere Architektur (i386 auf
32 athlon-xp) compiliere, muß ich fast das gesamte System im chroot
33 nocheinmal aufsetzen. Der Aufwand ist zimlich hoch.
34
35 >> Interressant in diesem Zusammenhang: das Buildsystem von NetBSD
36 >> leistet genau so etwas. Es könnte also lohnend sein, sich damit
37 >> auseinanderzusetzen (Gentoo und FreeBSD unterscheiden leider noch
38 >> nicht bei den i386-Prozessoren. P4 ist genauso wie Athlon ein und
39 >> dieselbe Architektur --- auch wenn ein P4-optimiertes Programm auf
40 >> einem 586 garantiert nicht mehr läuft!).
41 >
42 > Höh? Auch das erklär mal bitte genauer. Was genau wird nicht
43 > unterschieden? Und was macht NetBSD da denn anders?
44
45 In FreeBSD gibt es für alle Intel-586-Kompatiblen CPU nur eine
46 Architektur: i686. Wenn ich jetzt für einen P4 optimiere, dann fällt
47 hinten Programmcode für i386 optimiert für P4 heraus.
48
49 Jetzt starte ich einen zweiten Kompilerlauf, diesmal mit Optimierung
50 für den Pentium. Da dieser auch i386 als Architekturkennung hat,
51 fällt das was für Pentium optimiert wurde auf das was ich gerade
52 vorher für P4 erzeugt hatte.
53
54 Ergebnis: es ist zur Zeit *nicht* möglich ohne weiteren Aufwand
55 einfach für mehrere verschiedene Pentium, Pentium MMX, P-II, P-III,
56 P4, Athlon-XP optimal angepassten Code zu erzeugen. Ich muß die
57 Build-Umgebung für *jeden* dieser Prozessoren komplett neu
58 zusammenschrauben. Dabei ist zimlich viel zu beachten, weil ich
59 sicherstellen muß, das keine Library, die für P4 gedacht war in ein
60 für den Pentium gedachtes Binary gelinkt wird.
61
62 Gentoo hat zur Zeit exakt das Selbe Problem. Auch hier wird kein
63 Unterschied zwischen Pentium, P4 und Athlon-XP gemacht. Es ist alles
64 i586.
65
66 Ich muß, wenn ich das machen will für jede CPU einen eigenen
67 Buildbereich mit allem was dazugehört zusammenbauen.
68
69 NetBSD macht zwischen einem Pentium, P4 und Athlon-XP einen
70 Unterschied. Die verschiedenen CPU werden nicht mehr als eine
71 Architektur betrachtet, sondern als verschieden. Es ist dadurch
72 möglich mit nur einem Befehl optimierte Pakete für jede dieser CPU
73 zu bauen --- das mit immer demselben Kompiler, ohne auf chroot, oder
74 ähnliche Kunstgriffe zurückgreifen zu müssen.
75
76 --
77 Thomas
78
79 --
80 gentoo-user-de@g.o mailing list

Replies