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:buildroot:zoom:dev [2020-03-06 11:08] ditarantosoftware:linux:buildroot:zoom:dev [2022-09-07 14:07] (aktuell) fabian.ditaranto
Zeile 1: Zeile 1:
 ====== Cross-Compilieren für das Zoom-Board =================== ====== Cross-Compilieren für das Zoom-Board ===================
-Hier wird gezeigt, wie auf dem Host Applikationen und Kernel-Module für das Zoom-Board übersetzt werden können. +Hier wird gezeigt, wie auf dem Host Applikationen und Kernel-Module für das [[https://wiki.bu.ost.ch/inf/zoomboard/start|ZOOM-Board]] übersetzt werden können. 
 <box 97% | Buildroot-Toolchain> <box 97% | Buildroot-Toolchain>
  
 Workspace-Verzeichnis erstellen: Workspace-Verzeichnis erstellen:
 <code="bash"> <code="bash">
-mkdir -p ~/workspace/zoom+mkdir -p ~/workspace/zoom
 </code> </code>
 <box 95% | Buildroot-Toolchain installieren> <box 95% | Buildroot-Toolchain installieren>
Zeile 11: Zeile 11:
 $ sudo mkdir -p /opt/zoom $ sudo mkdir -p /opt/zoom
 $ cd /opt/zoom $ cd /opt/zoom
-$ sudo wget -c ftp://inf004.ntb.ch/zoom/buildroot-toolchain.tar.bz2+$ sudo wget -c ftp://inf004.ost.ch/zoom/buildroot-toolchain.tar.bz2
 $ sudo tar xjf buildroot-toolchain.tar.bz2 $ sudo tar xjf buildroot-toolchain.tar.bz2
 $ sudo rm -rf ./buildroot-toolchain.tar.bz2 $ sudo rm -rf ./buildroot-toolchain.tar.bz2
Zeile 31: Zeile 31:
 export PATH=$PATH:/opt/zoom/buildroot-toolchain/lib/ export PATH=$PATH:/opt/zoom/buildroot-toolchain/lib/
 </code> </code>
-Speichern, Editor verlassen und Terminal schliessen.+Speichern, Editor verlassen und **Terminal schliessen(!)**.
  
 <box 95% | Zum Testen der Buildroot-Toolchain (Lokaler Compiler & Cross-Compiler):> <box 95% | Zum Testen der Buildroot-Toolchain (Lokaler Compiler & Cross-Compiler):>
Zeile 61: Zeile 61:
 $ sudo ln -s /usr/lib/x86_64-linux-gnu/libmpfr.so.6 /usr/lib/x86_64-linux-gnu/libmpfr.so.4 $ sudo ln -s /usr/lib/x86_64-linux-gnu/libmpfr.so.6 /usr/lib/x86_64-linux-gnu/libmpfr.so.4
 </code> </code>
-Nun dasselbe File für das Zoom-Board crosskompilieren, danach auf das Zoom-Board übertragen und danach das kompilierte File direkt auf dem Zoom-Board ausführen:+<box 97% | Hinweis> 
 +Falls der letzte Befehl folgende Fehlermeldung ausgibt... 
 +\\ \\ ''ln: failed to create symbolic link '/usr/lib/x86_64-linux-gnu/libmpfr.so.4': File exists'' 
 +\\ \\ ..., dann wurde der symbolische Link bereits erstellt. Die Fehlermeldung kann somit ignoriert und es kann weitergemacht werden. 
 +</box> 
 +\\ Nun dasselbe File für das Zoom-Board crosskompilieren, danach auf das Zoom-Board übertragen und danach das kompilierte File direkt auf dem Zoom-Board ausführen:
 <code="bash"> <code="bash">
 $ /opt/zoom/buildroot-toolchain/bin/arm-buildroot-linux-gnueabi-gcc-4.7.3 hello.c -o hello $ /opt/zoom/buildroot-toolchain/bin/arm-buildroot-linux-gnueabi-gcc-4.7.3 hello.c -o hello
Zeile 99: Zeile 104:
 </code> </code>
 Speichern und Editor verlassen. Speichern und Editor verlassen.
 +\\ 
 +\\ 
 +Folgendes File erstellen:
 <code="bash"> <code="bash">
 $ nano  CMakeLists.txt $ nano  CMakeLists.txt
Zeile 136: Zeile 143:
 <code> <code>
 $ cd /opt/zoom $ cd /opt/zoom
-$ sudo wget -c ftp://inf004.ntb.ch/zoom/linux.tar.gz+$ sudo wget -c ftp://inf004.ost.ch/zoom/linux.tar.gz
 $ sudo tar xzf linux.tar.gz $ sudo tar xzf linux.tar.gz
 $ sudo rm -rf linux.tar.gz $ sudo rm -rf linux.tar.gz
Zeile 144: Zeile 151:
 $ make da850_omapl138_defconfig $ make da850_omapl138_defconfig
 $ sudo ln -s /usr/lib/x86_64-linux-gnu/libmpfr.so.6 /usr/lib/x86_64-linux-gnu/libmpfr.so.4 $ sudo ln -s /usr/lib/x86_64-linux-gnu/libmpfr.so.6 /usr/lib/x86_64-linux-gnu/libmpfr.so.4
 +</code>
 +<box 97% | Hinweis>
 +Falls der letzte Befehl folgende Fehlermeldung ausgibt...
 +\\ \\ ''ln: failed to create symbolic link '/usr/lib/x86_64-linux-gnu/libmpfr.so.4': File exists''
 +\\ \\ ..., dann wurde der symbolische Link bereits erstellt. Die Fehlermeldung kann somit ignoriert und es kann weitergemacht werden.
 +</box>
 +<code>
 $ make modules_prepare $ make modules_prepare
 </code> </code>
Zeile 163: Zeile 177:
 MODULE_SUPPORTED_DEVICE("none"); MODULE_SUPPORTED_DEVICE("none");
 MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
-MODULE_AUTHOR("urs.graf@ntb.ch");+MODULE_AUTHOR("urs.graf@ost.ch");
  
 static int hello_init(void) { static int hello_init(void) {
Zeile 179: Zeile 193:
 Speichern und Editor verlassen. Speichern und Editor verlassen.
 <code="bash"> <code="bash">
-$ touch Makefile 
 $ nano Makefile $ nano Makefile
 </code> </code>
Zeile 185: Zeile 198:
 <code> <code>
 ifeq ($(KERNELRELEASE),) ifeq ($(KERNELRELEASE),)
-KERNELDIR ?= ~/workspace/zoom/linux+KERNELDIR ?= /opt/zoom/linux
 PWD := $(shell pwd) PWD := $(shell pwd)
 modules:  modules: