Pagina 1 van 1

Hoe installeer je Lazarus Pascal op Raspberry Pi 2 (Raspbian)

Hoe installeer je Lazarus Pascal op Raspberry Pi 2 (Raspbian)
   23

Voor wie vaker op Tweaking4All is geweest, zal vast wel gemerkt hebben dat ik een Lazarus Pascal fan ben. Ik gebruik het om kleine gratis programma’s te bouwen voor meerdere besturingssystemen zoals Windows, MacOS X and Linux (indien mogelijk).

Dus waarom niet ook op een Raspberry Pi (Raspbian)? Lazarus ondersteund Rapid Application Development zoals Delphi dat ook doet, en dit zou dus ideaal zijn voor een platform zoals de Raspberry Pi. Zeker nu de Raspberry Pi  2 Model B snel genoeg lijkt te zijn.

Daar komt dan nog bij, dat mijn zwager (Hey Sjampie!) en ik graag op basis van een Raspberry Pi 2 een alarm systeem willen gaan bouwen, met een TouchScreen en een zooi sensoren. Lazarus Pascal zou hiervoor ideaal kunnen zijn.

Tot grote teleurstelling, kostte me het toch erg veel moeite om Lazarus op mijn nieuwe Raspberry Pi 2 Model B aan de gang te krijgen… dus in dit artikel, op basis van van alles wat ik op het Internet bij elkaar heb geraapt, hoe je dat kunt doen.




Waarom Lazarus Pascal?

Lazarus Pascal is een gratis Pascal ontwikkelomgeving, die veel weg heeft van (en grotendeels compatible is met) Delphi en gebaseerd op FPC (Free Pascal Compiler).

Ik kan Lazarus echt sterk aanraden, zeker als je al eens met Delphi hebt gewerkt, en als je graag programma’s wilt bouwen voor meerdere platformen zonder de enorme prijs voor Delphi te willen betalen. Ik ben zelf een Pascal fan, en heb altijd genoten van het ontwikkelen van programma’s met Delphi en Lazarus. Vooral Lazarus is krachtig en staat het toe om bijzonder vlot een programma te bouwen.

Al dat doet me denken dat Lazarus/FPC en Raspberry Pi eigenlijk voor elkaar gemaakt zijn,… niet dan?

Wat is nou het probleem?

Voor oudere Raspberry Pi modellen (andere processor), zou je gewoon met “apt-get” uit de voeten moeten kunnen – ook al is die versie antiek. Per de Lazarus Pascal Wiki:


1
2
3
4
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install fpc
sudo apt-get install lazarus

Op een Raspberry Pi 2 Model B echter, werkt dit van geen meter.

Dit zou kunnen liggen aan de verschillende processor, maar ik ben geen expert – zie ook deze vergelijkingstabel. De oudere Raspberry Pi modellen (A, B, B+) gebruiken namelijk een Broadcom BCM2835 chip welke een enkel-core ARMv6 processor gebruikt. De nieuwere Raspberry Pi 2 gebruikt echten een Broadcom BCM2836 chip met een ARMv7 quad core processor.

Nogmaals, ik ben ook geen expert, en ik weet alleen dat de normale Raspberry Pi methode faalt …

Ik heb overigens erg veel geleerd van het artikel “Raspberry Pi 2, FreePascal, Lazarus and Delphi” maar heb dit artikel geschreven met mijn eigen aanpassingen en bevindingen in gedachten. Veel loof dus naar Simon Stuart – zonder zijn informatie had het vast veel langer geduurd dan die 2 dagen die ik er nu aan besteed heb. Let dus goed op dat de stappen NIET hetzelfde zijn als in het artikel van Simon – gooi ze dus niet door elkaar.

Aan het einde van dit artikel heb ik nog een aantal andere links geplaatst die ik gebruikt heb voor het uitvogelen hoe het e.e.a werkt.

Lazarus Pascal op een Raspberry Pi 2 Model B

  Let goed op: dit artikel is ALLEEN GESCHIKT VOOR DE RASPBERRY PI 2 Model B.

Ik zal elke stap toelichten tot het punt dat je zelf in Lazarus Pascal aan de slag kunt – Volg iedere stap zorgvuldig.

Na het schrijven van dit artikel, ben ik ter controle zelf nog een paar keer door iedere stap gegaan om er zeker van te zijn dat ze reproduceerbaar zijn. Volg de stappen dus zorgvuldig en aan het einde zul ook jij een werken FPC en Lazarus op jouw Raspberry Pi 2 hebben.

Heb ik een Raspberry Pi 2?

Ik moet eerlijk zeggen dat de naam van de Raspberry Pi 2 (ook bekend als de Raspberry Pi 2 Model B) verwarrend is, zeker omdat er ook een Raspberry Pi Model B bestaat, let dus bij aanschaf goed op …

Een aantal kenmerken voor de Raspberry Pi 2:

  • 4 USB aansluitingen (sommige oudere modellen hebben er maar 2)
  • Ethernet aansluiting
  • Geen composite video uitgang (gele tulp stekker bij oudere modellen)
  • Op de grote chip (bovenkant) staat “BroadCom BMC2836
  • Aan de achterkant zou ook een grote (geheugen) chip moeten zitten
  • Onder GPIO aansluiting staat zoiets als “Raspberry Pi 2 Model B

 

Je kunt in de shell ook cat /proc/cpuinfo  gebruiken.
De uitvoer zou dan 4 soortgelijke blokken tekst moeten laten zien (1 voor elke core), die lijken op dit:


processor   : 0
model name  : ARMv7 Processor rev 5 (v7l)
BogoMIPS    : 38.40
Features    : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part    : 0xc07
CPU revision    : 5
Raspberry Pi 2 Model B

Raspberry Pi 2 Model B

 

Wat hebben we nodig …?

Uiteraard hebben we een a Raspberry Pi 2 nodig.

We hebben ook een 16 Gb (of groter) micro SD kaart nodig (met Wheezy werkte het voor mij ook met een 8Gb kaartje).
Probeer een wat vlotter model te kiezen (minstens een Class 10 – zie ook SD-Card.org).

We hebben ook tijdelijk een HDMI capabele monitor of HDMI capabele TV nodig, en minstens een USB toetsenbord.
Een USB muis hebben we initieel niet nodig, maar zodra we met Lazarus aan de slag gaan is het een must – tenzij je remote toegang (VNC) gaat gebruiken natuurlijk.

We hebben een netwerk verbinding nodig voor Internet toegang, en hiervoor is alleen een Ethernet verbinding geschikt.
Wifi werkt gewoon van geen meter – een blijkbaar bekend probleem bij de Raspberry Pi.

Als je al dat bij elkaar hebt, tijd om de meest actuele versie van RaspBian image van de Raspberry Pi download pagina te downloaden. Ik heb dit proces met RaspBian Wheezy, en het is niet onmogelijk dat deze stappen ook voor andere Linux versies werkt.

In de nu volgende stappen installeren we een aantal benodigde packages, subversion, FPC en natuurlijk de Lazarus Pascal IDE.

  Merk op: Dit hele proces duurt ongeveer 2 uur!

Raspberry Pi voorbereiden voor Lazarus Pascal

We gaan nu de volgende stappen doen:

 

Stap 1 – Flash RaspBian op een SD-Kaart

Zoals eerder gezegd, we moeten eerst de RaspBian image (ZIPPED IMG bestand) downloaden van de Raspberry Pi download pagina.

Vervolgens moeten we deze naar een SD-kaart schrijven. Lees hiervoor het artikel “Raspberry Pi – Hoe zet ik een Besturingssysteem op een SD-kaartje” – het is erg eenvoudig. Merk op dat RaspBian in een ZIP bestand zit, en je moet die dus eerst unzippen, tenzij je v1.6 van ApplePi-Baker (alleen voor MacOS X) gebruikt.

Je kunt meteen naar de uitleg voor jouw besturingssysteem springen:

 

Stap 2 – Eerste boot Configuratie voor RaspBian

Na het flashen van de SD kaart, plaatsen we de kaart in de Raspberry Pi 2 en gaan we deze voor de eerste keer opstarten.
Sluit monitor of TV aan, en minstens een USB toetsenbord, voor je de adapter aansluit (zo’n beetje iedere 2 Ampere, of meer, Android lader zal werken).

Tijdens het starten zien we een hoop tekst voorbij komen – lekker negeren tot je RaspBian configuratie ziet.

 N.b : Zet booten naar de Desktop NIET aan! Het zou teveel geheugen in beslag nemen, welke we al hard genoeg nodig hebben voor het compileren van FPC/Lazarus.

In dit scherm gebruiken we de   Pijltje Omhoog en   Pijltje Omlaag toetsen om door de opties te gaan, waarbij we ENTER gebruiken om een keuze te maken.

De toetsen   Pijltje Naar Rechts en   Pijltje Naar Links gebruiken we om aan het einde van de rit de “Finish” optie te kiezen.

In deze stappen doen we:

  1. Filesysteem groter maken,
  2. Wachtwoord veranderen,
  3. Overklokken van de Raspberry Pi,
  4. SSH aanzetten, en
  5. Hestarten van de Raspberry Pi ….

 

 Groter maken van het Filesystem (vereist)

In deze stap vergroten we het filesysteem zodat de hele SD kaart gebruikt gaat worden.

Kies “1 Expand Filesystem” en druk op ENTER.

RaspBian - Expand FileSystem

RaspBian – Expand FileSystem

Na wat tekst op het scherm, verschijnt er een bevestiging waar we “OK” kiezen (druk op ENTER).

 Gebruiker wachtwoord wijzigen (optioneel)

Deze stap is optioneel …
De standaard gebruikersnaam is “pi” en het standaard wachtwoord is “raspberry” (zonder de aanhalingstekens natuurlijk).

Ik ben soms wat lui, dus ik heb mijn wachtwoord aanzienlijk eenvoudiger gemaakt.

Selecteer “2 Change User Password” en druk op ENTER.

RaspBian - Verander gebruikerswachtwoord

RaspBian – Verander gebruikerswachtwoord

Je wordt nu twee maal gevraagd om het nieuwe wachtwoord in te voeren, waarna een bevestiging verschijnt.

 Overklokken van de Raspberry Pi (optioneel)

Ik ben geen fan van overklokken, maar in dit geval wilde ik graag een uitzondering maken, niet alleen omdat het relatief veilig is, maar ook omdat we nogal wat rekenkracht gaan nodig hebben en dan tellen die extra MHz toch wel mee.

GEVAREN VAN OVERKLOKKEN!
 

Overklokken van een Raspberry Pi kan een lekkere snelheidswinst geven, maar ben je er wel van bewust dat overklokken de Raspberry Pi kan beschadigen, zeker op de langere duur. Bedenk ook dat de Raspberry Pi heter zal worden, dus een geschikte koeling bij hoge snelheden is geen fout idee.

Ik heb zelf goede ervaringen met de “Medium” overklok instelling, maar dat is natuurlijk geen garantie dat dit net zo goed werkt op jouw Raspberry Pi.

Overklokken doe je op eigen risico!

Kies de optie “7 Overclock” en druk weer op ENTER.

RaspBian - Overklokken

RaspBian – Overklokken

Na een waarschuwen m.b.t. overklokken, kunnen we een keuze maken hoe ver we willen overklokken.
De maximale “veilige” overklok instelling is volgens mij de “Medium” optie – ik zou zeker niet hoger gaan. Dat wil niet zeggen dat de hogere waarden niet werken overigens … maar alles op eigen risico!

RaspBian - Overklok Opties

RaspBian – Overklok Opties

 SSH toegang aanzetten (vereist)

Voor de volgende stappen moeten we SSH toegang hebben, omdat we in de SSH shell gaan werken.

Selecteer “8 Advanced Options” en druk weer op ENTER.

RaspBian - Advanced Options

RaspBian – Advanced Options

Kies in het volgende venster de optie “A4 SSH” en druk op ENTER.

RaspBian - SSH toegang aanzetten

RaspBian – SSH toegang aanzetten

Inhet daarop volgende venster kies je “Enable” om SSH aan te zetten.

 Afronding van de RaspBian configuratie (vereist)

Om alles af te sluiten, gebruik de   Pijltje naar Rechts of   Pijltje naar Links toets om “Finish” te kiezen waarna de Raspberry Pi herstart.

Stap 3 – Een paar kleine Tweaks

In deze stappen gaan we:

  1. Opstart regenboogje uitzetten,
  2. Swap File groter maken,
  3. Het IP adres van de Raspberry Pi  bepalen (voor SSH toegang).

 

Je kunt al deze stappen meteen in de command-line uitvoeren.
Mocht je het IP adres van jouw Raspberry Pi al weten, dan kun je deze stappen natuurlijk ook vanuit een SSH Shell uitvoeren. De stap “IP adres vinden” kun je dan natuurlijk overslaan.

 Verwijderen van de opstart regenboog (optioneel)

Ik ben er zelf niet kapot van, dus als je wilt kun je (net als ik) deze regenboog uitzetten.

Raspberry Pi - Uitzetten van de kleurenboog bij het opstarten

Raspberry Pi – Uitzetten van de kleurenboog bij het opstarten

In de Raspberry Pi kunnen we in de directory “/boot/” een bestand vinden dat “config.txt” heet, waarin we dat kunnen aanpassen. Het bestand kunnen we Nano bewerken:


sudo nano /boot/config.txt

Voeg aan het einde deze extra regel toe (voor meer opties, zie config.txt documentatie):


disable_splash=1

Na het toevoegen van deze extra regel, sluiten we Nano af met CTRL+X, gevolgd door drukken op de “y” toets, en de ENTER toets.

 Swap file groter maken (vereist)

Omdat de standaard swap file te klein kan worden, moeten we deze even een beetje groter maken, ook hiervoor gebruiken we Nano.


sudo nano /etc/dphys-swapfile

Je vindt hierin maar 1 regel, welke we veranderen naar:


CONF_SWAPSIZE=500

Ook hier weer afsluiten met CTRL+X en drukken op de “y” toets en gevolgd door een ENTER.

“can’t call the assembler, error -1” 

Als je in de toekomst de Lazarus IDE laat hercompileren, dan kun je tegen deze foutmelding aan lopen. Dit geeft in de meeste gevallen aan dat we geen geheugen meer beschikbaar hebben.

Het gebeurt zelden (ik was BRGAControls aan het installeren), maar voor die momenten kun je de swap file nog iets verder vergroten:

CONF_SWAPSIZE=1000

 

 IP adres van de Raspberry Pi bepalen voor SSH toegang

We hebben SSH toegang nodig een daarvoor moeten we het IP adres van de Raspberry Pi weten. Je zou de naam van de Raspberry Pi (standaard “raspberrypi”) kunnen proberen, maar dat werkte bij mij van geen meter.

  Voor je deze stap uitvoert, moet je natuurlijk wel de Ethernet aansluiten op jouw Raspberry Pi!

SSH nodig voor dit project …  

Alle volgende stappen gaan we in een SSH shell doen (tot het moment dat we Lazarus starten in Stap 7).

Het is van groot belang dat X (de Desktop) niet draait terwijl we aan het compileren en installeren zijn, anders lopen we te snel tegen de geheugen beperkingen aan.

Om het IP adres te vinden, typen we in de shell:


ifconfig

Waarbij je zoiets als dit zou moeten gaan zien:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
pi@raspberrypi ~ $ ifconfig
eth0      Link encap:Ethernet  HWaddr b8:27:eb:f6:5e:4d  
          inet addr:192.168.2.9  Bcast:192.168.2.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:545 errors:0 dropped:0 overruns:0 frame:0
          TX packets:98 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:34746 (33.9 KiB)  TX bytes:14520 (14.1 KiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:8 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:1104 (1.0 KiB)  TX bytes:1104 (1.0 KiB)

Als je naar de tweede regel kijkt, dan zie je daar “eth0” staan – dit is jouw ethernet aansluiting.
In de volgende regel (regel 3) zie je dan “inet addr:” staan, gevold door het IP adres van jouw Raspberry Pi – schrijf het op (in dit voorbeeld: 192.168.2.9).

Nu dat we het IP adres weten, kunnen we met onze favoriete SSH applicatie toegang tot de Raspberry Pi zoeken – we hebben de monitor (of TV) en toetsenbord even niet meer nodig omdat we alles nu op afstand kunnen doen.

Lees het korte artikel “Werken met SSH Clients en SSH verbindingen” om aan de slag te gaan. Je kunt ook meteen naar betreffende besturingssysteem springen:

 

Je kunt het ook met Google Chrome doen natuurlijk …

 Reboot de Raspberry Pi

Na het maken van de gewenste verandering, reboot de Raspberry Pi met:


sudo reboot

Stap 4 – De meest recente Free Pascal Compiler installeren

Voor we Lazarus kunnen compileren en installeren, hebben we de Free Pascal Compiler (FPC) nodig.
Maar hier komt de grap … om de meest actuele FPC te kunnen compileren hebben we een eerdere versie van FPC nodig – jawel, FPC wordt gecompileerd met FPC – volgens de Wiki heet dat Bootstrapping.

Ik zal je stap voor stap door dit debacle helpen.

Slechte suggestie… Maar het werkt…  

Ik heb Lazarus en FPC al op verschillende SD-Kaarten geïnstalleerd en ben tot een lullige conclusie gekomen.

Als ik alles voor de voetweg de stappen in het SSH venster kopieer en plak, dan werkt alles uitstekend. Maar zodra ik ga nadenken bij elke stap, dan neigt er steeds iets fout te gaan haha…

Ik hoor ervaren gebruikers al knarsetanden… en terecht!

Maar toch werkt deze “slechte” methode steeds opnieuw weer.

 Installeren van SubVersion (SVN)

Als eerste hebben we “subversion” (ook bekend asl SVN) nodig zodat we laatste versie van Free Pascal uit SVN kunnen ophalen.
Via de SSH shell, voer je nu de volgende commando’s uit. Druk op ENTER als bevestiging wanneer er vragen gesteld worden:


1
2
3
sudo su
apt-get update
apt-get install -y subversion

Dit gaat een Super User shell (su) openen, “apt-get” (een package manager) updaten, en subversion downloaden en installeren.

 Installeer FPC 2.6.4

We hebben een FPC versie om FPC te kunnen compileren, en gelukkig is er al een voorgebakken versie voor ARM beschikbaar.


1
2
3
4
5
mkdir /usr/local/fpc
cd /usr/local/fpc
wget http://sourceforge.net/projects/freepascal/files/Linux/2.6.4/fpc-2.6.4.arm-linux.tar
tar xvf fpc-2.6.4.arm-linux.tar
cd fpc-2.6.4.arm-linux

Pas Op: Gebruik de juiste “Install Prefix” 

Het is van groot belang dat in de volgende stap de [eerste] vraag

Install prefix (/usr or /usr/local) [/usr] :

beantwoord wordt met /usr/local, anders wordt het een zooitje en werkt het niet.

Voer nu het volgende commando uit. Let erop dat je de eerste vraag met “/usr/local” beantwoord. Alle andere vragen kun je beantwoorden door op ENTER te drukken.


1
./install.sh

Als dat klaar is kun je in de shell fpc  typen wat FPC start. Het antwoord van FPC begint met een versie nummer (2.6.4).

 Downloaden van de meest actuele FPC versie sources

In deze stap gaan we meest actuele FPC versie broncode (sources) downloaden uit de SVN. Dit duurt wel even, dus zoek maar vast een lekker bakje koffie op …


1
2
3
cd /usr/local/fpc
svn co http://svn.freepascal.org/svn/fpc/trunk source
cd source
 Compileer en Installeer de meest actuele FPC versie

Dit wordt een stap die veel tijd gaat kosten, vandaar dat we de Raspberry Pi willen overklokken.


1
2
3
make all OPT=-dFPC_ARMHF
make install OPT=-dFPC_ARMHF PREFIX=/usr/local
make install sourceinstall OPT=-dFPC_ARMHF PREFIX=/usr/local

Elke stap duurt even, en een enorme lijst met tekst berichten zullen er over het scherm voorbij flitsen – inclusief een zooi waarschuwingen die we lekker negeren. Heb geduld en wacht steeds tot een stap is afgerond voor je aan de volgende stap begint.

Als je fpc nu weer probeert nadat deze 3 stappen zijn afgerond, dan zul je zien dat we nog steeds met FPC 2.6.4 werken en dat was toch even niet de bedoeling. Het probleem ligt erin dat symbolische link van ppcarm (wat staat voor Portable Pascal Compiler ARM – zie deze Linux man pagina) naar de verkeerde binary wijst..

Om deze symbolische link te corrigeren moeten we eerste weten welke versie we net hebben gemaakt – tijdens het schrijven van dit artikel was dat 3.1.1. Tegen de tijd dat jij dit leest kan dat natuurlijk een andere versie zien.

Laten we eens kijken wat we hebben …


ls /usr/local/lib/fpc

Je zult na dit commando zoiets zien als dit:


1
2.6.4   3.1.1   lexyacc

In dit voorbeeld zien we dat we versie 2.6.4 en 3.1.1 (deze laatste kan dus voor jou anders zijn).
Onthoud dit nummer (3.1.1 in mijn geval) goed want dat hebben we in de volgende stap nodig.

In het tweede commando, vervang het nummer 3.1.1 door wat je bij jou hebt gezien (dat kan dus ook 3.1.1 zijn):


1
2
rm -f /usr/local/bin/ppcarm
ln -sf /usr/local/lib/fpc/3.1.1/ppcarm /usr/local/bin/ppcarm

We hebben net een symbolische link gemaakt en dat kunnen we als volgt controleren:


ls -l /usr/local/bin/ppcarm

Dit zou zoiets als dit moeten opleveren:


lrwxrwxrwx 1 root root 31 Apr 20 13:48 /usr/local/bin/ppcarm -> /usr/local/lib/fpc/3.1.1/ppcarm

Zie je hoet het ‘->’ wijst naar onze nieuwe compiler (/usr/local/lib/fpc/3.1.1/ppcarm)?
Als dit NIET het geval is, dan is er iets fout gegaan. Ga dan weer naar “Laten we eens kijken wat we hebben …” en probeer het nog eens.

Als je nu fpc  probeert dan zul je eindelijk de juiste FPC versie zien (in mijn voorbeeld: 3.1.1).

Stap 5 – Installeer de Lazarus Pascal IDE

 Wat Extra Packages Installeren

Voor we de Lazarus Pascal IDE kunnen bouwen, hebben we wat extra packages nodig – ook hier gebruiken we weer “apt-get” en bevestigen we installatie vragen door gewoon op ENTER te drukken.


1
2
apt-get update
apt-get install -y libx11-dev libgdk-pixbuf2.0-dev libcairo2-dev gir1.2-coglpango-1.0 libpangox-1.0-dev xorg-dev libgtk2.0-dev libpango1.0-dev
 Download de meest actuele Lazarus sources

Hier weer een vergelijkbaar verhaal zoals we dat bij FPC hebben gezien:


1
2
3
mkdir /usr/local/lazarus
cd /usr/local/lazarus
svn co http://svn.freepascal.org/svn/lazarus/trunk source
 Compileer en Installeer de meest actuele Lazarus Pascal IDE versie

Ook dit gaat weer even duren … misschien een goed moment om de Lazarus Wiki pagina “Lazarus with the Raspberry Pi” eens op ons gemak te gaan bestuderen. Vooral het GPIO onderdeel is interessant …

Daar gaan we dan, stap voor stap:


1
2
3
cd source
make all OPT=-dFPC_ARMHF
make install OPT=-dFPC_ARMHF PREFIX=/usr/local

Als dit niet eindigde met een paar geweldige foutmeldingen, dan heb je nu Lazarus IDE beschikbaar met de meest actuele Free Pascal Compiler.

Na compileren van Lazarus zul je een kopie van “lazarus” in de “/usr/local/share” directory zien.
De sources die we daarnet gebruikt hebben kunnen nu veilig verwijderd worden (ongeveer 1 Gb aan data):


1
rm -rf /usr/local/lazarus

 

Stap 6 – Aan de slag op de Desktop

Nu wordt het tijd dat we toegang gaan zoeken tot de Raspberry Pi desktop, zeg maar de windows omgeving (X).

Hieronder twee opties, je kunt er 1 kiezen of beiden.

 Optie 1 – Op afstand met VNCServer (optioneel)

Ik werk meestal vanaf mijn computer met de Raspberry Pi, d.m.v. VNC – in dit geval gebruiken we de beschrijving van de Raspberry Pi documentatie en gaan we TightVNC server gebruiken.

Als eerste moeten we TightVNC Server installeren:


1
2
apt-get update
apt-get install -y tightvncserver

Ook hier kan weer om installatie bevestiging gevraagd worden, … druk gewoon op ENTER.

Ik heb er zelf de voorkeur voor dat TightVNC Server automatisch opstart als de Raspberry Pi boot, dus moeten we aan de slag met init.d (de “autoexec” van Linux ), en ook hiervoor gebruiken we de Nano tekst editor weer:


nano /etc/init.d/vncboot

Nu dat Nano open staat, kopieer en plak de volgende tekst in Nano:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#!/bin/sh
### BEGIN INIT INFO
# Provides: vncboot
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start VNC Server at boot time
# Description: Start VNC Server at boot time.
### END INIT INFO
 
USER=root
HOME=/root

export USER HOME

case "$1" in
 start)
   echo "Starting VNC Server"
   #Insert your favoured settings for a VNC session
   /usr/bin/vncserver :0 -geometry 1280x800 -depth 16 -pixelformat rgb565
   ;;

 stop)
   echo "Stopping VNC Server"
   /usr/bin/vncserver -kill :0
   ;;

 *)
   echo "Usage: /etc/init.d/vncboot {start|stop}"
   exit 1
   ;;
esac

exit 0

Druk daarna weer op CTRL+X, de “y” toets en uiteindelijk de ENTER toets.

Uiteraard ben je vrij in het aanpassen van de resolutie.
Op mijn computer werk ik liever met b.v. 1440×900 (i.p.v. 1280×800), waardoor regel 21 er als volgt uit ziet:


21
/usr/bin/vncserver :0 -geometry 1440x900 -depth 16 -pixelformat rgb565

 

Nu nog even de rechten aanpassen zodat het uitgevoerd kan worden tijdens de boot:


1
2
3
cd /etc/init.d
chmod 755 vncboot
update-rc.d vncboot defaults

(De Raspberry Pi documentatie stelt voor om update-rc.d /etc/init.d/vncboot defaults  te gebruiken, maar dat werkte dus niet voor mij)

Op dit moment kunt je het beste TightVNC Server even starten met:


/etc/init.d/vncboot start

Als TightVNC Server voor het eerst start, vraagt het om een wachtwoord voor toegang, welke je moet bevestigen. Een wachtwoord voor alleen-lezen kan ook worden ingevoerd maar dat hoeft net perse – ik heb er geen toepassing voor, dus ik heb netjes met “n” beantwoord.

Dit is een moment waar je misschien de Raspberry Pi even kunt rebooten om zeker te zijn dat TightVNC Server inderdaad tijden de boot start (in een Super User shell kun je dat gewoon met “reboot” doen). Uiteraard kun je dit ook later doen.

Oh en voor ik vergeet, je kunt TightVNC Server stoppen met:


/etc/init.d/vncboot stop
 Optie 2 – Boot Raspberry Pi direct naar de Desktop (optioneel)

Besturing of afstand (VNC) is natuurlijk leuk, maar direct besturen met een monitor, toetsenbord en muis kan natuurlijk ook.

Hiervoor gaan we RaspBian configuratie tool gebruiken, welke we helemaal in het begin van het artikel ook al gebruikt hebben (zie ook de Raspberry Pi Documentatie voor meer details):


sudo raspi-config

Selecteer de optie “3 Enable Boot to Desktop/Scratch” waar we kunnen instellen of de Raspberry Pi start met de console (shell/terminal), de grafische windows-achtige werk omgeving (Desktop) of scratch (prul ding voor de kids vermoed ik).

Kies nu “Desktop Log in as user ‘pi’ at the graphical desktop” en selecteer “Finish” om de veranderingen op te slaan.

De Raspberry Pi zal vanaf nu meteen naar de Desktop booten.

Step 7 – Lazarus voor de eerste keer starten

Hier kunnen we dus kiezen of we de Raspberry Pi op afstand willen bedienen, of direct via toetsenbord en muis op de Raspberry Pi.

 VNC Access

Als je Remote Access gebruikt (besturing op afstand met TightVNC), dan zul je eerst een VNC Client te pakken moeten krijgen – en VNC Clients bestaan voor zo’n beetje iedere besturingssysteem … zelfs als het geen zin lijkt te hebben (b.v. Android or iOS).

RealVNC heeft VNC clients beschikbaar voor Windows, Linux en MacOS X, welke je hier kunt downloaden.

VNC Viewer alternatieven :

  • MacOS X gebruikers kunnen “Screen Sharing” gebruiken, het zit standaard bij MacOS X,
  • Windows gebruikers kunnen ook bij “TightVNC” terecht,
  • Ubuntu gebruikers kunnen de ingebouwde “Remote Desktop Viewer” gebruiken.

 

 Start Lazarus

Het starten van Lazarus is verassend simpel. Klik op de grote “Menu” knop links boven in, en kijk onder “Programming” waar we “Lazarus” vinden – geweldig hè?

Start Lazarus

Start Lazarus

 Lazarus vertellen waar de FPC sources staan

Echter, bij de eerste start zien we een probleem,… Lazarus kan de sources van FPC niet vinden …

Gelukkig hoeven we dat maar 1x in te stellen.

RaspBian - Lazarus kan de FPC sources niet vinden

RaspBian – Lazarus kan de FPC sources niet vinden

Vul hier het pad /usr/local/fpc/source  in en klik op “Start IDE” en dat is alles …

Als ik net Lazarus heb geïnstalleerd doe ik altijd even een proef rondje. Gewoon een kop of de Form gooien, even iets bij de OnClick event doen en starten maar.

Merk overigens wel op dat compileren van een programma aanzienlijk trager gaat dan op een desktop – dus je met wel een klein beetje geduld hebben.

Ik heb overigens ook de debugger getest, met break points enzo, en ook dat werkt uitstekend.

Raspberry Pi 2 - Lazarus IDE loopt als een zonnetje

Raspberry Pi 2 – Lazarus IDE loopt als een zonnetje

 Tip: Reclaim wat extra disk ruimte

RaspBian is standard al best netjes, zeker in vergelijk met bepaalde ander distro’s. Maar het kan beter.

Met onderstaande opdrachten win je bijna een Gb terug.

Ik ga er van uit dat je nog steeds jouw SSH hebt open staan, met een Super User shell. Mocht dit niet het geval zijn, open dan een shell of een SSH shell en type “sudo su”.

In de onderstaande opdrachten verwijderen we wat overbodige files (oude fpc tar file, wat python games, en log files) en een aantal packages die niet echt nodig zijn zoals een aantal andere games, Wolfram, Scratch, Dillo, GPicView, etc.
Vervolgens laten we “apt-get” de zaak schoonmaken.

 Mocht je nog wel een toepassing voor SubVersion (SVN) hebben, b.v. voor een nieuwere FPC or Lazarus in de toekomst, dan moet je “subversion” verwijderen uit de vijfde regel.


1
2
3
4
5
6
7
rm /usr/local/fpc/fpc-2.6.4.arm-linux.tar
rm -R /home/pi/python_games
cd /var/log/
sudo rm `find . -type f`
apt-get -y purge wolfram-engine scratch minecraft-pi sonic-pi dillo gpicview penguinspuzzle subversion
apt-get -y autoremove
apt-get -y clean

 

Aanvullende Informatie

Donatie Opties


Donaties worden zeer gewaardeerd, maar zijn zeker niet vereist. Donaties worden gebruikt voor het dekken van kosten voor web-hosting en project materialen, en eventueel voor een drankje of een snack. Voor wie al gedoneerd heeft: Hartelijk dank! Het is werkelijk geweldig om te zien dat men onze artikelen en applicaties waardeert.

Reacties


Er zijn 23 reacties welke je hieronder kunt lezen.
Je kunt jouw eigen opmerkingen plaatsen m.b.v. dit formulier, of een reactie op een opmerking plaatsen door op de "Reageer" knop te klikken.

  • 18 mei 2015 - 18:18 - Ruud Koortens Reactie Link

    Lazarus is op de standaard manier (apt-get install lazarus) zonder problemen op mijn Rasberry Pi 2 B met succes uitgevoerd, de Pi heb ik een paar dagen terug aangeschaft, Rasbian via NOOBS op een 16 Gb grote schijf gezet. Tot zo ver geen problemen tegen gekomen, als Delphi adept vanaf versie 1 ben ik blij om deze IDE op de Raspberry te kunnen gaan gebruiken.

    Beantwoorden

    Ruud Koortens

    • 19 mei 2015 - 13:45 - hans - Auteur: Reactie Link

      Hallo Ruud!

      Mooi om te horen dat het je met apt-get is gelukt, ik (en anderen) hebben dat een aantal keer geprobeerd, maar het bleef falen.
      Daarnaast is dit wel een oude versie van Lazarus.

      Uiteraard is het mogelijk dat de repository een update heeft gehad. Kun je eens kijken welke Lazarus versie je nu op jouw Raspberry Pi hebt?
      (Start Lazarus -> Help -> About)

      Het zou namelijk erg goed nieuws zijn als dit een nieuwere versie is (b.v. 1.4.0) .

      Beantwoorden

      hans

  • 5 jul 2015 - 01:42 - Pieter Reactie Link

    is daar dalk `n NOOBS + fpc + Lazarus sc card Image beskikbaar vir download?

    Dit sal baie help!

    Beantwoorden

    Pieter

    • 5 jul 2015 - 08:41 - hans - Auteur: Reactie Link

      Hi Pieter!

      Ik denk niet dat een NOOBS (of Raspbian) + FPC + Lazarus als SD card IMG beschikbaar zal komen.

      Wat wel een optie kan worden is dat de packages voor Raspberry Pi 1 en 2 gebouwd en/of geupdate worden zodat men meteen met apt-get de juiste versie kan downloaden, en/of eventueel de optie om ze als .deb bestand te downloaden.

      Beantwoorden

      hans

      • 5 jul 2015 - 12:43 - Pieter Reactie Link

        Dankie Hans,

        ek sou graag sien dat een van ons `n vooraf-opgestelde Noobs installasie met FPC en Lazarus sal zip sodat dit bloot op `n nuwe sc kaart gecopy kan word en daar! Dit sal onmiddelik werk sonder al die gesukkel. Of is ek verkeerd?

        Die download stap van die .tar file in die volgende instruksie werk nie:

        wget http://sourceforge.net/projects/freepascal/files/Linux/2.6.4/fpc-2.6.4.arm-linux.tar

        Die rede is dat sourgeforce `n advertensie wys en die download na 5 sekondes geselekteer moet word. Ek het dit manually afgelaai op `n memory stick en deur StartX in die fpc folder oorgecopy.

        Beantwoorden

        Pieter

      • 5 jul 2015 - 12:57 - hans - Auteur: Reactie Link

        Hi Pieter,

        je hebt zeker een goed punt! Maar …

        – Ik vermoed dat er maar een beperkt aantal Raspberry Pi bezitters ook Lazarus gaan/willen gebruiken.
        – Iemand moet de image steeds bij houden zodat het up-to-date blijft (dus Raspbian, Lazarus en FPC updates verwerken).

        In tegenstelling tot een correcte apt-get versie. Wie lazarus gebruikt weet ook snel hoe je apt-get gebruikt en met 3 commando’s staat het dan op jouw systeem geinstalleerd. Met .deb files zou men (theoretisch) alles in 1 file kunnen proppen. Maar ook daar weer: iemand moet de files up to date houden.

        In de Engelstalige versie van dat artikel zijn er al mensen mee aan het rommelen – maar of er wat van terecht komt weet ik niet.

        Dit zou eigenlijk op apt-get niveau door het Lazarus?FPC team moeten bijgehouden worden (net zoals ze dat doen voor Windows, intel Linux en MacOS X).

        Uit eigen ervaring weet ik dat ik zelf daar niet zo goed in ben haha … 

        Beantwoorden

        hans

      • 5 jul 2015 - 12:58 - hans - Auteur: Reactie Link

        Zie ook de opmerking: Hoe maak je een Debian Package (Engelstalige versie van dit artikel).

        Beantwoorden

        hans

      • 5 jul 2015 - 13:01 - hans - Auteur: Reactie Link

        De wget link werkte voor mij wel overigens. Een direct link zou misschien beter werken:

        http://downloads.sourceforge.net/project/freepascal/Linux/2.6.4/fpc-2.6.4.arm-linux.tar?r=&ts=1436093493&use_mirror=skylink

        Op deze pagina kun je proberen bij te houden wat de meest actuele versie is:

        https://sourceforge.net/projects/freepascal/files/Linux/

        Erg handig is het inderdaad niet …

        Beantwoorden

        hans

  • 7 jul 2015 - 19:05 - Pieter Reactie Link

    Gordon gooi dit in Dropbox – 3 Gb ha ha

    Aflaai nog nie suksesvol – bly errors kry in zip file

    Beantwoorden

    Pieter

    • 8 jul 2015 - 08:17 - Pieter Reactie Link

      Haai Hans,

      so Gordon het vir my `n 7zip file op dropbox gegooi. Afgelaai (3Gb) en unzip na 15 Gb img file!

      Met ‘Win32 Disk Imager’ op `n 16Gb sd card gelaai, op Raspberry PI 2 ingesit en dit werk onmiddelik!

      Lazarus getoets, alles werk!

      Dankie Gordon!

      Beantwoorden

      Pieter

    • 8 jul 2015 - 10:35 - hans - Auteur: Reactie Link

      3Gb … best groot bestand om even te downloaden.
      Doet Gordon het ook bijhouden (dus updaten), of was dit maar 1x …?

      Beantwoorden

      hans

      • 8 jul 2015 - 16:17 - Pieter Reactie Link

        Gordon het my eenmalig gehelp met die image file. Ek dink as jy by hul facebook groep aansluit, dan sal hy en ander die opgraderings ook beskikbaar maak.

        Beantwoorden

        Pieter

      • 9 jul 2015 - 10:00 - hans - Auteur: Reactie Link

        Hi Pieter,

        ik dacht al zoiets ja. Het kost best veel tijd en moeite om een image up-to-date te houden.
        Ik hoop binnenkort een .deb beschikbaar te kunnen maken met FPC, FPC Sources en Lazarus zodat installatie makkelijk gaat.

        Beantwoorden

        hans

  • 24 jul 2016 - 22:57 - Gerhard Reactie Link

    Hallo T4A,

    Ik probeer het allemaal aan de praat te krijgen, maar bij het onderdeel Compileer en Installeer de meest actuele FPC versie, gaat het bij mij fout bij het commando
    make all OPT=-dFPC_ARMHF

    Ik krijg terug:
    Makefile:2887: *** The only supported starting compiler version is 3.0.0. You are trying to build with 2.6.4..  Gestopt.

    Ik gebruik Rasbian Jessie op een RPi2 Model B v1.1

    Beantwoorden

    Gerhard

    • 25 jul 2016 - 10:04 - hans - Auteur: Reactie Link

      Hi Gerhard,

      het lijkt erop dat de meest recente versie van Lazarus, FPC 3.0.0 nodig heeft, maar daar lijkt geen binary voor te bestaan.
      Zie ook de opmerkingen in de Engelse versie van het artikel (volg deze link).

      Beantwoorden

      hans

  • 12 nov 2016 - 13:10 - Ray Reactie Link

    Hi guys.

    Ik heb een Raspberry Pi3 met de laatste versie van Raspbian (pixel desktop) en heb zonder moeite hier versie Lazarus (1.2.4) op geïnstalleerd.

    Een simpele form met een knop erop en een label (bijv.) werkt goed.

    Krijg het nu alleen nog niet voor elkaar om de gpio poorten aan te sturen. (hardware, led met weerstend is goed aan te sturen in de terminal met een simpel Python script)

    Hoop dus eigenlijk meer info over gpio poorten aansturen te vinden met Lazarus.

    Iemand een idee?

    Beantwoorden

    Ray

    • 14 nov 2016 - 17:01 - hans - Auteur: Reactie Link

      Hoi Ray,

      Het aansturen van de GPIO pinnen is wat lastig, tot je het juste basis adres hebt gevonden – maar ik moet bekennen dat ik dat zelf ook nog niet gebruikt heb (tijdsgebrek). Voor de Pi en de Pi2 was dit al een iets waar je op moest letten. Ik kan me voorstellen dat hetzelfde voor de Pi3 geldt.

      (zie deze pagina, en deze code, en dit is ook een goede bron van informatie)

      Beantwoorden

      hans

  • 12 nov 2016 - 13:13 - Ray Reactie Link

    Oeps.

    Dat is raar! Schreef hier net een klein stukje over de Pi3 en Lazarus maar deed dat dus voor niets?

    Vreemd en heel erg jammer.

    Beantwoorden

    Ray

    • 14 nov 2016 - 16:53 - hans - Auteur: Reactie Link

      Hoi Ray,

      Opmerkingen die hier geplaatst worden, voor de eerste keer voor een gegeven gebruiker, moet ik (beheerder) goedkeuren voor ze zichtbaar worden.
      Jouw post is dus wel doorgekomen 

      Beantwoorden

      hans



Jouw Reactie ...

Vriendelijk verzoek om hier geen lange teksten te plaatsen (zoals source codes, log files of config files). Gebruik daarvoor het Forum.

Deel met anderen:
*
*
Houd me op de hoogte van nieuwe reacties (email).
       Gebruik jouw RSS reader om reacties te volgen.


Tweaking4All uses the free Gravatar service for Avatar display.
Tweaking4All zal nooit jouw email adres met anderen delen.