So, heute war draußen ein regnerischer und kalter Tag, wie geschaffen, sich an die Installation der Entwicklungsumgebung „Lazarus“ auf dem RaspBerry Pi 3 zu machen, eine Entwicklungsumgebung, die auf der Sprache Pascal beruht und die es für (fast) alle Betriebssysteme gibt, so dass man damit wunderschön plattformübergreifend entwickeln kann. Zunächst gilt es aber, die Sourcen herunterzuladen und danach dann „FreePascal“ und anschließend „Lazarus“ zu übersetzen und zu installieren. Naiverweise dachte ich, das wäre eigentlich ein Kinderspiel und suchte gleich mal im großen weiten Netz nach Installationsanweisungen. Es gibt natürlich viele Anleitungen, aber keine für den RaspBerry Pi 3, sondern die allermeisten nur für den Vorgänger. Nun ja, da die beiden Modelle das gleiche Betriebssystem Raspbian benutzen, sollte sich doch das Installieren anhand der Befehle für das Vorgängermodell relativ leicht nachvollziehen lassen. Somit gleich mal angefangen, die Voraussetzungen zu installieren, denn zunächst muss man Subversion installieren und einige weitere Pakete für Raspbian, was auch reibungslos funktionierte. Prima, das war ja einfach und ruckzuck waren die Voraussetzungen geschaffen, FreePascal von Subversion herunterzuladen und zu installieren und zu übersetzen. Allerdings zeigte mir Raspbian jedesmal nach dem Auschecken der Sourcen aus Subversion (was relativ lange dauert), einen Dateisystemfehler an und behauptete, die micro SD-Karte wäre korrupt. Nachdem ich alles versucht hatte, um diesen Fehler zu umgehen, versuchte ich zunächst, NOOBS und damit auch Raspbian auf der SD-Karte neu zu installieren, aber selbst mit nagelneuem Betriebssystem kam immer wieder beim Auschecken von Free Pascal der gleiche Fehler und die SD-Karte war plötzlich schreibgeschützt aufgrund eines Fehlers im ext4-Dateisystem.
Nachdem ich gut eine Stunde herumexperimentiert hatte und zu keinem Ergebnis kam, versuchte ich, im Netz nachzuvollziehen, was da los sein könnte, denn die Karte war nach mehreren Tests an meinem iMac physikalisch völlig in Ordnung. Also im offiziellen RaspBerry-Forum gesucht und wurde dort fündig, denn ein Benutzer berichtete, dass es im Zusammenhang mit der Original-Firmware immer wieder zu Timing-Problemen mit der SD-Karte gekommen wäre, dies aber im neuesten Raspbian-Kernel vom 5.3.2016 gefixt wurde. Nur wie kommt man zu einem aktuellen Kernel ? Nun, so schwer ist das nicht, mit
- sudo apt-get update
- sudo apt-get upgrade
- sudo apt-get dist-upgrade
- sudo rpi-update
- [reboot]
- sudo branch=next rpi-update
- [reboot]
kommt man im Terminalfenster zu einer neuen Firmware für den Raspberry Pi 3, diese erhöht sich von Version 4.1.17 auf Version 4.4.4 und enthält einige wichtige und sinnvolle Fixe, es empfiehlt sich also grundsätzlich, die allerneueste Firmware zu installieren. Dies ist eben der Vorteil an einem quelloffenen Betriebssystem, das man sich selbst übersetzen kann, um damit dann den Rechner auf den neuesten Stand zu bringen.
Nach der Installation des neuesten Kernels also nochmals die gesamte Prozedur von vorne und alle Pakete wieder soweit installiert. Nun kam der spannende Moment des Auscheckens von Free Pascal und siehe da, keinerlei Probleme mehr mit der SD-Karte, alles lief reibungslos und ging ohne weiteren Probleme über die Bühne. In diesem Zusammenhang lohnt es sich, die folgenden Parameter in die Datei /boot/config.txt einzutragen und den RaspBerry neu zu starten:
- force_turbo=1
- arm_freq=1300
Damit erhöht man die Taktfrequenz von 1,2 GHz auf 1,3 GHz und man nutzt diese 8 % Geschwindigkeitsgewinn beim Übersetzen der Sourcen.
Nachdem also nun FreePascal aus Subversion ausgecheckt wurde, ging es an’s Übersetzen der Sourcen, was gut eine halbe Stunde dauerte, aber fehlerfrei geklappt hat. Man muss sich übrigens mindestens FreePascal in der Version 3.0.0 installieren, um die Sourcen von Lazarus übersetzen zu können, standardmäßig wird beim normalen Auschecken von Free Pascal aus dem Paketmanager von Raspbian die Version 2.6.4 installiert.
Nach der Installation von FreePascal ging es dann ans Auschecken und Übersetzen von Lazarus, was nochmals gut über eine Stunde gedauert hat, aber auch fehlerfrei funktionierte. Am Ende kann man dann wieder in die grafische Oberfläche von Raspbian booten und im Menü dann unter „Entwicklung“ Lazarus starten, was wunderbar funktioniert hat.
Um zu schauen, ob auch das Übersetzen geklappt hat, habe ich noch kurz ein kleines „Hello World“ Programm geschrieben, was anstandslos übersetzt wurde.
[See image gallery at www.tssoft.de]
Toll, wie einfach man sich seine Entwicklungsumgebung schnell selbst zusammenbasteln kann, auch wenn der gesamte Prozess mehrere Stunden meiner Zeit und 3 Tassen Kaffee gekostet hat, aber so habe ich schon wieder etwas über den inneren Aufbau eines Linux-Dateisystems gelernt und alte Erinnerungen wieder aufgefrischt.
Mal schauen, wie ich nun weiter vorgehen werde und was ich als Nächstes angehen werde, ich werde es Euch hier weiter berichten, es bleibt also spannend.
Wer übrigens die Installation von Free Pascal und Lazarus auf dem RaspBerry Pi 3 nachvollziehen will, ich habe mich an folgenden Anleitungen orientiert:
- „Raspberry Pi 2, FreePascal, Lazarus and Delphi“ von Simon J. Stuart
- „FreePascal 2.7.1 on Raspberry Pi“ von Paul Michell
- „How to install Lazarus Pascal on Raspberry Pi 2 (Raspbian)“ von Hans Luitjen