Unterschiede zwischen den Revisionen 19 und 20
Revision 19 vom 2003-03-29 15:10:05
Größe: 2913
Kommentar: SH4 Bits
Revision 20 vom 2003-03-29 20:20:15
Größe: 4891
Autor: pD9525C97
Kommentar: Building binutils - first part.
Gelöschter Text ist auf diese Art markiert. Hinzugefügter Text ist auf diese Art markiert.
Zeile 62: Zeile 62:
Bei vielen Architekturen sind Benutzer-Programme (gewohnt) stabil am Laufen, aber der Linux-Kernel
läuft nicht allzu stabil, was sich dann später in Abstürzen äußert. Da viele Nicht-Intel-Architekturen
von der Geschwindigkeit her nicht mit aktuellen Gigahertz-Monstern imthalten können (alte Amigas zum
Beispiel), macht es Sinn, der Linux-Kernel auf einem anderen Rechner (z.B. dem normalen PC) zu kompilieren.
Das Problem hierbei ist, daß der PC und die Architektur, für die der Kernel kompiliert werden soll,
unterschiedliche Sprachen sprechen. Deshalb kann nicht einfach der installierte GCC (und die dazugehörigen
Tools) benutzt werden. Vielmehr bracht man einen Crosscompiler, der für die Zielarchitektur ausgelegt ist.
Zeile 63: Zeile 71:
=== Sourcen besorgen ===
Bei den Binutils sollte man immer die aktuellste Version benutzen. Um an diese zu kommen, gibt es zwei
Möglichkeiten:
 1. Offizielle Releases der FSF
 1. Aktueller CVS-Abzug

==== FSF-Release ====
Die aktuellen offiziellen Releases kann man von ftp://sources.redhat.com/pub/binutils/snapshots/ herunterladen.
Dann einfach das .tar.bz2 auspacken und man hat funktionierende Sourcen.

==== CVS-Abzug ====
Will man auf dem Stand der aktuellen Entwicklung sein (was bei Binutils und GCC durchaus hilfreich sein
kann), so sollte man sich den akuellen CVS-Stand besorgen. Da im CVS-Baum auch einige weitere Tools
eingelagert sind, die wir nicht benötigen, ist dieses etwas aufwendiger (da beim Compilieren versucht
würde, alle diese Tools zu bauen, was vollkommen unnötig ist und dazu führt, daß ein Dutzend weiterer
Entwicklungs-Pakete installiert sein müßte...) Hier also das Vorgehen:

{{{
$ # 1. Einmalig am CVS-Server anmelden; Password ist "anoncvs"
$ cvs -d :pserver:anoncvs@sources.redhat.com:/cvs/src login
$ # 2. Nun die Sourcen herunterladen
$ cvs -z9 -d :pserver:anoncvs@sources.redhat.com:/cvs/src co binutils
}}}
'' DER REST FEHLT NOCH UND ICH SCHREIBE IHN GERADE!!!''

TableOfContents()

Linux auf Nicht-Intel-Hardware

Daß Linux auf Intel-kompatiblen Rechnern (auch "PCs" genannt) läuft, ist mittlerweile weithin bekannt. Neben den günstigen Rechnern, die man beim Fachmann oder im Aldi käuflich erwerben kann, gibt's natürlich auch noch richtige Rechner, die ein paar Vorteile mit sich bringen:

  • Die Rechner sind (obwohl sie meist nicht an die Megahertz-Zahlen von PCs herankommen) deutlich schneller als PCs
  • Die Hardware kommt oft aus einer Hand, man hat weniger Kompatibilitäts-Probleme
  • Solche Exoten zu benutzen macht mehr Spaß als das Daddeln auf PCs:-)

Auf der anderen Seite sind da natürlich noch kleine, alte Schätzchen, auf denen man auch Linux laufen lassen kann. Dazu zählen z.B. einige Amigas und Ataris...

Allgemeine Tips zu Exoten

Worauf kann man Linux denn nun laufen lassen?

  • ["LinuxAufAlpha"] (DEC Alpha)

  • ["LinuxAufHPPA"] (HP-Rechner)
  • ["LinuxAufIA64"] (Diverse 64bit Intel-basierende Systeme)
  • ["LinuxAufm68k"] (Amiga, Atari, frühe Macintosh- und Sun-Systeme, ...)

  • ["LinuxAufSparc"] (Sun)

  • ["LinuxAufPPC"] (Apple/Macintosh, IBM-RS6000)
  • ["LinuxAufS390"] (Mainframe von IBM)

  • ["LinuxAufMIPS"] (von SGI, DEC und oft auch in Embedded-Systemen)
  • ["LinuxAufStrongARM"] (Oft in Embedded-Systemen)
  • ["LinuxAufSH"] (Oft in Embedded-Systemen, z.B. einige Windows CE Geräte (meist SH3), oder die Dreamcast (SH4))
  • ["LinuxAufX86_64"] AMDs 64bit-Hammer

  • ...

Übersicht über die Consolen-Befehle der unterschiedlichen "BIOS"-Typen

  • Sparc-Hardware benutzt die OpenPROM Console (["Sparc_BIOS_OPC"])
  • Alphas benutzen entweder SRM (["Alpha_BIOS_SRM"]) (->Wofür steht SRM eigentlich?) (ist zum Booten von Unix-Systemen gedacht) oder AlphaBIOS (["Alpha_BIOS_AlphaBIOS"]), was an sich mal zum Booten von WinNT gedacht war. SRM ist Textmode (meist mit blauem Hintergrund) mit >>>  als Prompt; AlphaBIOS sieht eher wie ein Win31 aus...

  • ...

Die wichtigsten Links auf einem Blick

alpha-linux

arm-linux

hppa-linux

hppa64-linux

ia64-linux

m68k-linux

mips-linux

mips64-linux

mipsel-linux

ppc-linux

ppc64-linux

sh4-linux

s390-linux

s390x-linux

sparc-linux

sparc64-linux

x68_64-linux

Wie schnitzt man einen Cross-Compiler?

Bei vielen Architekturen sind Benutzer-Programme (gewohnt) stabil am Laufen, aber der Linux-Kernel läuft nicht allzu stabil, was sich dann später in Abstürzen äußert. Da viele Nicht-Intel-Architekturen von der Geschwindigkeit her nicht mit aktuellen Gigahertz-Monstern imthalten können (alte Amigas zum Beispiel), macht es Sinn, der Linux-Kernel auf einem anderen Rechner (z.B. dem normalen PC) zu kompilieren. Das Problem hierbei ist, daß der PC und die Architektur, für die der Kernel kompiliert werden soll, unterschiedliche Sprachen sprechen. Deshalb kann nicht einfach der installierte GCC (und die dazugehörigen Tools) benutzt werden. Vielmehr bracht man einen Crosscompiler, der für die Zielarchitektur ausgelegt ist.

Cross-Binutils

Sourcen besorgen

Bei den Binutils sollte man immer die aktuellste Version benutzen. Um an diese zu kommen, gibt es zwei Möglichkeiten:

  1. Offizielle Releases der FSF
  2. Aktueller CVS-Abzug

FSF-Release

Die aktuellen offiziellen Releases kann man von ftp://sources.redhat.com/pub/binutils/snapshots/ herunterladen. Dann einfach das .tar.bz2 auspacken und man hat funktionierende Sourcen.

CVS-Abzug

Will man auf dem Stand der aktuellen Entwicklung sein (was bei Binutils und GCC durchaus hilfreich sein kann), so sollte man sich den akuellen CVS-Stand besorgen. Da im CVS-Baum auch einige weitere Tools eingelagert sind, die wir nicht benötigen, ist dieses etwas aufwendiger (da beim Compilieren versucht würde, alle diese Tools zu bauen, was vollkommen unnötig ist und dazu führt, daß ein Dutzend weiterer Entwicklungs-Pakete installiert sein müßte...) Hier also das Vorgehen:

$ # 1. Einmalig am CVS-Server anmelden; Password ist "anoncvs"
$ cvs -d :pserver:anoncvs@sources.redhat.com:/cvs/src login
$ # 2. Nun die Sourcen herunterladen
$ cvs -z9 -d :pserver:anoncvs@sources.redhat.com:/cvs/src co binutils

DER REST FEHLT NOCH UND ICH SCHREIBE IHN GERADE!!!

Cross-GCC

LugOwlWiki: NichtIntelHardware (zuletzt geändert am 2009-03-08 14:45:40 durch localhost)

Impressum Datenschutz