Fedora erobert das Pinephone

Na…? Ward Ihr schon auf der Pine64 Shopseite und habt Eurer neues Projekthandy geordert? Ach Ihr habt den Artikel am Samstag gelesen und seid der Ansicht, daß es noch nicht so weit wäre. Also, das können wir ändern 😀

Fedora erobert das Pinephone

Selbst wenn Ihr es am Samstag noch geordert hättet, es wäre noch nicht da, aber das bedeutet nicht, daß Ihr nicht schon vorarbeiten könnt. Schritt 1 wäre eine schnelle MicroSD Karte mit 16 GB+ zu kaufen und sich einen passenden SD-Kartenleser zu organisieren. Mein Laptop war nämlich nicht in der Lage die schnelle Karte anzusprechen 😉 Mein Tablet allerdings schon und weil ich eh eine 256er Karte gekauft hatte ( kosten so um die 34 € ), habe ich die 128er aus dem Tablet ins Handy gesteckt.

Fangfrage: Wozu brauchen wir die SD-Karte, wenn doch schon ein Speichermedium mit 32 GB im Handy drin ist?

Nun, auf der internen Karte ist Manjaro drauf. Das könnte man überschreiben, aber dann wäre es weg. Und wir möchten doch unser neues Telefon nicht gleich am ersten Tag bricken, oder? 😀

Folgender Hinweis

Alles was Sie hier sehen, lesen oder hören, ist ohne Gewähr. Wenn Sie Ihr neues Telefon oder Ihren PC schrotten, ist das nicht mein Problem.

Das gesagt, geht es gleich los. Um ein Image schreiben zu können, muß man aber überhaupt erst einmal eines haben: Auf der Webseite PP Fedora Sdsetup findet man einen passenden Link dazu:

zur Zeit : https://github.com/nikhiljha/pp-fedora-sdsetup/releases/download/v0.2.0/fedora.tar.xz

Der Link kann sich jederzeit ändern, da die Basis Images alle paar Wochen neu gebaut werden. Hat man es erst einmal auf dem Handy, gibt es ganz normale Updates per dnf. Jetzt kann man zu recht sagen, „ja, aber was ist das für eine Quelle, wo kommen die Pakete her?“ Ihr werdet lachen, direkt von Fedora. Das ist lediglich ein bereits um die nötige Pinesoftware erweitertes Image mit einem zusätzlichen Fedora COPR-Repository von nikhiljha für die Spezialsoftware wie Megapixels, Chatty, Calls etc. .

Das Image muß nur noch im Dateimanager ausgepackt werden:

Image auspacken

Die Anleitungen zum Brennen von Images auf SD-Karten fürs Pine haben eins gemeinsam, die wollen das Image in der Konsole auf die Karte schreiben. Dabei ist das gar nicht nötig. Gnome-Disks aka. Laufwerke ist Eurer Freund. Wie man damit ein Image auf einen Datenträger schreibt, findet Ihr hier:

Fedora: Wie man ein ISO auf USB brennt

Ihr wählt also die SD-Karte als Ziel aus und als Image die .img Datei aus dem .tar.xz Archiv. (xz ist nur ein anderes Kompressionsprogramm als GZIP ).

Während das Image auf Eure Karte geschrieben wird, ein paar Hintergrundinfos über Fedora auf dem Pinephone.

Bleeding Edge und noch einen Schritt weiter

Das Pinephone benötigt zum Funktionieren Software, die hoch experimentell ist, dies nennt man Bleeding Edge. Daher kommen die Pakete direkt aus dem RawHide Repository von Fedora. RawHide ist die Alphaversion von Fedora. Natürlich ist da nicht alles experimentell. Die meiste Software wird bloß gegen neue Teile des Betriebssystem wie LibC usw. frisch kompiliert, ist aber ansonsten stabil. Es fliegt einem also nicht gleich immer alles um die Ohren, auch wenn Ihr hier natürlich anderes lesen werdet ;D Keine Panik, es war alles ohne Magie und Reinstall zu beheben. Es kann aber immer mal passieren, daß neue Libs für Ärger sorgen. Das war z.b. beim Mesa- und dem Bind-Libs-Update der Fall. Danach starten die Internet-Apps nicht mehr. Was man dagegen tun kann, wird man in Zukunft hier lesen können.

Ich werde im Blog entsprechende Warnungen posten, wenn etwas bekannt wird. Eine andere Quelle ist die Issue-Übersicht im Github. Da Ihr da aber nicht alle Fälle lesen werdet, genauso wenig wie bei mir, wäre es ratsam beide Seiten im Auge zu behalten.

Partionierung der SD-Karte

Das Image dürfte jetzt drauf sein. Da es nur 4.x GB hat, und Ihr eine 16 GB+ Karte verbaut habt, müssen wir doch in die Konsole. Also Terminal aufmachen und Root werden „sudo su“.

Ich hoffe Ihr habt Eurer Laufwerketool im Blick, Ihr braucht jetzt eine wichtige Info:

Bei Euch wird stehen, das es jede Menge ungenutzten Platz gibt. Das ist klar, weil das Image ja nur 4 GB groß ist. Wer Parted nicht installiert hat, möge das jetzt bitte nachholen: „sudo dnf install parted“

  • 1. sudo parted /dev/<SD-Device>

Wichtig: Das was oben bei Kartenleser steht, hier im Beispiel /dev/mmcblk0, ist Eurer <SD-Device> .

  • 2. Im parted gebt Ihr jetzt diese zwei Befehle ein:
    • (parted) resizepart 2 100%
    • (parted) quit

Damit wurde die Größe der Partition auf den zur Verfügung stehenden Platz vergrößert. Wie man oben sieht ist das dann alles 😉 Wer Lust hat, könnte sich alternativ eine Home-Partition anlegen. Jetzt braucht es nur noch eine Anpassung des eigentlichen Filesystems und wir sind fertig:

  • 3. sudo resize.f2fs /dev/<SD-Device_PARTITION2>
  • <SD-Device_PARTITION2> ist im Beispiel oben /dev/mmcblk0p2.

Der Moment der Entscheidung ist da

  • Jetzt zieht die Karte ab und steckt sie ins Pinephone, genau wie auf jedem anderen Handy auch. Deckel zu machen, und Pinephone starten. Die Zugangsdaten sind Username „pine“ / Passwort „123456“, was auch gleichzeitig der Entsperrcode ist.

Eine Frage bleibt, wollt Ihr Phosh nutzen, oder Gnome?

Im Screenunlocker müßt Ihr Euch jetzt für einen Desktop entscheiden. Leider merkt der sich das nicht, was bei Phosh bedeutet, daß man das ganze Handy neu booten muß.

Ich persönlich favorisiere Gnome, denn Phosh ist noch so unausgegoren, daß ich Euch nicht mal ein Bildschirmfoto davon zeigen kann, weil es nicht ausgenommen werden kann. Deswegen hier ein verwackeltes Archivfoto mit einem anderen Handy 😉 Zur Gegenüberstellung, das was Euch mit Gnome-Shell am Ende der ersten Artikelserie zum Pinephone erwartet:


Phosh

Gnome-Shell nativ

Die Initialisierung der Gnome-Shell dauert etwas, keine Panik 😉 Aber so macht ein Handy Spaß, oder? 😀

Ich favorisiere es übrigens quer, das gibt am wenigsten Probleme. Es sind natürlich noch einige Arbeiten an dem Handy zu machen. Was das alles ist, kommt im nächsten Teil der Serie in 3 Tagen!

Was Ihr Euch bis dahin verkneifen solltet: einfach ein komplettes Update zu machen, weil im Repo letzte Woche zwei Killerupdates gelandet sind, die die Funktionalität des Handy beeinflussen. Wer es sich doch nicht verkneifen kann, weil er auch die Cam und GPS austesten muß, der findet hier eine DNF Config, die das schlimmste verhindert:

# cat /etc/dnf/dnf.conf
[main]
keepcache=True
gpgcheck=1
installonly_limit=3
clean_requirements_on_remove=True
best=False
skip_if_unavailable=True
exclude=mesa* bind* gnome-shell* mutter*

Letzter Artikel der Serie:

Fedora erobert das Pinephone

nächster Artikel:

Fedora erobert das Pinephone

 

 

Linux – Cannot find device „tun0“

Ihr wollt z.B. mit SSH ein VPN und dazu einen Tunnel aufbauen, könnt aber nicht, weil Ihr diese Fehlermeldung bekommt: Cannot find device „tun0“ ? Ja, na dann auf ins neue Netstackventure!

Tunneldevice mit Linux nutzen

Ihr erinnert Euch noch an den Artikel: SSH VPN mit den iproute2 Tools ? Da haben wir ein SSH VPN aus dem Hut gezaubert und mußten dazu mit Tunneln arbeiten. Da hat sich einiges getan, deswegen müssen wir uns leider erneut damit befassen.

Schritt 1 und 2 sind klar, ein TUN Modul laden und Device erzeugen, aber was ist das…?? :

[root@backup ~]# modprobe tun
[root@backup ~]# ip link set tun0 up;
Cannot find device "tun0"

Cannot find device „tun0““ ist ein echter Kopfschmerzenerzeuger, weil so unnötig. Also das Modul „tun“ ist wie der Name nahelegt, für Tunneldevices zuständig. Es sollte eigentlich ein Tunneldevice tun0 erzeugen, tuts aber nicht und mit normalen Fedora Bordmitteln ist das auch nicht so einfach machbar.

Ihr braucht das Paket „tunctl“ ( dnf install tunctl ) und müßt Euch erstmal ein tundevice bauen:

tunctl -t tun0

Wie man sieht, ist das nicht schwer. Jetzt, wo das Gerät persistent gemacht wurde, seht Ihr an der Ausgabe von dem Befehl oben, klappt das dann auch mit dem „ip link set tun0 up“ und Ihr könnt der Anleitung aus SSH VPN mit den iproute2 Tools weiter folgen. Ihr müßt nur dran denken, daß Ihr das auch bei Euch auf dem Client PC macht und nicht nur auf dem Server.

Eine Bewertung, wieso das nicht mehr defaultmäßig bei Fedora dabei ist, verkneif ich mir, es wird merkwürdige Gründe haben 🙂

How to Linux – Webserver lokal mounten

Icon des Webservers auf dem DesktopIcon des Webservers auf dem DesktopWer seine Webseiten entwickeln will, muß die irgendwie auf seinen Webspace bekommen. Je nachdem was man programmiert und welche Serverumgebung man hat, kann es auch sein, daß einem der Server einen Deploy Mechanismus anbietet. Das ist z.B. im WebApplicationServer Tomcat so vorgesehen. PHP Anwendungen werden üblicherweise einfach nur in das Public_html des Webspace kopiert und direkt aufgerufen.

Schritt 1 – SSH Keys einrichten

Voraussetzung für dies Verfahren ist, daß man sich auf seinem Webspace per SSH einloggen kann. Könnt Ihr das nicht, sucht Euch einen neuen Anbieter.

Das tun wir hier mal ( den Domainnamen habe ich mal exemplarisch gewählt, den gibt es zwar wirklich, aber nicht bei mir 😉 )

[marius@eve ~]$ ssh webdemode@webdemo.de
webdemode@webdemo.de's password: 

Passwort eingeben, weil noch geht ja kein Key.

Last login: Sat Mar 31 12:38:16 2018 from 79.239.240.108
[webdemode@s113 ~]$ ls -la
total 14
drwxr-x--- 3 webdemode services 4096 Mär 31 09:59 .
drwxr-xr-x 13 root root 4096 Mär 31 09:59 ..
-rw-r--r-- 1 webdemode webdemode 18 Aug 8 2017 .bash_logout
-rw-r--r-- 1 webdemode webdemode 193 Aug 8 2017 .bash_profile
-rw-r--r-- 1 webdemode webdemode 231 Aug 8 2017 .bashrc
drwxr-xr-x 3 webdemode webdemode 4096 Mär 31 09:59 public_html

Es fehlt das Verzeichnis „.ssh“, also anlegen:

[webdemode@s113 ~]$ mkdir .ssh
[webdemode@s113 ~]$ ls -la
total 18
drwxr-x--- 4 webdemode services 4096 Mär 31 10:09 .
drwxr-xr-x 13 root root 4096 Mär 31 09:59 ..
-rw------- 1 webdemode webdemode 229 Mär 31 10:39 .bash_history
-rw-r--r-- 1 webdemode webdemode 18 Aug 8 2017 .bash_logout
-rw-r--r-- 1 webdemode webdemode 193 Aug 8 2017 .bash_profile
-rw-r--r-- 1 webdemode webdemode 231 Aug 8 2017 .bashrc
drwxr-xr-x 3 webdemode webdemode 4096 Mär 31 09:59 public_html
drwxrwxr-x 2 webdemode webdemode 4096 Mär 31 10:02 .ssh

Noch hat es falsche Rechte, da würde SSH meckern :

[webdemode@s113 ~]$ chmod 700 .ssh
[webdemode@s113 ~]$ cd .ssh/
[webdemode@s113 .ssh]$ vi authorized_keys2

Dann den Fingerprint von Eurem Key in die Datei authorized_keys2 reinschreiben:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAEAQ7v3LaRyRjbm...... Rqr9L8IjxAEeT7bzZ/VH20ksRNwSEU5jnTE7S2Jcvk2u/7CnmipAp/uE2SvOdEVm7Lgku4y9EgSNlNi+QVbGFkzQ788AsiMHHULacHZRT9w== marius@meinlinuxrechner

(hier eine stark gekürzte Fassung, Eurer muß komplett da rein)

Nun noch die Rechte von der Datei ändern:

[webdemode@s113 .ssh]$ ls -la
total 10
drwx------ 2 webdemode webdemode 4096 Mär 31 11:03 .
drwxr-x--- 4 webdemode services 4096 Mär 31 10:09 ..
-rw-rw-r-- 1 webdemode webdemode 1435 Mär 31 11:03 authorized_keys2
[webdemode@s113 .ssh]$ chmod 644 authorized_keys2 
[webdemode@s113 .ssh]$

Das wars. Ab jetzt kann man mit seinem Key einloggen :

[webdemode@s113 .ssh]$ exit
Abgemeldet
Connection to webdemo.de closed.
[marius@eve ~]$ ssh webdemode@webdemo.de
Last login: Sat Mar 31 12:39:39 2018 from 79.239.240.108

Schritt 2 – SSHFS benutzen

Damit man sich seinen Webspace per SSH direkt in seinen Arbeitsbereich auf dem Desktop mounten kann, möglichst ohne dauernd Passwörter eingeben zu müssen, braucht man einen SSH-Agent z.b. den Gnome-Keyringdämonen. Diesem gebe ich meinen Key und statt mich jedesmal zu fragen, schickt der Agent dann einfach den Schlüssel an den Server.

ssh-add /pfad/zu/meinem/SSH-Schlüssel_rsa

ggf. Passwort eingeben.

sshfs webdemode@webdemo.de:/home/webdemode/ mnt

und schon kann man im Filesystem seines Desktops einfach auf den Webserver zugreifen, als wenn es Lokal wäre :

[marius@eve ~]$ ls -la mnt/
 insgesamt 52
 drwxr-x---. 1 testuser 500 4096 31. Mär 12:09 .
 drwx------. 106 marius marius 20480 31. Mär 11:57 ..
 -rw-------. 1 testuser testuser 356 31. Mär 13:05 .bash_history
 -rw-r--r--. 1 testuser testuser 18 8. Aug 2017 .bash_logout
 -rw-r--r--. 1 testuser testuser 193 8. Aug 2017 .bash_profile
 -rw-r--r--. 1 testuser testuser 231 8. Aug 2017 .bashrc
 drwxr-xr-x. 1 testuser testuser 4096 31. Mär 11:59 public_html
 drwx------. 1 testuser testuser 4096 31. Mär 13:03 .ssh

Welcher User einem da jetzt angezeigt wird, hängt von Eurem System ab, aber i.d.R. werden es nur die UID und GID des Serverusers sein. SSH kümmert sich dabei um alles, also auch, daß man die UID transponiert wird, es gibt am Ende also keine Probleme mit dem Lesen oder Schreiben von Dateien.

Das kann man dann einfach mit Gedit oder einem anderen Programm öffnen (BlueFish z.b. ):

Datei des Webservers in GEdit

Datei des Webservers in GEdit