Kubuntu von einem USB Stick an einem UEFI-Rechner betreiben

Vor einigen Jahren habe ich damit angefangen meine private Arbeitsumgebung auf einem bootbaren USB-Stick mit auf Dienstreisen zu nehmen. So kann ich per rsync die Umgebung und Daten vor der Abfahrt schnell aktualisieren und Abends im Hotel privaten Aufgaben in der gewohnten Umgebung nachgehen. Etwa das versenden eines Kneipenlesungs-Newsletters.

Vor UEFI war es einfach: Bei der Installation (K)ubuntu als Ziel für System und GRUB 2(!) den USB-Stick auswählen, warten, Notebook via USB-Stick booten, einrichten, fertig! Bei reinen UEFI- mit oder ohne Secure-Boot-Systemen funktioniert das nicht mehr so einfach. Ein UEFI-Boot-Stick muss her. (Wer nur ein (UEFI)-Live-System haben möchte, das sich seine Umgebung merken kann, benötigt nur eine persistente Installation.)

Da ich keine vollständige Anleitung im Netz gefunden habe, erfolgt hier ein Erfahrungsbericht mit Tipps und Links. Ich mache das diesmal nicht so ausführlich, da das Thema nur für wenige von euch interessant sein wird. Wenn euch in dieser Anleitung etwas fehlt oder ihr einen Tipp habt, hinterlasst einen Kommentar. Ich füge gerne Details und Bilder ein.

Warnung! Wenn Ihr dieser Anleitung folgt, solltet Ihr technisch versiert und experimentierfreudig sein. Wenn ihr nicht aufpasst ist ein Rechner schnell kaputt-konfiguriert. Seit sorgfältig! Ich übernehme keine Gewähr für die Richtigkeit dieses Artikels.

USB-Stick partitionieren

Ich nutze einen sehr kompakten 128 GB USB-Stick, der zum Transport im Rechner stecken bleiben kann. Den Stick sollte man zu Beginn z.B. mit Gparted in zwei Partitionen aufteilen, eine kleine VFAT– und eine große EXT2-Partition. Das einfachere EXT2-Dateisystem eignet sich für bootbare USB-Sticks besser als die Journaling-Varianten wie EXT4. Die VFAT-Partition sollte mindestens 64 MB groß sein und den boot-Flag erhalten (Partition->Markierungen bearbeiten).

Nicht wundern ich habe 2,5 GB gewählt, da ich so noch ein iso-Installationsmedium unterbringen kann. Mein Stick ist ein Multiboot-Stick, das soll hier keine Rolle spielen.

Kubuntu installieren

Das einfachste und sicherste ist Kubuntu aus einer virtuellen Maschine heraus auf den Stick zu installieren. Es geht aber auch mit einem Rechner, der von als Live-System gebootet ist. Hier bitte unbedingt auf das GRUB-Ziel aufpassen! Wenn hier die Festplatte gewählt wird, bootet der Rechner nicht mehr oder nur inkl. USB-Stick.

Kubuntu 18.04 z.B. in VirtualBox booten und „Kubuntu ausprobieren“ wählen. Den USB-Stick in die VM einbinden (Geräte->USB) und „Install Kubuntu“ starten. Bei „Einrichtung der Festplatten“ unbedingt „Manuell“ wählen.

Als Installationsziel von Kubuntu die EXT2-Partition wählen, den Boot-Loader unbedingt auf den USB-Stick legen. „Jetzt installieren“, Fertig konfigurieren und warten. Das schreiben auf dem USB-Stick wird lange dauern, seit nicht ungeduldig.

Jetzt geht es mit einiger manueller Arbeit weiter, diese findet ihr sehr gut im Ubuntuusers-Artikel „EFI Externer-Datenträger“ beschrieben. Für den initialen Boot müsst ihr wie im Artikel beschrieben manuell eine „grub.cfg“ erstellen. Den Abschnitt dazu könnt Ihr aus der /boot/grub/grub.cfg eurer EXT2-Partition kopieren.

Finale

Wenn alles soweit funktioniert hat, sollte bei dem USB-Stick-System noch die Systemzeit auf lokale Zeit umgestellt werden, sonst verstellt sich die Hardwareuhr auf hauptsächlich via Windows betriebenen Systemen.

timedatectl set-local-rtc 1

Wegen des update-grub nach Kernel-Updates habe ich dem System auch seinen Update-Manager entzogen, d.h. ich kümmer mich händisch um updates via apt-get update und apt-get dist-upgrade -y.

sudo apt-get purge update-manager-core

Die USB-Installation kann noch weiter optimiert werden z.B. bei genügend Hauptspeicher mit einer ramdisk.

Betrieb

Ein solches System ist nicht optimal, aber funktioniert ganz brauchbar. Da Eingabegeräte wie Maus- und Tastatur über die selbe USB-Schnittstelle wie Dateien gehen, kann das System bei viel File-I/O schon mal stocken. Hier ist unbedingt ein schneller USB-Stick zu bevorzugen.

Das System mit aktuellen Daten von eurem Hauptsystem zu versorgen kann via rsync erfolgen. Im Prinzip kann das User-Home-Verzeichnis gespiegelt werden und schon entsteht eine exakte Kopie der Arbeitsumgebung mit Mails, Office, etc. Es können bestimmte (Punkt-)Verzeichnisse oder (Konfigurations-)Dateien mit -exclude-from ausgeschlossen werden.

Auch bleibt zu sagen, dass die meisten USB-Sticks nicht für solch einen Betrieb ausgelegt sind. Mein letzter USB-Stick hat diese Torturen ca. 4 Jahre überlebt, danach musst ein Neuer her.

Habt ihr Fragen oder weitere Hinweise, her damit!

Hauppauge WinTV-dualHD DVB-T2 unter Kubuntu 18.04

Nun wurde auch bei uns in der Gegend auf DVB-T2 umgestellt, also musste neue DVB-T2-Hardware her. Nach etwas Recherche habe ich mich für eine Hauppauge WinTV-dualHD entschieden. Warum diese Karte? Vor allem weil LinuxTV sagt die Karte sei lauffähig. Die Dual-Tuner-Version war kaum teurer, als die singleDH-Variante und ermöglicht das aufzeichnen eines Kanals und das anschauen eines anderen Programms.

Soweit mir bekannt lassen sich unter Linux im Moment via DVB-T2-Stick nur öffentliche rechtliche Programme empfangen bzw. dekodieren. Auch wird in den Foren geschrieben, dass man etwas Rechenleistung benötigt. Mein altes „Intel® Core i5-4670 3,4 GHz HD Graphics 4600“-System wird beim schauen eines Programms zu ca. 25% ausgelastet.

Nun ans Werk. Die Karte auspacken, Antenne anschließen, aber noch nicht an den Computer anschließen. Hier erst eine Konsole starten und auf die Systemmeldungen lauschen:

tail -f /var/log/syslog

Wenn ihr nun die Karte einsteckt lässt sich den Meldungen einiges entnehmen. Ich kürze die Kernelmeldungen mal auf das Interessanteste:

usb 3-5: new high-speed USB device number 6 using xhci_hcd
usb 3-5: New USB device found, idVendor=2040, idProduct=0265
usb 3-5: New USB device strings: Mfr=3, Product=1, SerialNumber=2
usb 3-5: Product: dualHD
usb 3-5: Manufacturer: HCW
em28xx 3-5:1.0: New device HCW dualHD @ 480 Mbps (2040:0265, interface 0, class 0)
em28xx 3-5:1.0: DVB interface 0 found: isoc
em28xx 3-5:1.0: Identified as Hauppauge WinTV-dualHD DVB (card=99)
tveeprom: Hauppauge model 204109, rev B3I6, serial# 14027788
tveeprom: tuner model is SiLabs Si2157 (idx 186, type 4)
tveeprom: TV standards PAL(B/G) NTSC(M) PAL(I) SECAM(L/L') PAL(D/D1/K) ATSC/DVB Digital (eeprom 0xfc)
si2168 8-0064: Silicon Labs Si2168-B40 successfully identified
si2168 8-0064: firmware version: B 4.0.2
si2157 9-0060: Silicon Labs Si2147/2148/2157/2158 successfully attached
si2168 8-0064: Direct firmware load for dvb-demod-si2168-b40-01.fw failed with error -2

Die Karte meldet sich, das ist prima, es fehlt aber eine bestimmte Firmware. Der Kernel sagt uns sogar wie die gewünschte Datei heißt. Diese ladet ihr bitte von folgender Seite herunter und kopiert sie nach /lib/firmware. https://github.com/OpenELEC/dvb-firmware/tree/master/firmware

sudo cp /home/heinbloed/dvb-demod-si2168-b40-01.fw /lib/firmware/

Am besten den Rechner neu starten und wieder mit tail -f /var/log/syslog nachsehen. Die Firmware wird geladen sagt folgende Zeile: downloading firmware from file ‚dvb-demod-si2168-b40-01.fw‘. Fertig, die Karte läuft!

Kaffeine

Als TV-Anwendung eignet sich Kaffeine ganz gut. Dazu im Menü Fernsehen -> Fernsehen einrichten… wählen. Tab „Gerät 1“ hier unbedingt unter DVB-T2 als Quelle „de-All“ wählen, mein Bundesland NRW hat zumindest hier in der Gegend nicht funktioniert. Unter Fernsehen->Kanäle die Fernsehsender suchen lassen, übernehmen, sortieren, etc. und es kann los gehen.

Channel-Liste für VLC oder VDR

Für VLC oder den VDR (Video Disc Recorder) müsst ihr eine channel-liste zur Verfügung stellen, dies geht für gewöhnlich mit w_scan.

sudo apt-get install w-scan
w_scan -f t -c DE -A 1 -L > vlc.xspf
w_scan -f t -c DE -A 1 -X > channels.conf

Hardware

lsusb gibt aus:

Bus 003 Device 006: ID 2040:0265 Hauppauge 

Hinweis

Auf dieser Seite findet ihr einen persönlichen Erfahrungsbericht wie ich diese Hardware unter Linux ans Laufen gebracht habe. Dies ist keine offizielle Support-Seite! Ich Übernehme keinerlei Garantie für die Angaben und es gilt der rechtliche Hinweis.

Eine sehr gute Quelle für Hinweise und Fragen ist http://wiki.ubuntuusers.de/

Kubuntu 18.04 Audiogeräte zur Laufzeit erkennen

Ich bin so wahnsinnig und betreibe an meinem Kubuntu-Desktop einen 5.1-Reciever an einem zweiten Display-Port-Eingang allein für die Audio-Ausgabe. Nun kommt es vor, dass ich den Reciever erst später hinzu schalte. Das bekommt PulseAudio 11.1 jedoch leider nicht mit. Eine Option dem Daemon anzustoßen, die Audiogeräte neu einscannen, kenne ich jedoch nicht. Der Behelf ist einfach und sollte für alle Audio-Geräte funktionieren, egal ob via HDMI, DisplayPort, Bluetooth oder USB-Audio. Wobei Bluetooth- und USB-Audio Geräte bei mir anstandslos zur Laufzeit erkannt werden.

Option 1 per Kommando „pacmd exit“ PulseAudio neu starten.

Option2 das udev-Modul entladen und neu laden

pacmd unload-module module-udev-detect
pacmd load-module module-udev-detect

Kubuntu: Daten von der SD-Karte oder USB-Stick retten

Nicht das ich es gebraucht hätte 🙂 Aber es kann ja mal vorkommen, dass man Fotos auf den Rechner schiebt und die dort verbastelt. Da die Datenträger mit vFAT also DOS bzw. Windows-artig formatiert sind, kann man die Daten mit Testdisk wunderbar wiederherstellen.

Testdisk ist einfach zu installieren:

sudo apt-get install testdisk

Nun die SD-Karte in den Kartenleser legen, mit tail -f /var/log/syslog kann man sehen, wo diese eingebunden wird, hier /dev/sdb. Syslog hat auch noch den Vorteil Fehlermeldungen rund um die SD-Karte zu sehen. Ansonsten tut es auch sudo blkid.

mkdir baustelle
cd baustelle

Nun ein Image anlegen um nicht auf den Originalen arbeiten zu müssen.

sudo dd if=/dev/sdb of=sdcard.img
testdisk sdcard.img

Testdisk ist Dialog-geführt, das Meiste erklärt sich von selbst.

  1. [ Continue ] Continue even if write access isn’t available
  2. Please select the partition table type, press Enter when done.
    [Intel  ] Intel/PC partition
  3. [ Advanced ] Filesystem Utils
  4. [  Type  ]  [  Boot  ]  [Image Creation]  [Undelete] [  Quit  ]

Nun kann man durch das Verzeichnissystem spazieren und mit c (copy) gelöschte Daten in einen sicheren Platz kopieren. Es werden auch ganze Verzeichnisse wiederhergestellt, wenn man ein Verzeichnis markiert und c drückt.

Wenn alle Bilder nun „_MG_1234.JPG“ heißen, können diese Verzeichnisweise mit:

rename 's/^_/I/' *.JPG

umbenannt werden.

P.S.: Mit sudo testdisk /dev/sdb kann auch direkt auf dem medium gearbeitet werden.

 

Linux englische Fehlermeldungen

Ab und zu muss man unter Linux ja doch noch fummeln, der PDA oder das Handy will sich im ersten Versuch nicht verbinden oder ein Client startet ohne Konfiguration nicht.

Der Erste und wichtigste Tipp (den ich auch oft vergesse): Unter http://wiki.ubuntuusers.de/ nach dem Paket suchen und die Anleitung lesen 🙂

Zweitens den Client nicht per KDE-Startmenü, sondern per Kommandozeile starten KDE->Programme->System->Terminal oder ALT+F2 „konsole“. Hier die Befehlszeile eintippen und die Ausgabe beobachten. Die Fehlermeldungen ggf. in Google kopieren und nach einer Lösung suchen.

Drittens: Nach deutschen Fehlermeldungen zu suchen ist oft gar nicht verkehrt, die Antworten sind oft von besserer Qualität 😉 Funktioniert aber nur bei gängigen Applikationen bzw. Problemchen. Um englische Fehlermeldungen zu bekommen, in der Kommandozeile einfach

LANG=C befehlszeile

eingeben und schon hat man englische Fehlermeldungen, die dann zu mehr Treffern beim Googlen führen.