Praktischer Einstieg in Linux und Buildroot

Ähnliche Dokumente
Anleitung: DV4Mini auf einem Raspberry Pi

Embedded So)ware. Einrichten der Arbeitsumgebung

VWA Rhein-Neckar Dipl.-Ing. Thomas Kloepfer. Kommunikation I (Internet) Übung 1 Telnet und FTP

Hello World in Java. Der Weg zum ersten Java-Programm

Installation Anleitung für JTheseus und MS SQL Server 2000

webpdf für VMware SoftVision Development GmbH Kurfürstenstraße Fulda, Deutschland Tel.: +49 (0) Fax: +49 (0)

OpenSSH installieren (Windows) Was ist OpenSSH?

time project Die clevere Zeitbuchhaltung

Prozedurale Programmierung (PPG)

Installation Messerli MySQL auf MAC OS X

Netzwerkinstallation der Lernwerkstatt 7 in der Linux-Musterlösung Bielefeld

SCI Linux Einführung

Zugriff zum Datenaustausch per scponly

SX3 PC Software rev. 0.99c

flexx-gui SDK Anleitung Installations- und Bedienungsanleitung

LaFonera Erweiterung - Erstinstallation -

WinSCP Zugriff auf Daten des Uni-Netzwerkes

SelfLinux Der Linux-Kernel

Übungen zur Vorlesung. Betriebssysteme

IMBA. Installationsanleitung. SQL Server-Datenbankadapter. Das Instrument für den fähigkeitsgerechten Personaleinsatz

snom Auto-Provisioning

Bibliographix installieren

Installation censhare Client. Inhaltsverzeichnis

Einführung in die Informatik 1 - Javainstallationsanleitung

Switching. Übung 2 System Management. 2.1 Szenario

Übungsblatt A zu Linux

Objektorientierte Programmierung OOP Programmieren mit Java

bnsyncservice Installation und Konfiguration bnnetserverdienst Voraussetzungen: KWP Informationssysteme GmbH Technische Dokumentation

GSM 500: Upgrade Guide

Eprog Starthilfe. 5. Oktober Einleitung 2

Update Messerli MySQL auf Linux

1 Linux-Befehlsübersicht

_) / \ /_. The fun has just begun... David Meier

EINRICHTUNG DER PORTMAPPERDIENSTE VON

Erste Schritte zum lauffähigen Java Programm

LAMP HowTo (Linux Apache MySQL PHP) Zugriff per SSH auf den Server. Servername: gyko.no-ip.info (Lokal: )

FastViewer Remote Edition 2.X

Material zum Grundlagenpraktikum ITS. eine kleine Linux-Befehlsreferenz. Stand: Oktober 2007 zusammengestellt von: Cornelia Menzel Version 1.

KURZANLEITUNG DUPLICITY MIT CLOUD OBJECT STORAGE

Quickstart Guide. azeti MAILProtect VAA Die virtuelle Firewall mit Mailschutzfaktor 100!

Hochschule Darmstadt - Fachbereich Informatik - Fachschaft des Fachbereiches

Computer Algebra Plan der Vorlesung. erstes Drittel: linux, emacs, L A TEX zweites Drittel: Sage als Taschenrechner letztes Drittel: Python für Sage

H. Tornsdorf М. Tornsdorf. Das große Buch zu

Installation Messerli MySQL auf Linux

Mai Deutsche Übersetzung von Marion Göbel verfaßt mit epsilonwriter

Anleitung: Webspace-Einrichtung

Wie man eigene Programme erstellt

Multimedia im Netz. Wintersemester 2011/12. Übung 10. Betreuer: Verantwortlicher Professor: Sebastian Löhmann. Prof. Dr.

CMS.R. Bedienungsanleitung. Modul Cron. Copyright CMS.R Revision 1

Installationsanleitung Netzwerklizenzen Vectorworks 2014

Kurzanleitung der IP Kamera

SSH Authentifizierung über Public Key

Tensei-Data Demoleitfaden. Jens Grassel, Andre Schütz

Fernwartung des Schulservers übers Internet Anleitung ssh - putty winscp - für Arktur v bzw. v

Rangee Firmware Update. Inhaltsverzeichnis

mehr funktionen, mehr e-commerce:

1 Chipkartenleser Installation

KURZANLEITUNG CLOUD BLOCK STORAGE

StickSecurity Home Edition 2006

Installationsanleitung Linbo / Windows 7

Postgresql. Michael Dienert. 10. Dezember Installationsort der Programme... 1

Dokument Information. Hilfe für. ArmorToken. Hilfe für ArmorToken Seite 1 von 8

Technical Note 0603 ewon

Voraussetzungen und Installation

Manuelles Update eines DV4Mini-Raspberry Pis

TimeMachine. Installation und Konfiguration. Version 1.4. Stand Dokument: install.odt. Berger EDV Service Tulbeckstr.

Virtualisierung mit Virtualbox

Informatik 1 Tutorial

TSM disaster-recovery unter Windows 8 / Windows Server 2012

Benutzerverwaltung mit Zugriffsrechteverwaltung (optional)

OP-LOG

Anleitung Gen2VDR Installationsanleitung für REYCOM. Gen2VDR Installationsanleitung für REYCOM

Verschlüsseln von USB-Sticks durch Installation und Einrichtung von TrueCrypt

Handbuch TweetMeetsMage

Zeiterfassung-Konnektor Handbuch

Anleitung für die Firmware-Aktualisierung

So sieht die momentane fertige Ordnerstruktur in der Navigationsansicht des Windows-Explorers aus

Installationsanleitung CFM TWAIN 7.00 STI

Talk2M Konfiguration für ewon DSL/LAN - Modelle

Elexis Installationsmanual / Updateanleitung. V1.01 Stand: 11. September 2013

Kurzanweisung der Jovision IP Kamera

Der Raspberry Pi als Mediacenter

Installationsanleitung Tivoli Storage Manager für Mac OS

4 l Springer Vieweg. Keine Angst. vor Linux/Unix. Unix-Anwender. Ein Lehrbuch für Linux- und. Christine Wolfinger

Schritt für Schritt vom Download zur Installation der Software

Einrichtung des NVS Calender-Google-Sync-Servers. Installation des NVS Calender-Google-Sync Servers (Bei Neuinstallation)

- Technische Beschreibungen MIDOSAXML INSTALLATIONSANLEITUNG... 1

Praktikum 2: Computergrundlagen

AristaFlow BPM Suit Installation

MEMO_MINUTES. Update der grandma2 via USB. Paderborn, Kontakt:

Adminer: Installationsanleitung

Installationsanleitung Microsoft Dynamics NAV Classic Datenbank-Server

GameGrid mit BlueJ Seite 1

PaedIT Unternehmergesellschaft (haftungsbeschränkt) DNSControl GUI: Installation und Konfiguration

C A L D E R A G R A P H I C S. Wie geht das? Benutzen des Backup Verfahrens

Linux-Einführung WS 2010/2011

Duonix Service Software Bedienungsanleitung. Bitte beachten Sie folgende Hinweise vor der Inbetriebnahmen der Service Software.

GDI-Knoppix Erste Schritte. Werner Siedenburg werner.siedenburg@student.fh-nuernberg.de Stand:

Pictomat. Embedded Machine Vision. Datenaustausch über FTP-Server IBN INGENIEURBÜRO BERND NEUMANN GMBH. Eichendorffstraße 23 D Kevelaer

Anwenderhandbuch. xdomea-viewer

Transkript:

Praktischer Einstieg in Linux und Buildroot Dieses Aufgabenblatt soll Ihnen helfen, sich im Projekt mit Linux zurechtzufinden. Es enthält daher verschiedene Aufgaben, um Linux kennen zu lernen und eine kleine Firmware für den Raspberry Pi zu bauen. Nachdem Sie das Blatt bearbeitet haben können Sie Dateien und Ordner mit der Konsole verwalten Befehle in der Konsole ausführen Einfache Shell-Skripte schreiben Mit Buildroot eine Firmware für den Raspberry Pi bauen Eine SSH-Verbindung zum Raspberry Pi aufbauen Die Grafikausgabe das Raspberry Pi auf Ihren Laptop umleiten Selbstgeschriebene Programme in die Firmware integrieren Benötigte Materialien Um das Aufgabenblatt durchzuarbeiten benötigen Sie folgende Hardware: Einen Raspberry Pi mit SD-Karte Zugriff auf einen Bildschirm bzw. den Beamer im Vorlesungsraum Einen Laptop mit VirtualBox, SSH und ggf. einem VNC-Viewer Ein Netzwerkkabel zur Verbindung der beiden Rechner Außerdem benötigen Sie folgende Unterlagen: Das Skript Linux und Buildroot 1 Linux Command Reference: Learning the Shell Aufgabe 1: Vorbereitung Für die Bearbeitung der folgenden Aufgaben benötigen Sie die am Anfang des Projekts zur Verfügung gestellte Linux VM. Falls diese nicht mehr auf Ihrem Laptop eingerichtet ist, folgen Sie der Anleitung aus dem Vorlesungsskript: Kapitel 1.1: Einrichten von VirtualBox Kapitel 1.2: SSH-Verbindung zur virtuellen Maschine herstellen Aufgabe 2: Erste Schritte mit Linux a) Ihre ersten Gehversuche mit Linux können Sie auf einem beliebigen Linux-System machen. Der Einfachheit halber verwenden wir hierfür die Linux VM, mit wir später auch die Firmware Images bauen werden. Starten Sie daher die VM und melden Sie sich mit SSH an. Anschließend führen Sie folgende Aktionen aus. Das Kapitel 1.3 Erste Schritte mit Linux und der Konsole hilft Ihnen dabei: 1. Finden Sie den exakten Pfad des aktuellen Arbeitsverzeichnisses heraus. 1 Auch wenn es immer noch nicht fertig ist :-) Seite 1 von 7

2. Wechseln Sie in das Verzeichnis ~/buildroot/configs. 3. Lassen Sie sich alle Dateien im aktuellen Verzeichnis anzeigen. 4. Lassen Sie sich alle Dateien, in denen das Wort raspberrypi vorkommt, anzeigen. 5. Wechseln Sie zurück in das Home-Verzeichnis. 6. Finden Sie heraus, welchen Dateityp die Datei install.sh hat. 7. Geben Sie den Inhalt der Datei install.sh auf der Konsole aus (zwei Möglichkeiten): Befehl 1: Befehl 2: b) Herzlichen Glückwunsch. Sie wissen nun, wie man sich in der Konsole umschauen kann. Als nächstes bearbeiten wir ein paar Dateien. Hierfür wechseln Sie in das Verzeichnis ~/shared und führen darin die folgenden Aktionen aus: 1. Legen Sie ein Verzeichnis namens beispiel1 an: 2. Legen Sie die Verzeichniskette tutorial/first-steps/directories an (ein Befehl): 3. Legen Sie eine leere Datei namens beispiel1/readme.txt an: 4. Legen Sie eine Datei namens hallo.txt und dem Inhalt Linux ist klasse! an: 5. Hängen Sie eine weitere Textzeile an die Datei hallo.txt an (ohne Editor): Seite 2 von 7

6. Benennen Sie die Datei hallo.txt in linux.txt um: 7. Benennen Sie das Verzeichnis beispiel1 und beispiel2 um: 8. Kopieren Sie alle *.txt-dateien in das Verzeichnis beispiel2: 9. Löschen Sie das Verzeichnis tutorial mit all seinen Unterverzeichnissen: c) Als nächstes bearbeiten wir ein paar Dateien. Dies ist unter Linux besonders wichtig, da fast alle Einstellungen in Textdateien hinterlegt sind. Kapitel 1.4 Textdateien bearbeiten auf der Konsole verrät Ihnen, wie das geht. 1. Öffnen Sie die Datei ~/install.sh in einem Texteditor. 2. Suchen Sie nach allen Vorkommen des Worts buildroot in der Datei: 3. Beenden Sie den Editor ohne zu sichern: 4. Öffnen Sie nun die Datei ~/shared/beispiel2/linux.txt aus der vorherigen Aufgabe: 5. Schreiben Sie mehrere Zeilen in die Datei und speichern Sie, ohne den Editor zu verlassen: 6. Schneiden Sie die ersten drei Zielen aus und sichern Sie diese in der Zwischenablage: 7. Fügen Sie die eben ausgeschnittenen Zeilen am Ende der Datei wieder ein: 8. Beenden Sie den Editor: Seite 3 von 7

d) Weiter mit Kapitel 1.3 wollen wir zunächst aber ein paar Programme ausführen und uns anschauen, wie man laufende Programme überwachen kann. Immer noch im Verzeichnis ~/shared führen Sie folgende Aktionen aus: 1. Schreiben Sie den Inhalt des aktuellen Verzeichnisses in die Datei inhalt.txt: 2. Starten Sie den Befehl less inhalt.txt im Hintergrund: 3. Holen Sie less wieder in den Vordergrund: 4. Starten Sie man man im Hintergrund: 5. Beenden Sie man, indem Sie SIGTERM an den Prozess schicken: 6. Lassen Sie sich alle vom aktuellen Benutzer gestarteten Programm anzeigen: 7. Lassen Sie sich alle aktuell laufenden Programme anzeigen (zwei Möglichkeiten): Befehl 1: Befehl 2: 8. Suchen Sie nach der Prozess ID des ssh-dienstes: e) Zum Abschluss unserer kleinen Rundumschau schreiben Sie ein Skript, das ein Auswahlmenü zur Automatisierung wichtiger Aufgaben anzeigt. buildroot@debian:~$./menu.sh WICHTIGE AUFGABEN [1] Buildroot initialisieren [2] Ein neues Buildroot-Projekt starten [4] sdcard.img nach ~/shared kopieren [E] Ende Ihre Auswahl: _ Je Menüpunkt soll eine eigene Funktion aufgerufen werden, welche die eigentlich auszuführenden Befehle enthält. Folgende Befehle sollen die Funktionen enthalten: Seite 4 von 7

# Buildroot initialisieren cd ~/buildroot make BR2_EXTERNAL=../custom O=../make help > /dev/null cd.. # Ein neues Buildroot-Projekt starten cd ~/make make dhbw_minimal_defconfig # sdcard.imag nach ~/shared kopieren cd ~/make/images/sdcard.img ~/shared Aufgabe 3: Unsere erste eigene Firmware Nachdem Sie sich soweit mit Linux vertraut gemacht haben, können Sie sich nun an Buildroot heranwagen und ihre erste Firmware für den Raspberry Pi bauen. Die hierfür benötigten Schritte sind im Skript in Kapitel 2 ausführlich beschrieben. Die wichtigsten Kapitel für den Einstieg sind dabei Kapitel 2.1 Wir erkunden Buildroot und Kapitel 2.4 Hallo Welt: Unsere erste Firmware auf dem Raspberry Pi. a) Führen Sie die am Anfang von Kapitel 2.1 beschriebenen Befehle aus, um Buildroot zu initialisieren. Anschließend lassen Sie sich eine Liste der vorhandenen Standard- bzw. Vorlagekonfigurationen anzeigen. b) Falls noch nicht geschehen, laden Sie die Vorlagekonfiguration dhbw_minimal_defconfig, um ein neues Projekt für Raspberry Pi zu starten und erkunden Sie danach ein wenig das Buildroot-Konfigurationsmenü. Finden Sie heraus, wie Sie nodejs in die Firmware aufnehmen können? c) Verlassen Sie das Konfigurationsmenü, ohne Ihre Änderungen zu sichern. Starten Sie danach die Erstellung der Firmware und warten Sie, bis der Vorgang fehlerfrei durchgelaufen ist. d) Folgen Sie nun der Anleitung aus Kapitel 2.4, um das eben erstelle Firmware Image auf die SD- Karte zu schreiben. e) Zum Schluss schließen Sie den Raspberry Pi an den Beamer oder einen freien Bildschirm an und fahren ihn hoch. Melden Sie sich mit den in Kapitel 2.4 genannten Zugangsdaten an und erkunden Sie das Dateisystem. Anschließend fahren Sie den Raspberry Pi wieder herunter. Aufgabe 4: Fernzugriff auf den Raspberry Pi In der Vorlagekonfiguration ist bereits ein SSH-Server enthalten, so dass Sie sich auch remote auf dem Raspberry Pi einloggen können. Somit können Sie den Raspberry Pi prinzipiell auch ohne Bildschirm, Tastatur und Maus bedienen, was an der DHBW natürlich sehr sinnvoll ist. Allerdings können Sie auf diese Weise nur Kommandozeilenprogramme ausführen. Wenn Ihr Projekt keine grafische Ausgabe auf einem Bildschirm vorsieht, genügt dies bereits. Andernfalls werden wir in der nächsten Aufgabe einen VNC-Server integrieren, so dass Sie die gesamte Grafikausgabe auf Ihren Laptop umleiten können. Im Skript befinden wir uns momentan aber noch im Kapitel 2.5 SSH- Login am Raspberry Pi. a) Verbinden Sie den Raspberry Pi über ein Netzwerkkabel mit Ihrem Laptop. Die beiden Rechner teilen sich dann ein Ad Hoc-Netzwerk, das Sie auf Ihrem Laptop jedoch erst noch konfigurieren müssen. Die IP-Adresse des Raspberry Pi lautet 192.168.99.99. Richten Sie auf Ihrem Laptop daher ein Kabelnetzwerk mit folgenden Daten ein. Netzwerkadresse: 192.168.99.0/24 Eigene IP-Adresse 192.168.99.xxx (frei wählbar) Seite 5 von 7

Anleitungen hierzu finden Sie im Internet, wenn Sie nach How to Assign a Static IP Adress suchen. b) Schalten Sie den Raspberry Pi ein und prüfen Sie, ob er auf ping-anfragen reagiert. Hierfür geben Sie auf Ihrem Laptop folgenden Befehl ein 2 : dennis@metropolis:~/make$ ping 192.168.99.99 PING metropolis.lan (192.168.1.100) 56(84) bytes of data. 64 bytes from raspberrypi.lan (192.168.99.99): icmp_seq=1 ttl=63 time=0.180 ms 64 bytes from raspberrypi.lan (192.168.99.99): icmp_seq=2 ttl=63 time=0.334 ms 64 bytes from raspberrypi.lan (192.168.99.99): icmp_seq=3 ttl=63 time=0.272 ms 64 bytes from raspberrypi.lan (192.168.99.99): icmp_seq=4 ttl=63 time=0.292 ms c) Stellen Sie nun eine SSH-Verbindung zum Raspberry Pi her. Hierfür können Sie entweder den SSH-Client auf Ihrem Laptop oder die Linux VM verwenden. Innerhalb der Linux VM lautet der Befehl wie folgt: $ ssh 192.168.99.99 Sollte an dieser Stelle die Fehlermeldung Connection refused erscheinen, müssen Sie erst eine kleine Änderung an der Firmware vornehmen. Vermutlich konnte der SSH-Server nicht gestartet werden, da die Berechtigungen der Datei /etc/sshd/ssh_host_rsa_key zu offen sind. Seit Erstellung der Linux VM hat es wohl eine Änderung in OpenSSH gegeben, die in diesem Fall das Starten des Servers aus Sicherheitsgründen verhindert. In Kapitel 2.11 Zugriffsrechte einzelner Dateien ändern ist die Lösung des Problems beschrieben. Anschließend bauen Sie ein neues Image und schreiben es auf die SD-Karte. Aufgabe 5: Umleiten der Grafikausgabe auf Ihren Laptop Wenn Ihre Firmware später auch eine grafische Bildschirmausgabe erzeugen soll, werden Sie vermutlich keine Lust haben, ständig einen eigenen Bildschirm mit in die DHBW zu schleppen. Zwar gibt es auf ebay schon recht günstig kleine 7 HDMI-Displays, noch günstiger kommt es aber, wenn Sie die Grafikausgabe des Raspberry Pi stattdessen via VNC auf Ihren Laptop umleiten. Auf diese Weise können Sie den Raspberry Pi (mit einem kleinen Zeitversatz natürlich) vom Laptop aus fast genauso bedienen, als hätten Sie Tastatur, Maus und Bildschirm direkt angeschlossen. Die hierfür benötigten Schritte sind in Kapitel 4.1 Grafische Ausgaben auf den Entwicklungsrechner umleiten beschrieben. Aufgabe 6: Eigene Programme zum Laufen bringen a) Gehen Sie zunächst wie in Kapitel 5.1 Java in die Firmware integrieren beschrieben vor, um eine Firmware mit Java Runtime Edition zu erstellen. Der Vorgang ist im Prinzip ganz einfach, jedoch ist es etwas umständlich, die richtige Datei auf der Oracle-Downloadseite zu finden. Sollte es beim Entpacken des JDKs zu einem Fehler kommen, kann ich Ihnen stattdessen auch eine fertig aufbereitete ZIP-Datei zukommen lassen. b) Schreiben Sie ein kleines Java-Programm, dass zum Beispiel Hallo Welt auf der Konsole ausgibt. Kompilieren Sie das Programm und kopieren Sie die kompilierten *.class-dateien in das Verzeichnis ~/custom/board/overlays/rootfs_overlay_custom/opt/dhbw. c) Anschließend schreiben Sie ein kleines Skript, mit dem das Javaprogramm gestartet werden kann und kopieren es ebenfalls nach ~/custom/board/overlays/rootfs_overlay_custom/opt/dhbw. Das Skript könnte zum Beispiel so aussehen: 2 Ausnahmsweise ist der Befehl für Windows, Mac OS und Linux hier derselbe. Seite 6 von 7

debian@buildroot:~/custom/overlays/rootfs_oberlay_custom/opt/dhbw$ nano start.sh #! /bin/sh cd /opt/dhbw java HalloWelt Folgen Sie dann der Anleitung aus Kapitel 2.12 Automatischer Start von Programmen beim Hochfahren, um das Skript während dem Bootvorgang auszuführen. Herzlichen Glückwunsch! Wenn Sie wirklich bis hierhin alles durchgearbeitet haben, kennen Sie sich inzwischen ganz gut mit Linux aus. Ihrem Projekt steht nun nichts mehr im Weg. Seite 7 von 7