11.10.2023 - Hinweis zu den Images auf GitHub hinzugefügt
27.09.2021 - Hinweis zur Unterstützung von Ubuntu bis Version 20.04 LTS hinzugefügt
06.03.2019 - Hinweis zur Unterstützung von Ubuntu bis Version 18.04 LTS hinzugefügt
27.05.2018 - Erste Fertigstellung
Diese Anleitung/Information erhebt keinen Anspruch auf Vollständigkeit und kann Fehler enthalten und die Benutzung erfolgt auf eigene Gefahr.
Es wird keinerlei Haftung für Schäden und/oder Datenverluste übernommen.
Inzwischen gibt es auf GitHub Images für den Raspberry Pi 4B:
![Externer Link Externer Link](/images/links/Link.png)
Daher sollte diese Anleitung nicht mehr ganz notwendig sein, was ich jedoch mangels passender Geräte und anderer Prioritäten nicht mehr nachgeprüft habe.
Hier nun der Text der alten Anleitung:
Während des Erstellens dieser Anleitung habe ich mich manchmal gefragt, ob sich die Mühe lohnt, denn z.B. das Einrichten eines extra PCs mit Ubuntu und später das Kompilieren des Systems hat nicht unerheblich Zeit gekostet. Zudem kamen während des Kompilierens einige Warnmeldungen, die aber letztendlich das Image nicht verhindert haben, das Image läuft. Wer in dieser Richtung für dieses System entwickeln möchte, hat sicherlich seine Freude daran aber die ganze Aktion, nur um was "Fertiges" zu nutzen, scheitert wohl daran, dass es eben nicht viel Fertiges (nach der Installation) gibt. Ich denke aber, diejenigen, die die Chance nutzen wollen, webOS OSE auf einem Raspberry Pi zu nutzen und dafür zu entwickeln, haben hier eine gute Möglichkeit. Dafür habe ich diese Anleitung gemacht und es hat trotz der langwierigen Phasen sehr viel Spaß bereitet.
![Bild](/images/anleitungen/webosose/webosose_logo.png)
Das webOS wurde ursprünglich als System/Oberfläche von Palm für deren Geräte entwickelt, dann von anderen Firmen gekauft/lizensiert, weiterentwickelt und letztendlich komplett verkauft.
Inzwischen handelt es sich um eine offizielle Open Source Version, die für den Raspberry Pi optimiert wurde.
Das neue OS wurde zwar von LG veröffentlicht, jedoch handelt es sich um ein unabhängiges Projekt mit eigener Webseite und dem Namen webOS Open Source Edition oder kurz webOS OSE.
Inhaltsverzeichnis:
(1) Wichtige Infos
(2) Linux PC für Imageerstellung einrichten
(3) Linux PC: Terminalfenster starten
(4) Linux PC: Paketaktualisierung durchführen
(5) Linux PC: SSH installieren
(6) Linux PC: Git installieren
(7) Linux PC: webosOSE Image erstellen
(8) Linux PC oder Host PC (Linux, Windows, MAC): webosOSE Image auf SD Karte übertragen
(9) Raspberry Pi 3B: Image testen
(10) Raspberry Pi 3B: Netzwerk konfigurieren
(11) Raspberry Pi 3B: Sonstiges
(1) Wichtige Infos
Zum aktuellen Zeitpunkt ist kein fertiges SD Karten Image verfügbar, daher ist die Installation deutlich aufwändiger als z.B. bei Raspbian.
Zwei wichtige Punkte:
- Die Macher von
webOS OSE
setzen für die Installation einen PC mit Ubuntu 14.04 LTS 64Bit voraus*
- Das System funktioniert laut originaler Webseite nur auf einem Raspberry Pi 3B
Die webos OSE Macher planen zudem offiziell die Unterstützung von Ubuntu 18.xx.
Update vom 27.09.2021:
Inzwischen wurde von den Initiatoren von WebOS OSE die Installation angepasst und als PC System zur Erstellung des Images können folgende Ubuntu Versionen genutzt werden:
- Ubuntu 14.04 LTS (Trusty Tahr) 64-bit
- Ubuntu 16.04 LTS (Xenial Xerus) 64-bit
- Ubuntu 18.04 LTS (Bionic Beaver) 64-bit
- Ubuntu 20.04 LTS (Focal Fossa) 64-bit
Des Weiteren wird auf dem Linux PC Git und Python benötigt, wobei Git dann noch installiert werden muss.
Python selbst ist sowohl in Version 2 als auch 3 bereits vorhanden.
Der Pi 4B 8GB wird aktuell noch nicht unterstützt.
Für Git wird ein GitHub Account benötigt !!
Wer bereits einen hat, kann diesen verwenden.
Wer keinen hat, muss sich einen anlegen (Pfade weiter unten in der Anleitung).
Wer keinen anlegen möchte, kann hier aufhören zu lesen, da es ohne Account nicht funktioniert.
Weitere Voraussetzungen für den Pi sollen sein:
- MicroSD Karte (8 GB oder größer) und microSD Kartenleser
- HDMI Monitor und Kabel
- Tastatur und Maus
- Netzwerkkabel und Internetverbindung
Frei übersetzt:webosose.org hat geschrieben:We strongly recommend you NOT to use Linux virtual machine on Windows or Mac OS for building webOS OSE, as it may cause unexpected issues.
Das spätere Flashen und/oder die weitere Entwicklung kann dann wiederum auf dem Linux PC oder unter Windows oder Mac OS erfolgen.Wir raten dringend dazu, KEINE virtuelle Linux Maschine unter Windows oder Mac OS für die Erstellung von webOS OSE zu verwenden, da möglicherweise unvorhersehbare Probleme auftreten.
Download von Ubuntu 64Bit für den PC:
![Externer Link Externer Link](/images/links/Link.png)
![](/images/en.gif)
Linux ist nicht unbedingt jedermanns Sache und wer damit noch nie zu tun hatte, wird vielleicht auch an diesem Projekt scheitern, denn wenn es zu Fehlern kommt, ist man schnell aufgeschmissen und ich kann zum Gebrauch von Linux leider keine Hilfe oder gar Schulung bieten.
Daher böte es ich an, hier einen Linux erfahrenen Bekannten hinzuzuziehen oder notfalls vom Projekt Abstand zu nehmen und vielleicht so lange zu warten, bis es brauchbare SD Karten Images gibt. Evtl. wird man diesbezüglich woanders bereits fündig.
Linux Kenntnisse sind daher dringend angeraten !!
(2) Linux PC für Imageerstellung einrichten
Wer bereits mit einem Linux PC mit Ubuntu arbeitet, kann diesen Punkt überspringen, sofern er Python bereits laufen hat.
Zwar soll Ubuntu in der Version 14.04 LTS 64Bit benutzt werden, jedoch meine ich irgendwo gelesen zu haben, dass auch neuere Versionen möglich wären. In dieser Anleitung beziehe ich mich aber explizit auf die empfohlene Version 14.04 LTS 64Bit.
Es bestünde noch die Möglichkeit eine weitere Partition bei einem bestehenden System hinzuzufügen, jedoch kann dies u.U. zu Datenverlusten des Hauptsystems führen, worauf ich daher nicht näher eingehen möchte und mich auf einen extra PC beziehe, der nur für dieses Vorhaben genutzt wird.
Die Macher von webOS OSE empfehlen zwar einen QuadCore PC mit einer SSD, auf der min. 100GB Plattenplatz und 16GB RAM vorhanden sind, jedoch habe ich auch keinen Goldesel daheim und habe daher einen älteren Laptop mit 320GB Festplatte und 8GB RAM verwendet. Dort war zwar auch eine SSD verbaut, diese habe ich jedoch vorübergehend mit einer alten gebrauchten und leeren 320GB Festplatte bestückt. Zudem hat der Laptop auch nur einen DualCore (Core2Duo) verbaut.
Wichtig !!
Dieser Punkt beschreibt die Einrichtung eines extra PCs, auf dem keine Daten vorhanden sind, die Platte also vollkommen leer ist !!
Wer diesen Punkt auf einem Arbeits PC mit Daten ausführt, verliert alle seine Daten !!
Keine Haftung meinerseits auf Daten oder Hardware !!
ALLES AUF EIGENES RISIKO !!
Ich kann es immer wieder nur erwähnen: Vor solchen Aktionen Backups machen und/oder extra Hardware nutzen, auf der keine Daten vorhanden sind (wie in diesem Fall) !!
Zuerst wird also ein extra PC / Laptop vorbereitet, der keinerlei Daten enthält und nur für die Erstellung des späteren SD Karten Images benutzt wird.
Für die Installation von 14.04 LTS 64Bit wird natürlich ein Gerät mit 64 Bit Prozessor benötigt (auf dem auch z.B. Windows mit 64 Bit laufen würde).
Als Grundlage für die Installation habe ich mich für die normale USB Installation entschieden. Möglich wäre aber auch eine Installation über eine CD/DVD, jedoch dürften selbst ältere Geräte bootfähige USB Ports haben.
Auf die Netzwerk-Installation habe ich letztendlich verzichtet, da nach dem Booten des Netzwerkimages das System ewig ohne jegliche Reaktion auf dem Bildschirm stehen geblieben ist. Irgendwann habe ich die Installation über das Netzwerk abgebrochen, da ich in der Zeit das komplette Image hätte mehrfach herunterladen können.
Benötigt wird:
- USB Stick gleich oder größer 2GB
- Einen Windows PC für die Erstellung des USB Images (es gehen auch Linux und Mac OS, jedoch nutze ich sonst ausschließlich Windows)
- Das Ubuntu Image
- Rufus (Richtet den USB Stick bootfähig ein)
![Externer Link Externer Link](/images/links/Link.png)
![](/images/en.gif)
![Externer Link Externer Link](/images/links/Link.png)
![](/images/de.gif)
Bei der USB Management Software Rufus habe ich die portable Version gewählt, denn diese muss nicht installiert werden.
Es kann aber auch die zu installierende Version heruntergeladen werden, das Programm ist nach dem Start des selbe.
Nun wird der später zu Installation benötigte USB Stick am Windows PC eingesteckt.
Nachdem Rufus auf dem Windows PC heruntergeladen und gestartet oder installiert und gestartet wurde, öffnet sich das folgende Fenster:
(Beim ersten Start wird man u.U. gefragt, ob das Programm nach Updates suchen soll.)
![Bild](/images/anleitungen/webosose/rufus_start.jpg)
Zuerst wird der USB Stick (siehe 1.) ausgewählt.
Bitte unbedingt darauf achten, dass man das richtige Laufwerk wählt und nicht ausversehen andere USB Datenträger überschreibt.
Besser 2x checken (z.B. im Windows Explorer) als später fluchen ....
Wird kein Laufwerk angezeigt und ist auch keins auswählbar, dann ist entweder kein USB Stick eingesteckt oder wird von Windows/Rufus nicht erkannt. Hier hilft oft das Formatieren mit Standardwerten.
Wird der Stick gefunden und ist es das einzige USB Speicherlaufwerk, wird es bereits vorausgewählt. Trotzdem: checken, ob es das richtige ist !!
Als Nächstes wird die Option für das BIOS ausgewählt (siehe 2.). Man kann zwar auch die voreingestellte Auswahl verwenden (nur UEFI), jedoch wird für ältere Rechner von der Ubuntu Webseite die im Bild angezeigte Option empfohlen.
Dann wird in Rufus das zuvor ebenfalls heruntergeladene USB-Netzwerk-Image geladen.
Hierzu einfach auf das CD-ROM-Symbol klicken, welches sich rechts neben der Option "Startfähiges Laufwerk erstellen mit" befindet (siehe 3.).
Beim sich öffnenden Dateiauswahlfenster das heruntergeladene Image auswählen und mit "Öffnen" bestätigen.
Nachdem das Image eingebunden wurde (es erscheint das Wort "ISO-Abbild" in der Auswahl, wo zuvor "FreeDOS" stand), kann ohne weitere Änderungen unten auf "Start" geklickt werden (siehe 4.). Zuvor aber nochmal alles prüfen !!
Rufus erkennt das hybride ISO-Abbild und fragt nach dem gewünschten Schreibformat:
![Bild](/images/anleitungen/webosose/rufus_hybrid.jpg)
Diese Auswahl erscheint, weil die Installation sowohl für CD/DVD als auch für USB erstellt und in das Image gepackt wurde und auch für beide Versionen ohne Änderungen erstellt und verwendet werden kann.
Die Vorauswahl sollte unbedingt - wie auf dem Bild oben zu sehen - auf "ISO-Abbild Modus" stehen und ist dann mit dem Klick auf "OK" zu bestätigen.
Dann folgt der Hinweis, dass der gewählte USB Stick unwiederbringlich gelöscht wird.
Dies ist die letzte Chance nochmal das USB Laufwerk mit dem gewünschten USB Stick zu prüfen !!
![Bild](/images/anleitungen/webosose/rufus_warnung.jpg)
Nach dem Klick auf "OK" legt Rufus los, bei dem man im unteren Bereich den Fortschritt per grünem Balken verfolgen kann:
![Bild](/images/anleitungen/webosose/rufus_aktion.jpg)
Sobald der Prozess abgeschlossen ist, meldet sich Rufus wieder mit dem normalen Hauptbildschirm und kann über "Schließen" beendet werden.
Es kann passieren, dass der eine oder andere Virenscanner sich wegen der Datei
autorun.inf
beschwert (z.B. Avira).Dies kann einfach ignoriert werden.
Nun wird der USB Stick vom PC abgemeldet (Hardware sicher entfernen unten rechts in der Taskleiste) und kann abgezogen werden.
Der USB Stick wird nun in den dafür vorgesehenen späteren Linux PC eingesteckt und davon gebootet.
Sollte der PC/Laptop nicht booten, ist im BIOS und/oder in der Anleitung oder auf der Herstellerwebseite des Gerätes nachzuschauen, wie von USB gebootet werden kann.
Nach dem Einstecken und Booten des Sticks erscheint kurz darauf der Willkommensbildschirm mit der Sprachauswahl für die weitere Installation:
![Bild](/images/anleitungen/webosose/ubuntu_install_sprache.png)
Diese steht bei Beginn auf Englisch und wurde hier für das weitere Vorgehen auf Deutsch geändert.
Da wir Ubuntu nicht nur ausprobieren, sondern gleich fest installieren wollen, ist auf den entsprechenden Button zu klicken.
Im nächsten Bild habe ich die Updates aktiviert, damit auch trotz des alten Systems einigermaßen Aktualität herrscht:
![Bild](/images/anleitungen/webosose/ubuntu_install_vorber.png)
Die Drittanbietersoftware habe ich vorerst weggelassen, da ich später nicht wirklich mit diesem System arbeiten möchte, sondern es nur zur Imageerstellung für den Raspberry Pi dienen soll.
Nun wird nach der Art der Installation gefragt. Hier habe ich die Vorauswahl mit "Jetzt Installieren" bestätigt:
![Bild](/images/anleitungen/webosose/ubuntu_install_art.png)
Es folgt ein Hinweis über die Plattenformatierung, der mit "Weiter" bestätigt wird:
![Bild](/images/anleitungen/webosose/ubuntu_install_abfrage.png)
Jetzt die eigene Region/Zeitzone angeben (Berlin):
![Bild](/images/anleitungen/webosose/ubuntu_install_wo.png)
Dann folgt die Abfrage der Tastatursprache:
![Bild](/images/anleitungen/webosose/ubuntu_install_tastatur.png)
Jetzt noch ein paar Angaben zum Account:
![Bild](/images/anleitungen/webosose/ubuntu_install_wer.png)
Und dann geht es auch schon los:
![Bild](/images/anleitungen/webosose/ubuntu_install_install.png)
Und endet mit der Aufforderung zum Neustart:
![Bild](/images/anleitungen/webosose/ubuntu_install_fertig.png)
Sollte dieser Neustart misslingen (wie mir passiert), weil nach mehreren Minuten ein leeres Hintergrundbild oder ein schwarzer Bildschirm mit wenigen Zeilen Text erscheint, bei dem sich nichts mehr verändert, muss der PC per Resetknopf wieder zum Leben erweckt werden.
Dies ist normalerweise nicht weiter tragisch, da das System bereits alle Schreibeinstellungen abgeschlossen haben sollte.
Spätere Neustarts funktionierten bei mir mehrfach und bisher problemlos.
Nach einem evtl. durchgeführten Reset oder dem normalen Restart mit anschließendem Hochfahren erscheint der Hauptbildschirm mit einem Aktualisierungs Hinweis, der unbedingt zu verweigern ist !!
![Bild](/images/anleitungen/webosose/ubuntu_upgrade.png)
Wie in der Meldung erkennen kann, will Ubuntu sich auf die Version 16.04 aktualisieren, was zu verhindern gilt, da die webOS OSE Macher darauf hinweisen, dass einige Tools/Schritte scheinbar nur unter der alten Version 14.04 funktionieren.
Nach der Ablehnung folgt noch die Bestätigung der Ablehnung und ein Hinweis, wie man später doch noch eine Aktualisierung durchführen kann.
Nun erscheint der Hauptbildschirm und Ubuntu ist bereit für die Arbeit.
Herunterfahren oder Neustarten kann man hier (rechts oben auf das Zahnrad klicken):
![Bild](/images/anleitungen/webosose/ubuntu_stop_menue.png)
Es folgt die Auswahl für Neustart oder Herunterfahren:
![Bild](/images/anleitungen/webosose/ubuntu_stop_auswahl.png)
Alle Weiteren Schritte werden nun im Terminalfenster ausgeführt.
(3) Linux PC: Terminalfenster starten
Um die später gezeigten Kommandozeilenbefehle einzugeben, wird das Terminalfenster benötigt.
Zuerst wird hierfür auf das Ubuntusymbol oben Links per Rechtsklick geklickt, um das folgende Menü aufzurufen:
![Bild](/images/anleitungen/webosose/ubuntu_start_terminal.png)
Danach bitte auf das hier gezeigte weiße Auswahlmenü
Anwendungen
klicken.Im nun folgenden Fenster erscheint bei mir das gewünschte
Terminal
nun als erste App, da ich sie zuvor zum Test bereits einmal gestartet hatte. Man kann auch im Suchfenster Terminal
eintippen, um gezielt danach zu suchen oder man scrollt etwas runter. In der Regel sollte es bereits installiert sein.Anschließend wird nun auf das Icon für das Terminal geklickt, um die gewünschte Kommandozeile zu starten:
![Bild](/images/anleitungen/webosose/ubuntu_start_terminalaktiv.png)
Es erscheint direkt daraufhin die gewünschte Eingabemöglichkeit:
![Bild](/images/anleitungen/webosose/ubuntu_start_terminalfenster.png)
Um das Fenster wieder zu verlassen/schließen, gibt man einfach
exit
ein, gefolgt von der Enter Taste.(4) Linux PC: Paketaktualisierung durchführen
Damit bei der installierten Version von Ubuntu alle Pakete (nicht die ganze Distribution !!) und deren Liste aktualisiert wird, damit bei Nachinstallationen keine Probleme auftreten, wird im Terminalfenster diese Aktualisierung durchgeführt.
Dies sollte man immer machen, wenn man ein Paket (Anwendung) nachinstallieren möchte.
Dazu wird folgender Befehl im Terminalfenster eingegeben (Doppelbefehl, vorne Liste aktualisieren, hinten Pakete aktualisieren):
Code: Alles auswählen
sudo apt-get update && sudo apt-get upgrade
sudo
(2x), da wir hierfür sogenannte Rootrechte benötigen. Als sicherheitsbewusster Admin arbeiten wir natürlich nicht als Root, sondern mit dem normalen User und rufen per sudo
nur dann Rootrechte auf, wenn wir sie wirklich brauchen.Verbunden werden beide Befehle in der Mitte mit dem doppelten kaufmännischen "Und":
&&
Dabei muss der 2. Befehl auch wieder das Wort
sudo
enthalten, da die Rechte immer nur zu einem Befehl gehören.![Bild](/images/anleitungen/webosose/ubuntu_terminal_paketupdate.png)
Wie man auf dem Bild erkennen kann, wird nach dem Passwort gefragt, welches wir bei der Installation von Ubuntu eingegeben haben.
Unter Umständen wird angezeigt, wie viel Platz auf der Platte belegt werden wird und es erscheint die Frage, ob wir installieren möchten.
Dies ist dann mit (J)a zu bestätigen (oder (y)es, je nach Sprache).
Dann startet die Aktualisierung, die dann wieder mit dem Prompt in der Eingabezeile endet.
Dieser Vorgang kann einige Zeit dauern, da das heruntergeladene Image u.U. schon etwas älter sein kann.
![Bild](/images/anleitungen/webosose/ubuntu_terminal_updatefertig.png)
An dieser Stelle kann man sich nun entscheiden, ob man mit diesem Terminalfenster weiterarbeiten oder - wie ich - über das Netzwerk per SSH auf den PC zugreifen möchte (z.B. wenn der PC woanders steht oder man nebenbei was anderes machen möchte).
Ich habe mich für die SSH Version entschieden, da mein Linux PC ein alter Laptop ist, den ich nur für dieses Projekt eingerichtet habe und nebenher noch diese Anleitung schreibe.
(5) Linux PC: SSH installieren
Um den SSH Dienst (Server) zu installieren, ist folgender Befehl einzugeben:
Code: Alles auswählen
sudo apt-get install openssh-server
Wer die Konfiguration von SSH ändern möchte, kann dies über den folgenden Befehl tun:
Code: Alles auswählen
sudo nano /etc/ssh/sshd_config
Um diese Änderung zu aktivieren, muss SSH neu gestartet werden:
Code: Alles auswählen
sudo service ssh restart
Dieser Service wird auch fest in der Startkonfiguration verankert, so dass SSH auch nach einem Neustart des PCs automatisch geladen und gestartet wird.
Nun kann mit einem SSH/Terminalprogramm (z.B. Putty) von einem anderen PC aus auf den Linux PC zugegriffen werden.
Wie man
Putty
einrichtet und woher man es bekommt, habe ich ausführlich in dieser Anleitung beschrieben:Raspberry Pi installieren: RASPBIAN Stretch (+Lite)
Ab hier werde ich nun die Anleitung per SSH (Putty) auf einem anderen PC fortführen. Das Terminalfenster sieht zwar ein wenig anders aus aber der Inhalt ist völlig identisch, da über Putty direkt auf dem Linux PC gearbeitet wird, als säße man direkt am ferngesteuerten PC.
Nachdem man sich mit den identischen Logindaten über Putty eingeloggt hat, erscheint auch wieder die altbekannte Eingabeaufforderung:
![Bild](/images/anleitungen/webosose/ubuntu_putty_start.png)
Hier funktioniert nun alles genauso wie auf dem Linux PC selbst.
Auf dem obigen Bild wird ein Neustart empfohlen, der auch gleich ausgeführt wird, bevor wir weiter verfahren:
Code: Alles auswählen
sudo restart now
(6) Linux PC: Git installieren
Wer hier eine längere Pause gemacht hat, sollte - wie immer vor Paketinstallationen - die Paketlisten- und Paket-Aktualisierungen vornehmen (wie ganz oben bereits beschrieben):
Code: Alles auswählen
sudo apt-get update && sudo apt-get upgrade
![Externer Link Externer Link](/images/links/Link.png)
![](/images/en.gif)
Da in der Paketverwaltung von Debian (Ubuntu ist eine Debian Distribution) Git bereits enthalten ist, wird das Paket mit recht einfach mit folgendem Befehl installiert:
Code: Alles auswählen
sudo apt-get install git
Nach der Installation von Git wird ein Git Benutzername eingetragen. Hier wird üblicherweise der reale Name benutzt. Wer dies nicht möchte, kann hier beliebigen Text verwenden. Für die Anleitung hier habe ich einfach "Outi Outi" verwendet.
Der nachfolgende Befehl setzt den Benutzernamen global im Git System für alle Projekte auf dem lokalen Linux PC:
Code: Alles auswählen
git config --global user.name "Outi Outi"
-- global
eingeben. Ich habe mich für den globalen Weg entschieden, da ich eh nur dieses eine Projekt (webosOSE) verwende und mir zusätzliche Arbeit sparen möchte.Um zu prüfen, ob der Name korrekt gesetzt wurde, wird beim obigen Befehl einfach der Name weggelassen und der Name wird vom Git System ausgegeben:
Code: Alles auswählen
git config --global user.name
![Bild](/images/anleitungen/webosose/ubuntu_terminal_gituser.png)
Danach wird noch die Mailadresse vergeben, die für Git verwendet werden soll. Hier wird diese Eingabe wieder global fürs gesamte Git durchgeführt:
Code: Alles auswählen
git config --global user.email "email@example.com"
Wer hier wieder nicht global agieren möchte, einfach wiederum die Option für global weglassen.
Die Prüfung, ob die Mailadresse korrekt konfiguriert wurde, ist wie oben beim Benutzername identisch, einfach die Adresse weglassen und es wird - wenn alles korrekt verarbeitet wurde - die zuvor eingegebene Mailadresse ausgegeben.
Als nächstes wird die Authentifizierung in Git beschrieben.
Hierzu gibt es zwei verschiedene Möglichkeiten:
- Authentifizierung über HTTPS
- Authentifizierung über SSH (wird für webosOSE benötigt)
Um diesen Weg zu nutzen, muss ein SSH Schlüssel erzeugt werden, der später die sichere Verbindung zu Git herstellt:
Code: Alles auswählen
ssh-keygen -t rsa -b 4096 -C "email@example.com"
Es folgt folgende Ausgabe:
Code: Alles auswählen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/outi/.ssh/id_rsa):
Danach erscheint folgende weitere Ausgabe:
Code: Alles auswählen
Created directory '/home/user/.ssh'.
Enter passphrase (empty for no passphrase):
user
steht normalerweise Euer Benutzername. In meinem Fall "outi".Bei der obigen Abfrage für die
passphrase
geben wir nun ein sicheres Passwort ein und bestätigen dies wieder mit Enter.Danach wird dieses Passwort erneut eingegeben und wieder bestätigt.
Als Ausgabe erscheint nun ein sogenannter Fingerabdruck und ein ASCII Image (Bild aus Textzeichen).
Nun übergeben wir den neuen SSH Schlüssel an den SSH Agenten. Davor müssen wir aber prüfen, ob dieser Agent läuft.
Diese Prüfung erfolgt mit diesem Befehl:
Code: Alles auswählen
eval $(ssh-agent -s)
Code: Alles auswählen
Agent pid XXXX
In aller Regel sollte der Agent aber bereits laufen, vor allem, wenn wir eh über Putty (oder einer anderen SSH Software) verbunden sind.
Nun wird der Schlüssel an den Agenten übergeben:
Code: Alles auswählen
ssh-add ~/.ssh/id_rsa
Wenn es bei der Befehlseingabe keinen Fehler gab, erscheint nun wieder die Abfrage nach dem Passwort (passphrase), welches wir weiter oben definiert haben. Nach dieser Eingabe wird die Zuordnung wie folgt unter dem Befehl bestätigt:
Code: Alles auswählen
Identity added: /home/user/.ssh/id_rsa (/home/user/.ssh/id_rsa)
user
ist hier bei Euch wieder Euer Benutzername.Nun muss der Schlüssel auch an
![Externer Link Externer Link](/images/links/Link.png)
![](/images/en.gif)
Dies erfolgt normalerweise per Kopieren/Einfügen über die Zwischenablage. Wer direkt auf dem Linux PC bleiben will und bisher direkt in der Oberfläche mit dem Terminalfenster gearbeitet hat, ruft dazu parallel den integrierten Browser auf (hier sollte sich links in der Leiste Firefox als 3. Symbol von oben finden lassen).
Wer - wie ich - von einem Windows PC über Putty per SSH mit dem Linux PC verbunden ist, startet einfach seinen Lieblingsbrowser neben Putty.
Wer bereits einen GitHub Account hat, loggt sich jetzt direkt ein.
Wer noch keinen GitHub Account hat, kann diesen hier erstellen:
![Externer Link Externer Link](/images/links/Link.png)
![](/images/en.gif)
Das Erstellen des Accounts sollte kein Problem darstellen.
Nach dem Einloggen auf die GitHub Webseite befindet sich am oberen Rand ganz rechts eine Glocke, ein "+" und ein Account Symbol. Dieses letzte Symbol klicken wir nun mit der Maus an und gehen dann auf
Settings
im heruntergeklappten Menü.Auf der linken Seite des neuen Fensterinhaltes befindet sich ein weiteres Menü, bei dem wir auf
SSH and GPG keys
klicken, um die enstprechenden Schlüsseleinstellungen aufzurufen.Im mittleren Bereich der Webseite klicken wir nun auf den Button
New SSH Key
und vergeben im nun erscheinenden Inhalt bei Title
einen Namen für den Schlüssel.Hier habe ich im Beispiel einfach "webosOSE" eingegeben. Das erleichtert später die Identifikation, wenn man weitere Schlüssel eingetragen hat.
Im Bereich darunter im Feld
Key
wird nun der eigentliche Schlüssel hineinkopiert.Dafür müssen wir nun zurück ins Terminalfenster zu unserer Eingabeaufforderung wechseln und einen Befehl eingeben, der diesen Schlüssel nun aus der Datei auf den Bildschirm anzeigt:
Code: Alles auswählen
cat ~/.ssh/id_rsa.pub
Diesen Text markieren wir nun mit der Maus und zwar beginnend bei
ssh-rsa
und über mehrere Zeilen endend direkt nach der Mailadresse.Dabei darf der Text nur mit der linken Maustaste markiert werden, ohne dass danach noch irgendwas eingegeben wird. Solange im Terminalfenster dieser Bereich markiert ist, haben wir bereits den Schlüssel in der Zwischenablage.
Nun gehen wir mit der Maus in den Browser in das Feld
Key
und klicken mit der rechten Maustaste in den Bereich und klicken im Mausmenü auf Einfügen
, womit wir den Schlüssel kurz darauf im Fenster sehen.Jetzt nur noch unter dem Feld auf
Add Key
klicken und der Schlüssel wird gespeichert.In der Übersicht wird dann der Name und der Fingerabdruck angezeigt. Diesen Fingerabdruck kann man nochmal mit der Ausgabe im Terminalfenster vergleichen, wenn man darin bis zu der Stelle nach oben scrollt, wo man den Schlüssel erzeugt hatte.
Beide Fingerabdruckzeichen sollten genau übereinstimmen, dann wurde der Schlüssel korrekt übertragen.
Damit sollte die Git Installation beendet sein.
(7) Linux PC: webosOSE Image erstellen
Um das SD-Karten-Image zu erstellen, wird das sogenannte
build-webos
Respository (Quelle) benötigt. In dieser Quelle ist alles enthalten, was für das Erstellen des webos OSE Images benötigt wird.Es könne zwei verschiedene Images erstell werden:
webos-image
: Das normale webOS OSE Image ohne Entwicklertoolswebos-image-devel
: Das Image mit verschiedenen Entwicklertools inkl. GDB and strace (system call tracer)
Als nächstes wird nun das Git Repository "geklont" (also aus den Quellen auf den Linux PC übertragen):
Code: Alles auswählen
git clone https://github.com/webosose/build-webos.git
Code: Alles auswählen
Klone nach 'build-webos' ...
remote: Counting objects: 23, done.
remote: Total 23 (delta 0), reused 0 (delta 0), pack-reused 23
Unpacking objects: 100% (23/23), done.
Prüfe Konnektivität ... Fertig.
build-webos
:Code: Alles auswählen
cd build-webos
Code: Alles auswählen
sudo scripts/prerequisites.sh
sudo
Befehl in der Befehlszeile, da für dieses Skript Rootrechte benötigt werden.Dieser Vorgang dauert nun ein klein wenig, bis sich das Terminal wieder mit dem Eingabeprompt zurückmeldet.
Um das Gerüst für den Raspberry Pi 3 zu konfigurieren und die Quellen einzubinden, ist folgender Befehl einzugeben:
Code: Alles auswählen
./mcf raspberrypi3
Nun geht es an das Einstellen der Parallelitätswerte:
Code: Alles auswählen
./mcf -p 0 -b 0 raspberrypi3
Wer hier weniger oder eine andere Anzahl an CPUs/Cores/Threads nutzen möchte, kann die beiden Parameter "-p" und "-b" ändern.
Die beiden Parameter bedeuten
PARALLEL_MAKE
und BB_NUMBER_THREADS
.Dieser Vorgang geht recht schnell von statten.
Nun folgt die eigentliche Erstellung des Images.
Für das normale Image wird der Ersellungsprozess mit diesen Befehlen gestartet:
Code: Alles auswählen
source oe-init-build-env
Code: Alles auswählen
bitbake webos-image
Code: Alles auswählen
make webos-image
Code: Alles auswählen
source oe-init-build-env
Code: Alles auswählen
bitbake webos-image-devel
Das Erstellen soll nun auf einem schnellen System mit SSD Platten ca. 2 Stunden dauern, bei einem einfachen Laptop mit Festplatte wird sogar von mehreren Stunden ausgegangen. Hier ist also Geduld erforderlich.
Wenn man später - oder aus welchen Gründen auch immer - das System für einen neuen Erstellungsvorgang säubern möchte, gibt folgende Befehle ein:
Code: Alles auswählen
rm -rf BUILD
Code: Alles auswählen
./mcf.status
Das Erstellen und Säubern individueller Komponenten geschieht so:
Erstellen:
Code: Alles auswählen
source oe-init-build-env
Code: Alles auswählen
bitbake <Komponentenname>
Code: Alles auswählen
make <Komponentenname>
Code: Alles auswählen
source oe-init-build-env
Code: Alles auswählen
bitbake -c clean <component-name>
Code: Alles auswählen
source oe-init-build-env
Code: Alles auswählen
bitbake -c cleansstate <Komponentenname>
Bei mir zeigten sich einige Warnungen in gelb, oft mit der Ausgabe, dass andere Quellen genutzt werden, wenn möglich.
Das sieht dann so aus:
![Bild](/images/anleitungen/webosose/ubuntu_build_image.png)
Man erkennt auf dem Bild halbwegs den Fortschritt von 20% und die gelben Warnungen. Zum Zeitpunkt der Erstellung des Bildes lief der Erstellungsvorgang aber ohne weitere Störungen weiter. Leider scheinen einige Quellen offline zu sein.
Auch kann man die 8 Tasks (0 bis 7) erkennen, die bei der Erstellung parallel abgearbeitet werden, jeweils mit eigenen Fortschrittsanzeigen.
Kurioserweise dauert das Kompilieren eines der letzten Pakete (Chromium) fast länger, als der ganze Rest des Systems zusammen.
Der gesamte Vorgang dauerte mehr als 6 Stunden und lief mit den auf dem Bild in gelb dargestellten Warnungen komplett durch.
Das Image soll trotzdem funktionsfähig fertiggestellt worden sein, so lange keine roten Fehlermeldungen erscheinen.
(8) Linux PC oder Host PC (Linux, Windows, MAC): webosOSE Image auf SD Karte übertragen
SD-Karten-Leser älterer PCs/Laptops oder älterer Bauart machen oft Probleme mit aktuellen Karten und schreiben das Image entweder fehlerhaft oder gar nicht !!
Sollte das Problem auftreten, ggf. mit einem aktuellerem Leser probieren.
Wer bisher seine Images für den Raspberry Pi (z.B. Raspbian) in seinem Leser erfolgreich schreiben konnte, wird auch hier keine Probleme bekommen.
Um das erstellte Image auf die SD Karte zu schreiben, kann entweder der zuvor verwendete Linux PC oder ein anderer PC mit Linux, Windows oder Mac OS verwendet werden.
Das Image befindet sich auf dem Linux PC (wo es auch erstellt wurde) im Verzeichnis
/home/user/build-webos/BUILD/deploy/images/raspberrypi3/
und endet mit der Bezeichnung
.sdimg
.Der Teil
/user/
ist durch den zu ersetzen, mit dem Ihr auf dem Linux PC arbeitet. In meinem Fall ist es "outi".Wichtig ist es auch, dass die Gross/Kleinschreibung unbedingt beachtet werden muss.
Zur Erstellung dieser Anleitung hieß die Datei selbst
webos-image-raspberrypi3.rootfs.rpi-sdimg
.Linux:
Wer am Linux PC einen aktuellen SD-Karten-Leser hat, wechselt in das oben genannte Verzeichnis:
Code: Alles auswählen
cd /home/user/build-webos/BUILD/deploy/images/raspberrypi3/
/user/
ist hier wieder mit Eurem Benutzernamen zu ersetzen.Sollte bei Euch oder bei späteren Versionen das Verzeichnis und/oder der Dateiname anders sein, sind diese Angaben entsprechend anzupassen.
Nun wird die zu verwendende SD Karte in den Leser eingeschoben (Achtung !! Karte wird später gelöscht !!) und vor dem Flashen ist zu prüfen, wie die SD Karte im System genannt wird:
Code: Alles auswählen
sudo fdisk -l
Alle erkannten Geräte werden nun aufgelistet und bei mir war die Karte unter
/dev/sdb1
angemeldet. Die erkennt man z.B. an der Größe und wie die Karte zuvor formatiert und ob sie überhaupt formatiert war.Oft werden solche Speicherkarten oder Sticks am Schluss angezeigt. Eine Bootpartition einer Festplatte hat oft
/dev/sda1
.Hierbei gilt zu beachten, dass Ausgaben ohne Zahl die Laufwerke bezeichnen und Ausgaben mit Zahl am Ende Partitionen sind.
Geflasht wird das Image nun mit folgenden Befehlen:
Code: Alles auswählen
sudo umount /dev/sdXn
Code: Alles auswählen
sudo dd bs=4M if=./webos-image-raspberrypi3.rootfs.rpi-sdimg of=/dev/sdX
Code: Alles auswählen
sudo umount /dev/sdXn
X
durch den Buchstaben und das n
bei /dev/sdXn
durch die Zahl ersetzen, die man zuvor für die Karte ermittelt hat !!Und lieber 3x prüfen, bevor man sich das Betriebssystem oder andere Partitionen/Festplatten zerschießt.
Der Flashvorgang startet nun und im Terminalfenster ist der Eingabeprompt so lange weg, bis das Flashen erledigt wurde.
Wer einen anderen PC mit Linux benutzen möchte (nur zum Flashen), kopiert die oben genannte Datei einfach auf den gewünschten PC über das Netzwerk oder einen USB Stick.
Nun kann die SD Karte entnommen und in den Raspberry Pi eingesteckt werden.
Windows:
Zum Übertragen des Images unter Windows gibt es mehrere Möglichkeiten. Die am meisten genutzte ist das Flashen mit dem
Win32DiskImager
.Dieses Programm findet man hier:
![Externer Link Externer Link](/images/links/Link.png)
![](/images/en.gif)
Dort befindet sich auch eine Deutsche Übersetzungsdatei (die interne Übersetzung ist stellenweise unvollständig).
Um mit
Win32DiskImager
das Image zu Flashen, muss dieses natürlich zuerst auf den Windows PC übertragen werden.Wer wenig Erfahrung mit Linux hat, kann das Image unter Windows ganz einfach mit dem Programm
WinSCP
kopieren.Mit
WinSCP
kann man sich ganz einfach auf dem Linux PC anmelden und dieses bietet eine Art Dateimanager, bei der man dann einfach in das entsprechende Verzeichnis geht. Ein Rechtsklick auf die Datei und das anschließende Anklicken von Herunterladen
mit der Angabe des Ziels auf dem Windows PC startet die Übertragung.WinSCP
gibt es hier: ![Externer Link Externer Link](/images/links/Link.png)
![](/images/de.gif)
Wie man das Image anschließend unter Windows mit dem Win32DiskImager flasht, habe ich ausführlich in meiner Anleitung zu Raspbian beschrieben: Raspberry Pi installieren: RASPBIAN Stretch (+Lite)
Nach dem Schreiben des Images mit
Win32DiskImager
ist die Meldung von Windows, dass die Karte formatiert werden soll, unbedingt abzubrechen !!Auch sollte man die SD Karte vor der Entnahme aus dem Kartenleser unter Windows auswerfen ("Hardware sicher entfernen").
Anschließend kann die Karte in den Raspberry Pi gesteckt werden.
Mac OS:
Um das Image unter Mac OS zu flashen, muss auch hier zuvor das Image auf den Mac übertragen werden. Leider habe ich hier keinerlei Erfahrungen, da ich keinen Mac besitze und daher bitte ich hier notfalls zu googlen, wenn man nicht weiß, wie es geht.
Ist das Image erfolgreich übertragen worden, gibt es sicherlich ebenfalls Tools, die einem das Flashen über die Oberfläche ermöglichen.
webosOSE beschreibt hier den Weg über die Kommandozeile, die dem Linux PC sehr ähnelt.
Zuerst wird wieder in das Verzeichnis gewechselt, wohin das Image kopiert wurde:
Code: Alles auswählen
cd <Pfad, wo sich das Image befindet>
Code: Alles auswählen
diskutil list
Code: Alles auswählen
sudo diskutil umountDisk /dev/diskn
Code: Alles auswählen
dd bs=4M if=./webos-image-raspberrypi3.rootfs.rpi-sdimg of=/dev/rdiskn
Code: Alles auswählen
sudo diskutil umountDisk /dev/diskn
n
bei /dev/diskn
und /dev/rdiskn/
wieder die Zahl des Laufwerks, wo Ihr das Image hinkopiert habt und somit in den Befehlen zu ersetzen.Auch hier ist der EIngabeprompt so lange weg, bis der Flashvorgang abgeschlossen wurde.
Danach kann die Karte herausgenommen und in den Raspberry Pi gesteckt werden.
(9) Raspberry Pi 3B: Image testen
Um zu prüfen, ob der Flashvorgang funktioniert hat und/oder das Image in Ordnung ist, wird die SD Karte in den Raspberry Pi gesteckt.
Zudem muss ein Monitor über den HDMI Anschluss, eine Maus und eine Tastatur eingesteckt werden.
Auch sollte ein Netzwerkkabel angeschlossen werden.
Erst danach wird der Raspberry Pi 3B mit Strom versorgt.
Dann wird gewartet, bis das webosOSE Logo auf dem Bildschirm erscheint.
Die nachfolgenden Bilder wurden mit dem Smartphone vom Monitor abfotografiert, daher bitte ich um Nachsicht bez. der Qualität.
![Bild](/images/anleitungen/webosose/webosose_screen.png)
Das ist das Startbild direkt nach dem Hochfahren. Leider passt es nicht genau zu meiner Monitorauflösung und daher musste ich es minimal in der Breite stauchen, da sonst diverse Buttons nach rechts außen verschwunden wären (z.B. der Einstellungsbutton (Zahnrad) im nächsten Bild).
Die Auflösung meines Monitors beträt 1920x1200px, die wohl von webosOSE nicht direkt unterstützt werden.
Nun kann man mit der
F1
Taste das Home Launcher UI
(Menü) aufrufen, welches von der rechten Seite erscheint.![Bild](/images/anleitungen/webosose/webosose_screen_f1.png)
Das sind dann aber auch schon alle Menüpunkte.
(10) Raspberry Pi 3B: Netzwerk konfigurieren
Nach dem Booten und dem Druck auf die
F1
Taste klickt man auf das Zahnrad und kann damit die (noch recht kargen) Einstellungen vornehmen, wie z.B. Netzwerk:![Bild](/images/anleitungen/webosose/webosose_screen_net.png)
Das Netzwerk wurde im Image bereits auf DHCP konfiguriert und der Raspberry Pi kam bei mir sofort ins Internet.
Wie auf dem Bild weiter zu sehen ist, kann hier auch WLAN eingerichtet werden. Die onboard WLAN Karte vom Raspberry Pi 3 wurde bei mir schon erkannt und ich muste nur noch die üblichen WLAN Zugangsdaten eingeben. Der Pi bootete danach ohne Netzwerkkabel und verband sich mit meinem WLAN.
(11) Raspberry Pi 3B: Sonstiges
Nachdem LAN/WLAN und die Sprache eingestellt wurden (im Menüpunkt "General"/"Allgemein") sieht das Ganze dann z.B. so aus:
![Bild](/images/anleitungen/webosose/webosose_screen_general.png)
Vielmehr ist im Moment auch nicht einstellbar.
In der rechten Menüleiste gibt es noch die Punkte
- Bare App
- Enact
- webOS OSE
- Youtube
Bare App
passiert bei mir nichts weiter, wenn man darauf klickt. Enact
ist das Entwickler Framework, um für das System zu programmieren/entwickeln. Hier wird man auf die entsprechende Webseite geleitet, genauso wie beim Button webOS OSE
die Webseite desselben aufgerufen wird. Youtube
startet den Youtube Player.Allerdings vermisse ich den Button zum Herunterfahren aber als das System damals auf dem Palms und zuletzt auf den LG Fernsehern lief/läuft, gab es auch nichts zum Herunterfahren. Einen TV fährt man irgendwie auch nicht herunter. Bisher hat das Stromziehen des Pi auch nicht geschadet aber das muss jeder auf sein eigenes Risiko nehmen.