2 Ort: uClinux-dist/Documentation/
3 Author: Heiko Degenhardt (linux@sentec-elektronik.de)
4 Inhalt: Dies ist die Top-Level-LIESMICH fuer die Distribution.
6 Datum: Mit Apr 3 11:57:48 CEST 2002
7 Lizenz: Dieses Dokument steht unter der GNU GPL
8 (siehe uClinux-dist/COPYING)
9 ______________________________________________________________________
12 020403 v01.01 Korrektur "Ort", Typos
14 020325 v01.00 Erstellung
16 ______________________________________________________________________
24 1) Instruktionen fuer das Compilieren
25 2) Aendern der Optionen/Bibliotheken fuer Applikationen/Kernel
26 3) Compilieren fuer Debugging
28 5) Hinzufuegen einer Plattform
29 6) Hinzufuegen einer Applikation
33 1) Instruktionen fuer das Compilieren
34 -------------------------------------
36 1. Sie brauchen einen Cross-Compiler fuer Ihren Target. Es gibt eine
37 ganze Reihe von Paketen mit Binary-Tools fuer das Compilieren von
38 uClinux. Sie sollten zunaechst eines dieser Pakete wie gewohnt
39 installieren. Wenn Sie beispielsweise fuer m68k oder ColdFire
40 entwickeln wollen, koennen Sie die Pakete der m68k-elf-tools
41 von www.uclinux.org verwenden.
43 2. Wenn Sie das Paket mit den Quellen noch nicht ausgepackt haben,
44 sollten Sie dies jetzt tun, z. B. mit:
46 tar xvzf uClinux-dist-XXXXXXXX.tar.gz
48 Dies entpackt die Quellen in ein Verzeichnis "uClinux-dist".
49 Sie koennen dies in jedem beliebigen Verzeichnis tun, sollten
50 aber moeglichst Ihr eigenes Home-Verzeichnis als Basis verwenden.
51 (Es ist nicht empfehlenswert, als Root zu arbeiten! Es ist keine
52 gute Praxis, und wird sich definitiv eines Tages raechen!
55 3. Nun in das Sourcen-Verzeichnis wechseln:
59 4. Fuer den Target konfigurieren:
63 (Sie koennen auch "make config" oder "make menuconfig" verwenden).
65 Das erste Konfigurations-Menue ist selbsterklaerend wenn man den
66 Hersteller des Boards weiss, fuer das man entwickeln will.
67 Man kann hier auch einstellen, ob man die Kernel-Konfiguration
68 oder die der Anwendungen veraendern will.
70 Es ist hier ratsam, zunaechst die Standart-Konfiguration fuer das
71 gewuenschte Target-Board zu verwenden. Damit sollte sich am
72 schnellsten ein funktionierendes Image erzeugen lassen.
74 In Abhaengigkeit von der in diesem Schritt ausgewaehlten Plattform
75 wird dann im folgenden der Compilier-Prozess beeinflusst.
77 Gelegentlich erscheinen nach "Save and Exit" eine ganze Reihe von
78 Fragen. Hier sollte man sich nicht verunsichern lassen. Dies ist
79 nur ein Zeichen dafuer, dass neue Konfigurationsoptionen in die
80 Kernel-Quellen eingefuegt wurden, fuer die es bisher noch keine
81 Standartwerte gibt. Wenn man ganz sicher gehen will, beantwortet
82 man am besten all diese Fragen mit "N".
84 5. Erzeugen der Abhaengigkeiten:
95 Das "make" wird ein geeignetes Binaer-Image fuer die gewaehlte
96 Ziel-Hardware erzeugen. Die exakten Dateinamen haengen vom
97 eingestellten Target ab. Typischeweise findet man eine Datei
98 "image.bin" im Unterverzeichnis "images".
100 Wie man das Image in den Target laedt und startet haengt wieder
101 von der Hardware des Zielsystems ab. Hier sei auf die Beschreibung
102 des jeweiligen Herstellers verwiesen.
104 2) Aendern der Optionen/Bibliotheken fuer Applikationen/Kernel
105 --------------------------------------------------------------
107 Die beste Moeglichkeit fuer das Aendern der Konfiguration der
108 Applikationen ist die Verwendung des config-Systems.
109 Dies kann durch Aufruf eines der drei folgenden Kommandos geschehen:
111 make xconfig - graphische (X11 basierte) Konfiguration
112 make menuconfig - graphische (ncurses-basierte) Config
113 make config - portabelste (aber langweiligste) Config
114 auf Basis eines Shell-Script
116 Bei Verwendung von X Window's kann "make xconfig" verwendet werden.
117 Dies wird im weiteren Dokument angenommen, wobei der Aufruf
118 entsprechend ersetzt werden kann.
120 Die Optionen des ersten Config-Bildschirms sind:
122 Default all settings (lose changes)
123 Die Werte fuer die Konfiguration werden entsprechend denen im
124 Verzeichnis vendors/Vendor/Board gesetzt. Wenn Sie vorher
125 Aenderungen vorgenommen haben, gehen diese verloren.
126 Diese Option ist standartmaessig immer auf "N" gesetzt.
128 Customize Kernel Settings
129 Zum "Fein-Tunen" der Kernel-Config. ACHTUNG: Eine falsche
130 Einstellung im Kernel kann dazu fuehren, dass sich das Board
131 nicht mehr booten laesst!
133 Customize Vendor/User Settings
134 Fuer die Einstellung, welche Programme und Bibliotheken erzeugt
135 bzw. installiert werden sollen.
137 Update Default Vendor Settings
138 Soll die gerade erstellte Konfiguration als neue Standart-Config
139 fuer den Vendor verwendet werden. Diesen Punkt sollte man nur
140 auswaehlen, wenn man sich von der Funktionsfaehigkeit des
141 geaenderten Images ueberzeugt hat.
143 Wenn Sie ein Verzeichnis fuer Module angelegt haben, die ausserhalb
144 der Kernel-Quellen erzeugt werden sollen, befindet sich hier ebenfalls
145 eine Konfigurations-Option dafuer.
147 Nach "Save and Exit" werden alle fuer eine Neukonfigurierung
148 ausgewaehlten Menues durchlaufen.
150 3) Compilieren fuer Debugging
151 -----------------------------
153 Etwas was Sie sicher benoetigen werden ist die Moeglichkeit, die
154 Quellen fuer symbolisches bzw. Source-Debugging zu compilieren.
155 Dies ist leicht einzustellen, aber schwer zu finden. :-)
157 * Ausfuehren von "make xconfig"
158 * Waehlen von "Customize Kernel Settings"
159 * Waehlen von "Customize Vendor/User Settings"
162 Im Menu "kernel config", gehen Sie auf die "Kernel Hacking"-Sektion
163 und schalten "Full symbolic/source level debugging" ein.
166 4) Layout der Sourcen
167 ---------------------
169 Siehe das Dokument ./SOURCE dieser Distribution.
171 5) Hinzufuegen einer Plattform
172 ------------------------------
174 Siehe das File ./Documentation/Adding-Platforms-HOWTO.
176 6) Hinzufuegen einer Applikation
177 --------------------------------
179 Siehe Datei ./Documentation/Adding-User-Apps-HOWTO.
186 ______________________________________________________________________
187 HINWEIS: Diese Datei ist eine Uebersetzung der Top-Level-README.
188 Sie ist keinesfalls vollstaendig, und soll nur einen ersten Einstieg
189 in die Distribution ermoeglichen. Hinweise auf Fehler, Verbesserungen
190 etc. fuer die deutsche Version bitte an mich.
191 Heiko Degenhardt (linux@sentec-elektronik.de).