Datei: LIESMICH Ort: uClinux-dist/Documentation/ Author: Heiko Degenhardt (linux@sentec-elektronik.de) Inhalt: Dies ist die Top-Level-LIESMICH fuer die Distribution. Version: v01.01 Datum: Mit Apr 3 11:57:48 CEST 2002 Lizenz: Dieses Dokument steht unter der GNU GPL (siehe uClinux-dist/COPYING) ______________________________________________________________________ CHANGES 020403 v01.01 Korrektur "Ort", Typos (hede) 020325 v01.00 Erstellung (hede) ______________________________________________________________________ uClinux/distribution ==================== Inhalt ------ 1) Instruktionen fuer das Compilieren 2) Aendern der Optionen/Bibliotheken fuer Applikationen/Kernel 3) Compilieren fuer Debugging 4) Layout der Sourcen 5) Hinzufuegen einer Plattform 6) Hinzufuegen einer Applikation 7) FAQ 1) Instruktionen fuer das Compilieren ------------------------------------- 1. Sie brauchen einen Cross-Compiler fuer Ihren Target. Es gibt eine ganze Reihe von Paketen mit Binary-Tools fuer das Compilieren von uClinux. Sie sollten zunaechst eines dieser Pakete wie gewohnt installieren. Wenn Sie beispielsweise fuer m68k oder ColdFire entwickeln wollen, koennen Sie die Pakete der m68k-elf-tools von www.uclinux.org verwenden. 2. Wenn Sie das Paket mit den Quellen noch nicht ausgepackt haben, sollten Sie dies jetzt tun, z. B. mit: tar xvzf uClinux-dist-XXXXXXXX.tar.gz Dies entpackt die Quellen in ein Verzeichnis "uClinux-dist". Sie koennen dies in jedem beliebigen Verzeichnis tun, sollten aber moeglichst Ihr eigenes Home-Verzeichnis als Basis verwenden. (Es ist nicht empfehlenswert, als Root zu arbeiten! Es ist keine gute Praxis, und wird sich definitiv eines Tages raechen! 3. Nun in das Sourcen-Verzeichnis wechseln: cd uClinux-dist 4. Fuer den Target konfigurieren: make xconfig (Sie koennen auch "make config" oder "make menuconfig" verwenden). Das erste Konfigurations-Menue ist selbsterklaerend wenn man den Hersteller des Boards weiss, fuer das man entwickeln will. Man kann hier auch einstellen, ob man die Kernel-Konfiguration oder die der Anwendungen veraendern will. Es ist hier ratsam, zunaechst die Standart-Konfiguration fuer das gewuenschte Target-Board zu verwenden. Damit sollte sich am schnellsten ein funktionierendes Image erzeugen lassen. In Abhaengigkeit von der in diesem Schritt ausgewaehlten Plattform wird dann im folgenden der Compilier-Prozess beeinflusst. Gelegentlich erscheinen nach "Save and Exit" eine ganze Reihe von Fragen. Hier sollte man sich nicht verunsichern lassen. Dies ist nur ein Zeichen dafuer, dass neue Konfigurationsoptionen in die Kernel-Quellen eingefuegt wurden, fuer die es bisher noch keine Standartwerte gibt. Wenn man ganz sicher gehen will, beantwortet man am besten all diese Fragen mit "N". 5. Erzeugen der Abhaengigkeiten: make dep 6. Bau des Images: make Das wars! Das "make" wird ein geeignetes Binaer-Image fuer die gewaehlte Ziel-Hardware erzeugen. Die exakten Dateinamen haengen vom eingestellten Target ab. Typischeweise findet man eine Datei "image.bin" im Unterverzeichnis "images". Wie man das Image in den Target laedt und startet haengt wieder von der Hardware des Zielsystems ab. Hier sei auf die Beschreibung des jeweiligen Herstellers verwiesen. 2) Aendern der Optionen/Bibliotheken fuer Applikationen/Kernel -------------------------------------------------------------- Die beste Moeglichkeit fuer das Aendern der Konfiguration der Applikationen ist die Verwendung des config-Systems. Dies kann durch Aufruf eines der drei folgenden Kommandos geschehen: make xconfig - graphische (X11 basierte) Konfiguration make menuconfig - graphische (ncurses-basierte) Config make config - portabelste (aber langweiligste) Config auf Basis eines Shell-Script Bei Verwendung von X Window's kann "make xconfig" verwendet werden. Dies wird im weiteren Dokument angenommen, wobei der Aufruf entsprechend ersetzt werden kann. Die Optionen des ersten Config-Bildschirms sind: Default all settings (lose changes) Die Werte fuer die Konfiguration werden entsprechend denen im Verzeichnis vendors/Vendor/Board gesetzt. Wenn Sie vorher Aenderungen vorgenommen haben, gehen diese verloren. Diese Option ist standartmaessig immer auf "N" gesetzt. Customize Kernel Settings Zum "Fein-Tunen" der Kernel-Config. ACHTUNG: Eine falsche Einstellung im Kernel kann dazu fuehren, dass sich das Board nicht mehr booten laesst! Customize Vendor/User Settings Fuer die Einstellung, welche Programme und Bibliotheken erzeugt bzw. installiert werden sollen. Update Default Vendor Settings Soll die gerade erstellte Konfiguration als neue Standart-Config fuer den Vendor verwendet werden. Diesen Punkt sollte man nur auswaehlen, wenn man sich von der Funktionsfaehigkeit des geaenderten Images ueberzeugt hat. Wenn Sie ein Verzeichnis fuer Module angelegt haben, die ausserhalb der Kernel-Quellen erzeugt werden sollen, befindet sich hier ebenfalls eine Konfigurations-Option dafuer. Nach "Save and Exit" werden alle fuer eine Neukonfigurierung ausgewaehlten Menues durchlaufen. 3) Compilieren fuer Debugging ----------------------------- Etwas was Sie sicher benoetigen werden ist die Moeglichkeit, die Quellen fuer symbolisches bzw. Source-Debugging zu compilieren. Dies ist leicht einzustellen, aber schwer zu finden. :-) * Ausfuehren von "make xconfig" * Waehlen von "Customize Kernel Settings" * Waehlen von "Customize Vendor/User Settings" * Save and Exit Im Menu "kernel config", gehen Sie auf die "Kernel Hacking"-Sektion und schalten "Full symbolic/source level debugging" ein. 4) Layout der Sourcen --------------------- Siehe das Dokument ./SOURCE dieser Distribution. 5) Hinzufuegen einer Plattform ------------------------------ Siehe das File ./Documentation/Adding-Platforms-HOWTO. 6) Hinzufuegen einer Applikation -------------------------------- Siehe Datei ./Documentation/Adding-User-Apps-HOWTO. 7) FAQ ------ Noch nichts derzeit. ______________________________________________________________________ HINWEIS: Diese Datei ist eine Uebersetzung der Top-Level-README. Sie ist keinesfalls vollstaendig, und soll nur einen ersten Einstieg in die Distribution ermoeglichen. Hinweise auf Fehler, Verbesserungen etc. fuer die deutsche Version bitte an mich. Heiko Degenhardt (linux@sentec-elektronik.de).