Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
software:linux:emdebian:phycore-mpc5200b [2016-02-17 16:58] – Anleitung für Realt-time Kernel hinzugefügt mgehrig2software:linux:emdebian:phycore-mpc5200b [2016-11-21 10:17] (aktuell) ditaranto
Zeile 1: Zeile 1:
-====== Installation von Emdebian Grip auf den Phytec phyCORE-MPC5200B ======+====== Installation von Emdebian Grip oder Buildroot-FS auf den Phytec phyCORE-MPC5200B ======
  
 Die folgende Anleitung erklärt die Installation von [[:Software:Linux:Emdebian:start]] Grip (Wheezy) auf den [[:Embedded Systems:MPC5200:phyCORE-MPC5200B-tiny:start]] oder [[:Embedded Systems:MPC5200:phyCORE-MPC5200B-IO:start]] von Phytec. Die folgende Anleitung erklärt die Installation von [[:Software:Linux:Emdebian:start]] Grip (Wheezy) auf den [[:Embedded Systems:MPC5200:phyCORE-MPC5200B-tiny:start]] oder [[:Embedded Systems:MPC5200:phyCORE-MPC5200B-IO:start]] von Phytec.
Zeile 15: Zeile 15:
   * Wir verwenden einen Standardkernel. Dieser muss gepatcht werden. Der Patch, die angepasste Kernelkonfiguration, die angepassten Device Tree Files und das u-Boot Image können alle aus einem eigenen Repository unter <code>https://github.com/ntb-ch/linux-phycore-mpc5200b.git</code> geholt werden.    * Wir verwenden einen Standardkernel. Dieser muss gepatcht werden. Der Patch, die angepasste Kernelkonfiguration, die angepassten Device Tree Files und das u-Boot Image können alle aus einem eigenen Repository unter <code>https://github.com/ntb-ch/linux-phycore-mpc5200b.git</code> geholt werden. 
  
-===== Root-Filesystem erstellen =====+===== Root-Filesystem erstellen (Emdebian) =====
 Wir benutzen Multistrap für das Root-Filesystem gemäss Anleitung: [[software:linux:emdebian:rootfs_erstellen|Root-Filesystem erstellen]].  Wir benutzen Multistrap für das Root-Filesystem gemäss Anleitung: [[software:linux:emdebian:rootfs_erstellen|Root-Filesystem erstellen]]. 
   * Multistrap-Konfiguration: <file - phycorempc5200b.multistrap>   * Multistrap-Konfiguration: <file - phycorempc5200b.multistrap>
Zeile 85: Zeile 85:
 /dev/ttyPSC0    c       644                 204     148                 -</file> /dev/ttyPSC0    c       644                 204     148                 -</file>
   * Dateisystemabbild erzeugen (zuvor unnötige Verzeichnisse löschen, siehe [[software:linux:emdebian:rootfs_erstellen|Root-Filesystem]], damit das Root-Filesystem in der Partition Platz hat): <code># mkfs.jffs2 -n -e 0x40000 -p 0x40000 -b -d /opt/multistrap -D device_table -o emdebian-wheezy-grip-phycore-mpc5200b.jffs2</code>   * Dateisystemabbild erzeugen (zuvor unnötige Verzeichnisse löschen, siehe [[software:linux:emdebian:rootfs_erstellen|Root-Filesystem]], damit das Root-Filesystem in der Partition Platz hat): <code># mkfs.jffs2 -n -e 0x40000 -p 0x40000 -b -d /opt/multistrap -D device_table -o emdebian-wheezy-grip-phycore-mpc5200b.jffs2</code>
 +
 +===== Root-Filesystem erstellen (Buildroot) =====
 +Siehe [[software:linux:buildroot:start | allgemeine Anleitung Buildroot]].
  
 ===== Neuen Kernel compilieren (v3.19, ohne Real-time) ===== ===== Neuen Kernel compilieren (v3.19, ohne Real-time) =====
-Um einen echtzeitfähigen Kernel zu compilieren siehe nächstes Kapitel. +Siehe [[software:linux:phycore-mpc5200b:kernel_v3_19 | Anleitung für v3.19]].
-  - Zuerst müssen alle Tools für die Cross-Toolchain installiert sein, siehe unter [[..:ubuntu:crosstoolchain:start | Anleitung für Ubuntu]] oder [[.:cross-toolchain | Anleitung für Debian]]. Insbesondere muss GCC und die nCurses Bibliothek vorhanden sein.   +
-  - Kernel-Source-Code herunterladen z.B. mit: <code> git clone https://github.com/torvalds/linux </code> +
-  - Ins neue Linux-Verzeichnis wechseln und die entsprechende Version auschecken: <code> git checkout v3.19 </code> +
-  - NTB MPC5200 Daten holen mit:  <code> git clone https://github.com/ntb-ch/linux-phycore-mpc5200b</code> +
-  - Patch in die Kernel Wurzel kopieren: <code> cp ../linux-phycore-mpc5200b/kernel/jffs2.patch . </code> +
-  - Jffs2 Patch anwenden: <code>patch -p1 < ../jffs2.patch</code> +
-  - Notwendige Variable definieren: <code>export ARCH=powerpc CROSS_COMPILE=powerpc-linux-gnu-</code>  +
-  - Defaultkonfiguration aus //linux-phycore-mpc5200b.git// nach //.config// in Wurzelverzeichnis kopieren. <code> cp ../linux-phycore-mpc5200b/kernel/linux-3.19/defconfig .config </code> +
-  - Kernel Konfiguration überprüfen und gegebenfalls anpassen (siehe [[software:linux:linux-kernel_crosscompilieren|Linux-Kernel crosscompilieren]]): <code> make menuconfig </code> +
-==== Kernel für MPC crosscompilieren ==== +
-Den Kernel gemäss [[software:linux:linux-kernel_crosscompilieren|Linux-Kernel crosscompilieren]] crosscompilieren: +
-  - uImage für uBoot erzeugen <code>make uImage</code> +
-  - Das erzeugte uImage kann auf den MPC übertragen werden.+
  
-===== Neuen Real-time-Kernel compilieren (v4.1.15-rt17+) ===== 
-Um einen normalen, nicht-echtzeitfähigen Kernel zu compilieren siehe vorheriges Kapitel. 
-  - Zuerst müssen alle Tools für die Cross-Toolchain installiert sein, siehe unter [[..:ubuntu:crosstoolchain:start | Anleitung für Ubuntu]] oder [[.:cross-toolchain | Anleitung für Debian]]. Insbesondere muss GCC und die nCurses Bibliothek vorhanden sein.   
-  - Kernel-Source-Code herunterladen. Der c32 Branch enthält ein bereits einen echtzeitfähigen Kernel (v4.1.15-rt17+): <code>git clone https://github.com/ntb-ch/linux.git -b c32</code> 
-  - Notwendige Variable definieren <code>export ARCH=powerpc CROSS_COMPILE=powerpc-linux-gnu-</code>  
-  - Kernel Konfiguration für das Board laden <code>make c32_defconfig</code> 
-  - Kernel Konfiguration überprüfen: <code> make menuconfig </code> 
-==== Kernel für MPC crosscompilieren ==== 
-Den Kernel gemäss [[software:linux:linux-kernel_crosscompilieren|Linux-Kernel crosscompilieren]] crosscompilieren: 
-  - uImage für uBoot erzeugen <code>make uImage</code> 
-  - Das erzeugte uImage kann auf den MPC übertragen werden. 
  
 +===== Neuen Real-time-Kernel compilieren (v4.1.15-rt17+) =====
 +Siehe [[software:linux:phycore-mpc5200b:kernel_v4_4_15rt | Anleitung für v4.1.15 Real-Time]].
  
 ===== Device Tree Blob  ===== ===== Device Tree Blob  =====
Zeile 121: Zeile 102:
  
 ===== Installation vorbereiten ===== ===== Installation vorbereiten =====
-Für die Installation auf dem phyCORE-MPC5200B müssen die benötigten Dateien auf einem TFTP-Server bereit gestellt werden. Am NTB kann hierfür der FTP-Server des INF-Instituts verwendet werden: [[\\inf04-server.ntb.ch\ftp\pub\ | inf04-server.ntb.ch]]((Bitte Unterordner mit dem eigenen Benutzernamen erstellen. Dateien und Ordner, die ausserhalb dieses Ordners erstellt werden, werden ohne Vorwarnung wieder gelöscht!)). +Für die Installation auf dem phyCORE-MPC5200B müssen die benötigten Dateien auf einem TFTP-Server bereit gestellt werden. Am NTB kann hierfür der FTP-Server des INF-Instituts verwendet werden: [[\\inf004.ntb.ch\ftp\pub\ | inf004.ntb.ch]]((Bitte Unterordner mit dem eigenen Benutzernamen erstellen. Dateien und Ordner, die ausserhalb dieses Ordners erstellt werden, werden ohne Vorwarnung wieder gelöscht!)). 
  
-Falls auf dem Board kein Bootloader mehr installiert ist (z.B. weil es mit [[:Software:deep:start]] vewendet wurde), muss erst [[:software:linux:U-Boot]] wieder installiert werden. Dazu wird das {{.:phytec:u-boot-pcm032.bin | U-Boot Image}} mittels [[:Embedded Systems:Abatron BDI:start | BDI2000 oder BDI3000]] ins Flash kopiert. Achtung: Neuere Kernel benötigen mindestens UBoot 1.3.2.+Falls auf dem Board kein Bootloader mehr installiert ist (z.B. weil es mit [[http://deepjava.org/|deep]] vewendet wurde), muss erst [[:software:linux:U-Boot]] wieder installiert werden. Dazu wird das {{.:phytec:u-boot-pcm032.bin | U-Boot Image}} mittels [[:Embedded Systems:Abatron BDI:start | BDI2000 oder BDI3000]] ins Flash kopiert. Achtung: Neuere Kernel benötigen mindestens UBoot 1.3.2.
  
 Dazu folgende Befehle im BDI eingeben:  Dazu folgende Befehle im BDI eingeben: 
Zeile 193: Zeile 174:
     - <code>setenv bootargs console=ttyPSC0,115200 rw root=/dev/mtdblock2 rw rootfstype=jffs2</code>     - <code>setenv bootargs console=ttyPSC0,115200 rw root=/dev/mtdblock2 rw rootfstype=jffs2</code>
     - <code>setenv bcmd_flash bootm 0xfe040000 - 0xfff80000</code>     - <code>setenv bcmd_flash bootm 0xfe040000 - 0xfff80000</code>
 +    - <code>saveenv</code>
  
 ===== Installation testen ===== ===== Installation testen =====