From: Thomas Schweikle <tps@vr-web.de>
To: gentoo-user-de@lists.gentoo.org
Subject: [gentoo-user-de] Re: Installation fuer "low end" System auf "besserem" System vorbereiten?
Date: Fri, 29 Jul 2005 21:16:07 +0200 [thread overview]
Message-ID: <dce6ap.32k.1@kiwi.vr-web.de> (raw)
In-Reply-To: <20050729201355.25931298@galadriel.intern.dahlmann.net>
Ace Dahlmann schrieb:
> Hi!
>
> On Fri, 29 Jul 2005 19:53:01 +0200
> Thomas Schweikle <tps@vr-web.de> wrote:
>
>> Das stört nicht. Wichtig ist nur, dann das Buildsystem *nicht* von
>> der Gentoo-Installation auf der "großen" Kiste zu verwenden.
>
> Wie meinst Du das?
>
> Ich bin die ganze Zeit ab überlegen, was bei Alex dann genau passiert,
> aber ich hab da wohl gerade eine logische Denkblockade.
In der Regel werden in einen chroot-Käfig dateien, die im
Hauptsystem liegen übernommen. Es wird zum beispiel per "bind" der
gesamte "/usr/lib"-Baum gemountet. Damit steht im chroot der gleiche
Baum zur verfügung wie im Hauptsystem --- nur üblicherweise als
"read only".
Für Teile, bei denen das nicht geht wird eine Kopie, oder ein
Hardlink im Käfig angelegt.
Diese Techniken sparen Platz. Wenn ich jetzt im chroot-Käfig aber
eine andere gcc-Version einsetzen will, und sogar für eine andere
CPU kompilieren möchte, dann funktioniert das nicht mehr. Ich muß
alles was zum build-System gehört im chroot-Käfig nocheinmal haben.
Passend zum compiler, den verwendeten Libraries, usw.
Für den Fall, das ich für eine andere Architektur (i386 auf
athlon-xp) compiliere, muß ich fast das gesamte System im chroot
nocheinmal aufsetzen. Der Aufwand ist zimlich hoch.
>> Interressant in diesem Zusammenhang: das Buildsystem von NetBSD
>> leistet genau so etwas. Es könnte also lohnend sein, sich damit
>> auseinanderzusetzen (Gentoo und FreeBSD unterscheiden leider noch
>> nicht bei den i386-Prozessoren. P4 ist genauso wie Athlon ein und
>> dieselbe Architektur --- auch wenn ein P4-optimiertes Programm auf
>> einem 586 garantiert nicht mehr läuft!).
>
> Höh? Auch das erklär mal bitte genauer. Was genau wird nicht
> unterschieden? Und was macht NetBSD da denn anders?
In FreeBSD gibt es für alle Intel-586-Kompatiblen CPU nur eine
Architektur: i686. Wenn ich jetzt für einen P4 optimiere, dann fällt
hinten Programmcode für i386 optimiert für P4 heraus.
Jetzt starte ich einen zweiten Kompilerlauf, diesmal mit Optimierung
für den Pentium. Da dieser auch i386 als Architekturkennung hat,
fällt das was für Pentium optimiert wurde auf das was ich gerade
vorher für P4 erzeugt hatte.
Ergebnis: es ist zur Zeit *nicht* möglich ohne weiteren Aufwand
einfach für mehrere verschiedene Pentium, Pentium MMX, P-II, P-III,
P4, Athlon-XP optimal angepassten Code zu erzeugen. Ich muß die
Build-Umgebung für *jeden* dieser Prozessoren komplett neu
zusammenschrauben. Dabei ist zimlich viel zu beachten, weil ich
sicherstellen muß, das keine Library, die für P4 gedacht war in ein
für den Pentium gedachtes Binary gelinkt wird.
Gentoo hat zur Zeit exakt das Selbe Problem. Auch hier wird kein
Unterschied zwischen Pentium, P4 und Athlon-XP gemacht. Es ist alles
i586.
Ich muß, wenn ich das machen will für jede CPU einen eigenen
Buildbereich mit allem was dazugehört zusammenbauen.
NetBSD macht zwischen einem Pentium, P4 und Athlon-XP einen
Unterschied. Die verschiedenen CPU werden nicht mehr als eine
Architektur betrachtet, sondern als verschieden. Es ist dadurch
möglich mit nur einem Befehl optimierte Pakete für jede dieser CPU
zu bauen --- das mit immer demselben Kompiler, ohne auf chroot, oder
ähnliche Kunstgriffe zurückgreifen zu müssen.
--
Thomas
--
gentoo-user-de@gentoo.org mailing list
next prev parent reply other threads:[~2005-07-29 19:19 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-07-27 20:49 [gentoo-user-de] Installation fuer "low end" System auf "besserem" System vorbereiten? Alexander Skwar
2005-07-27 22:11 ` Arnold Krille
2005-07-27 22:43 ` Alexander Skwar
2005-07-28 10:36 ` Sascha Hlusiak
2005-07-28 13:52 ` Ace Dahlmann
2005-07-29 15:53 ` Alexander Skwar
2005-07-29 17:53 ` [gentoo-user-de] " Thomas Schweikle
2005-07-29 18:13 ` Ace Dahlmann
2005-07-29 19:16 ` Thomas Schweikle [this message]
2005-07-29 22:00 ` Alexander Skwar
2005-07-29 23:58 ` Ace Dahlmann
2005-07-29 21:57 ` Alexander Skwar
2005-07-30 7:47 ` Thomas Schweikle
2005-08-06 9:44 ` Alexander Skwar
2005-08-06 10:02 ` Arnold Krille
2005-08-06 10:21 ` Alexander Skwar
2005-08-10 21:30 ` Thomas Schweikle
2005-08-06 11:12 ` qemu - Zu emulierende CPU einstellen? (was: [gentoo-user-de] Re: Installation fuer "low end" System auf "besserem" System vorbereiten?) Alexander Skwar
2005-08-06 12:25 ` pslizer
2005-08-06 15:14 ` [gentoo-user-de] Re: qemu - Zu emulierende CPU einstellen? Alexander Skwar
2005-08-08 10:02 ` [gentoo-user-de] Re: Installation fuer "low end" System auf "besserem" System vorbereiten? Sebastian Damm
2005-08-08 10:27 ` Michal Kapalka
2005-08-08 11:21 ` Alexander Skwar
2005-08-08 13:45 ` Sebastian Damm
2005-07-31 16:55 ` [gentoo-user-de] " Markus Weber
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=dce6ap.32k.1@kiwi.vr-web.de \
--to=tps@vr-web.de \
--cc=gentoo-user-de@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox