Voraussetzungen: Unterschied zwischen den Versionen

Aus Ethersex_Wiki
Wechseln zu: Navigation, Suche
(fehlendes Programm dialog unter cygwin manuell compilieren)
(Fehler, Bugs etc: lxdialog unter Windows)
Zeile 93: Zeile 93:
  
 
== Fehler, Bugs etc ==
 
== Fehler, Bugs etc ==
 +
===Your lxdialog utility does not exist===
 
'''make menuconfig''' erzeugt folgenden Fehler:
 
'''make menuconfig''' erzeugt folgenden Fehler:
 
  Preparing scripts: functionsYour lxdialog utility does not exist
 
  Preparing scripts: functionsYour lxdialog utility does not exist
Zeile 98: Zeile 99:
 
  chmod +x protocols/scripts/lxdialog
 
  chmod +x protocols/scripts/lxdialog
  
Wenn unter Windows beim '''make menuconfig''' immer wieder die Meldung erscheint: dialog command not found, dann muss man das Tool dialog noch compilieren. Leider habe ich es nicht im cygwin Installer gefunden.
+
===dialog command not found===
 +
Wenn unter Windows beim '''make menuconfig''' immer wieder die Meldung erscheint: dialog command not found, dann muss wurde offenbar das Tool dialog nicht gefunden.
 +
 
 +
Eigentlich sollte dieses Toll im Verzeichnis scripts/lxdialog unter der Bezeichnung lxconfig.exe zur Verfügung stehen und auch entsprechend im Makefile genutzt werden. Im Top-Level-Makefile steht nämlich folgender Aufruf:
 +
...
 +
menuconfig:
 +
    $(MAKE) -C scripts/lxdialog -all
 +
...
 +
 
 +
Man sollte also zunächst prüfen, ob lxdialog.exe zur Verfügung steht und der Aufruf im Makefile stimmt.
 +
 
 +
Notfalls kann man dialog selbst compilieren. Leider scheint es der Cygwin-Installer nicht bereitzustellen.
  
 
In dieser Mailingliste steht etwas zu dialog unter cygwin
 
In dieser Mailingliste steht etwas zu dialog unter cygwin

Version vom 12. August 2010, 05:39 Uhr

Es werden neben einem Compiler der AVR Images erstellen kann, noch weitere Werkzeuge benötigt. Diese sind meist einfacher unter einem unixartigen Betriebssystem verfügbar, daher empfehlen wir dir ein solches z.B. Ubuntu Linux zu verwenden. Für den Anfang ist auch die Live CD zu empfehlen.

Unix, Linux

  • AVR GCC-Compiler (Version 4.1 oder höher)
  • AVR LIBC (mind. Version 1.6)
  • GNU-Tools (insbesondere Bash, Make, m4 und awk)
  • Programm zum Hochladen des Images auf deine Hardware (z.B. avrdude)

Installation der Software unter Ubuntu 9.04

apt-get install libncurses5-dev m4 gawk gcc-avr avrdude avr-libc dialog

Installation der Software unter Ubuntu ab 9.10

aptitude install gcc-avr avr-libc  binutils-avr m4 gawk libncurses5-dev make dialog git-core avrdude screen

Installation der Software unter openSuse ab 11.2

zypper install libncurses5 ncurses-devel m4 gawk avrdude avr-libc cross-avr-gcc dialog

Die von ethersex benötigten ausführbaren Dateien wie etwa avr-gcc liegen bei openSuse im Verzeichnis "/opt/cross/bin/". Daher sind folgende Schritte ebenfalls nötig:

Wechsel in dein ethersex Verzeichnis
ln -s /opt/cross/bin/avr-gcc avr-gcc
ln -s /opt/cross/bin/avr-g++ avr-g++
ln -s /opt/cross/bin/avr-objcopy avr-objcopy
ln -s /opt/cross/bin/avr-objdump avr-objdump
ln -s /opt/cross/bin/avr-size avr-size
ln -s /opt/cross/bin/avr-ar avr-ar
ln -s /opt/cross/bin/avr-cpp avr-cpp

Hiermit erstellst du symbolische Links zu den benötigten ausführbaren Dateien in deinem ethersex Verzeichnis.

Es fehlt noch die AVR Toolchain: Manuel in YAST die CrossToolchain mit der URL http://download.opensuse.org/repositories/CrossToolchain:/avr/openSUSE_11-2/ einbinden und installieren.

Gentoo

Um Ethersex mit Gentoo zu kompilieren braucht man (wie immer) den avr-gcc. Dieser wird bei Gentoo folgendermaßen erstellt:

emerge crossdev
echo /etc/make.conf >> "PORTDIR_OVERLAY="/usr/local/portage"
crossdev -v --target avr 

wenn das crossdev fehlschlägt (was bei mir der Fall war) dann kann man so vorgehen:

crossdev -v --target avr  --without-headers 
ln -s /usr/i686-pc-linux-gnu/avr/lib/ldscripts /usr/avr/lib/ldscripts 

Diese Infos kommen von http://en.gentoo-wiki.com/wiki/Crossdev

FreeBSD

siehe: Benutzer:Rdnzl/FreeBSD

MacOS X

MacOS X bietet durch seinen Unix-Unterbau eine gute Basis um ein eigenes Ethersex zu bauen. Die fehlenden Werkzeuge gibt es in den MacPorts. Dazu muss amn allerdings erst die MacPorts nach der Anleitung installieren.

Git für die Quellkodeverwaltung installierst du mit:

port install git

Es gibt auch den cross compiler für die AVRs in den MacPorts. Allerdings lässt der sich zur Zeit unter 10.6 nicht installieren. Ein guter Ersatz ist die Installation des CrossPack. Es enthält alles, was zum Entwickeln notwendig ist inklusive avrdude.

Die von Apple gelieferte Bash (V3.2) funktioniert nicht als config shell und der BSD sed hat auch Probleme mit den build Skripten, deshalb werden zusätzlich auch noch Bash V4.0 und GNU sed benötigt.

port install bash
port install sed

OpenSolaris / Solaris 11

siehe Voraussetzungen_solaris

Windows

Du benötigst unter Windows praktisch eine Unix-Umgebung mit allen oben genannten Programmen. Hierfür eignet sich beispielsweise cygwin.

Im cygwin setup sind die üblichen Entwicklertools auszuwählen. Insbesondere braucht man:

  • awk
  • gcc
  • git
  • m4
  • make
  • ncurses
  • libncurses-devel

Außer cygwin wird natürlich auch der AVR-Compiler benötigt.

Bisher bekam man diesen mit dem Paket WinAVR. Diese wird jedoch seit Anfang 2010 nicht mehr gepflegt. (Und bei mir scheiterte "make" des aktuellen Ethersex nun auch mit "Error 3". --Biff 19:15, 28. Jul. 2010 (UTC))

Stattdessen bekommt man den AVR-Compiler nun mit dem "AVR Toolchain Installer", siehe http://www.atmel.no/beta_ware/. Im Gegensatz zu WinAVR umfasst die AVR-Toolchain nicht mehr "avrdude", das benötigt wird um die fertige Firmware in den Chip zu flashen. Wer avrdude liebt, muss sich dies entweder aus WinAVR retten oder anderweitig eine Windows-Binary von avrdude besorgen. Oder man installiert das "AVR Studio" und nutzt dessen Flash-Funktion.

Das AVR Studio erhält man unter:

Die letzte Beta-Version des AVR Studios ebenso wie die AVR Toolchain unter:

Fehler, Bugs etc

Your lxdialog utility does not exist

make menuconfig erzeugt folgenden Fehler:

Preparing scripts: functionsYour lxdialog utility does not exist

Lösung: lxdialog script ausführbar machen:

chmod +x protocols/scripts/lxdialog

dialog command not found

Wenn unter Windows beim make menuconfig immer wieder die Meldung erscheint: dialog command not found, dann muss wurde offenbar das Tool dialog nicht gefunden.

Eigentlich sollte dieses Toll im Verzeichnis scripts/lxdialog unter der Bezeichnung lxconfig.exe zur Verfügung stehen und auch entsprechend im Makefile genutzt werden. Im Top-Level-Makefile steht nämlich folgender Aufruf:

... 
menuconfig:
   $(MAKE) -C scripts/lxdialog -all
...

Man sollte also zunächst prüfen, ob lxdialog.exe zur Verfügung steht und der Aufruf im Makefile stimmt.

Notfalls kann man dialog selbst compilieren. Leider scheint es der Cygwin-Installer nicht bereitzustellen.

In dieser Mailingliste steht etwas zu dialog unter cygwin

Die Downloadadresse, die ich verwendet habe

Unter cygwin das Paket auspacken mit

tar xzvf dialog_1.1-20100428.orig.tar.gz
cd dialog_1.1*
./configure
make
make install