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-03-23 13:23] kalberersoftware: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> +
-  - uImage compilieren: <code>make uImage</code> +
-  - Das uImage wird im Ordner "KERNELDIR/arch/powerpc/boot" gespeichert +
-  - Kernel Module compilieren: <code>make modules +
-make modules_install INSTALL_MOD_PATH=../modules/ </code> +
-  - Die Module auf das Target kopieren. Z.B. unter "/lib/modules/3.19.0+"+
  
  
 ===== Neuen Real-time-Kernel compilieren (v4.1.15-rt17+) ===== ===== Neuen Real-time-Kernel compilieren (v4.1.15-rt17+) =====
-Um einen normalen, nicht-echtzeitfähigen Kernel zu compilieren siehe vorheriges Kapitel. +Siehe [[software:linux:phycore-mpc5200b:kernel_v4_4_15rt | Anleitung für v4.1.15 Real-Time]].
- +
-Der Kernel kann auch manuell gepatched werden. In der [[.:manueller-RT-Patch| Anleitung zum manuellen Patchen eines RT-Linux Kernel]] ist der Ablauf beschrieben. +
-  - 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> +
-  - uImage compilieren: <code>make uImage</code> +
-  - Das uImage wird im Ordner "KERNELDIR/arch/powerpc/boot" gespeichert +
-  - Kernel Module compilieren: <code>make modules +
-make modules_install INSTALL_MOD_PATH=../modules/ </code> +
-  - Die Module auf das Target kopieren. Z.B. unter "/lib/modules/4.1.15-rt17+" +
  
 ===== Device Tree Blob  ===== ===== Device Tree Blob  =====
Zeile 126: 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 [[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. 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.
Zeile 198: 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 =====