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 18.04 ist da!

Kubuntu heißt jetzt Bionic Beaver, also bionischer Biber und wieder eine LTS Version, die 36 bzw. als Ubuntu 60 Monate lang gepflegt wird. Bionic ist wie immer am besten über ein Peer-to-Peer-Netzwerk herunterzuladen. Nutzt die untenstehenden Torrent-Links:

Die erhaltenen .ISO-Images sollten per md5sum, sha1sum oder sha256sum auf Korrektheit überprüft werden:

Die obigen Images (ca. 1.7 GB) können via UNetbootin auf einen USB-Strick transferiert werden oder auf eine DVD gebrannt werden.

Ein bestehendes System lässt sich z. B. mit der Softwareverwaltung auf 18.04 bringen. Wer die Maus nicht mag, kann auch ein Distributionsupgrade auf der Kommandozeile erzwingen:

kdesudo "do-release-upgrade -d -m desktop -f DistUpgradeViewKDE"

Viel Spaß!

BitLocker Laufwerke unter Kubuntu einbinden

Anbei eine kurze Anleitung wie ein USB-Stick, der mit BitLocker von Microsoft verschlüsselt wurde, unter Ubuntu eingebunden werden kann. Es ist viel einfacher, als so manche Anleitung das beschreibt.

Das Paket dislocker per Muon und Mausklick oder via Kommandozeile installieren:

sudo apt-get install dislocker

Zur Vorbereitung zwei Mountpoints nach Wunsch anlegen, einen Mountpunkt für den Container, den anderen für den eigentlichen Dateizugriff.

sudo mkdir /mnt/bitlocker
sudo mkdir /mnt/usbdrive

BitLocker-USB-Stick einstecken und per sudo blkid oder mit tail -f /var/log/syslog nachsehen, wo dieser eingebunden wird, hier als Beispiel /dev/sdb1. Jetzt den verschlüsselten Container einbinden.

sudo dislocker-fuse -V /dev/sdb1 -uGerätePass@Wort -- /mnt/bitlocker

Im Verzeichnis /mnt/bitlocker/ liegt nun ein „dislocker-file“ das per Loop-Device eingebunden werden kann.

sudo mount /mnt/bitlocker/dislocker-file /mnt/usbdrive -o loop

Fertig! Zwei Befehle reichen, den Rest bekommt ihr selber hin. Wenn ihr die Einbindung per Script automatisieren wollt, ist es vielleicht besser die Bitlocker Partition per ID anzubinden und nicht via /dev/sdb1. Dazu per blkid oder mit ls -l /dev/disk/by-partuuid/ nachschauen wie das Ding heißt.

sudo dislocker-fuse -V /dev/disk/by-partuuid/5b0465f7-01 -uGerätePass@Wort -- /mnt/bitlocker

Viel Spaß!