OnePlusOne / TWRP / Android 6.0.x: Entschlüsseln nicht möglich

…und nur noch schnell ein Backup machen – oder auch nicht. Während der Erstellung eines Handy-Backups über TWRP auf meinem OPO konnte ich plötzlich den verschlüsselten Datenbereich nicht mehr freischalten. Zuletzt nutzte ich diese Funktion unter Android 5, entsprechend dürfte wohl Marshmallow der Verursacher sein.

Bei der Verschlüsselung wird beim OPO eine Funktion des Prozessors genutzt. Die hierzu verwendete API wurde offenbar in CM13 geändert, sodass TWRP an dieser Stelle in’s leere greift. Im passenden Bug-Report wurde das Problem bereits ausführlich behandelt, ein Patch für die Version 3.0.3 angekündigt – welche weiterhin auf sich warten lässt. Für die Übergangszeit hat AtAM1 ein passendes Image bereitgestellt. Mit dem konnte dann auch die Recovery an die Daten ran und ein Backup erstellen. Fein.

BitNotice #102 – Windows Server für’s Klonen vorbereiten (SYSPREP)

BitNotice #102 - Windows Server für's Klonen vorbereiten (SYSPREP)

(5 MB) 00:04:15

2016-07-19 19:34 🛈

Spätestens wenn man einen Haufen Server benötigt und eine Virtualisierung einsetzt möchte man nicht dutzende male das Windows-Setup durchführen und seine wichtigsten Tools per Hand installieren. Einfach die Festplatte zu kopieren ist aber auch keine wirkliche Lösung, denn Windows hat intern IDs, welche im lokalen Netzwerk besser nicht mehrmals vorkommen sollten. Über das Tool „Sysprep“, welches praktischerweise in der der Standardinstallation schon dabei ist, kann man eine Windows-Installation schnell von eindeutigen Merkmalen befreien und so für das Klonen vorzubereiten. Das Tool steht in allen aktuellen Versionen zur Verfügung.

Bitte beachtet, dass je nach Windows-Lizenz nur eine gewisse Anzahl, Art und Hostkonfiguration abgedeckt ist, ein genauer Blick in die Lizenzvereinbarung ist entsprechend Pflicht.

Ergänzungen:

  • 2:14 – …159265… (SCNR)
  • 3:27 – Neu im Sinne von Windows-Einstellungen wurden zurückgesetzt, installierte Programme, Updates, etc bleiben erhalten

rsync vs. curlftpfs: mkstemp-Fehler

Hach ja, wenn Theorie und Praxis mal passen würden. Bei vielen meiner Server bietet der Anbieter einen kostenfreien Backupspeicher an. Gut, ob man dem Vertraut steht wo anders, aber eine weitere (verschlüsselte) Kopie kann ja nicht schaden, richtig?

Am schönsten wäre es für mich Borg einfach ein weiteres Repo auf dem Backupspeicher anlegen zu lassen. Leider gibt es da ein Problem: Der Anbieter bietet den Zugriff nur per FTP an, welches von Borg nicht nativ unterstützt wird.

Zwar ist es mit curlftpfs möglich den Server als lokalen Ordner einzubinden, allerdings unterstützt der Dateisystemtreiber viele Standardoperationen nicht wirklich und hat seit 2008 kein Update mehr gesehen. Mangels Alternativen bleibt wohl nur herumbasteln. Leider konnte ich mit keiner noch so exotischen Kombination – egal ob mount-Parameter oder loop-Devices – eine Funktionierende Umgebung für Borg kreieren, also muss ein weiterer Umweg als Workaround her.

Da lokal genug Platz vorhanden ist lautet das Konzept: Borg sichert in einen lokalen Ordner, der wird dann auf den FTP gespiegelt. Klarer Job für rsync, oder? Naja, sieht die Software anders:

rsync: mkstemp "/mnt/backup/ftp/repo/data/0/.1290.dU25tM" failed: Operation not supported (95)

Glücklicherweise betrifft das Problem wohl ausschließlich die mkstemp-Funktion, welche rsync nur für temporäre Kopien benötigt. Diese werden Standardmäßig auf dem Ziel erstellt, lassen sich über einen passenden Parameter aber auch in anderen, lokalen Ordnern ablegen. Der komplette Befehl lautet dann z.B.

rsync --temp-dir=/tmp/rsync --no-owner --no-group -avP /mnt/backup/staging/ /mnt/backup/ftp/

So werden nur noch die wirklichen Zieldaten auf dem FTP-Server abgelegt und die Kopie scheint zuverlässig zu funktionieren. Alles nicht sonderlich schön, aber immerhin funktioniert das Konstrukt und eine weitere Kopie liegt irgendwo rum. Man könnte natürlich auch einfach NFS/iSCSI/… anbieten, aber das wäre ja moderne Technik…

BitBastelei #204 – Linux-Shell-Erweiterung: Powerline für Bash/vim/tmux & Co

BitBastelei #204 - Linux-Shell-Erweiterung: Powerline für Bash/vim/tmux & Co

(20 MB) 00:13:32

2016-07-17 10:00 🛈

Bild: https://www.adlerweb.info/blog/wp-content/uploads/2016/07/powerline-mini-300×59.pngAls Bastler arbeite ich recht viel auf der Linux-Konsole – ein mächtiges Werkzeug, aber nicht unbedingt übersichtlich. Mit dem Tool „powerline“ kann man mit überschaubarem Aufwand die Shell aufhübschen und um diverse Widgets ergänzen. Während Dinge wie Wettervorhersage für mich eher nach unnötiger Spielerei aussehen sind z.B. Statusinformationen in GIT-Ordnern oder der aktuelle Batteriezustand wertvolle Helfer.

Die Installation kann bei Arch, Gentoo und Debian über bereitgestellte Pakete erfolgen, alternativ lässt sich der distributionsunabhängige Python-Paketmanager „pip“ verwenden. Alle Installationsmethoden werden in der Doku beschrieben.

Konfigurationen

https://gist.github.com/adlerweb/14f7543479645483b01e679d7ca307b7

# Powerline
if [ -f `which powerline-daemon` ]; then
        powerline-daemon -q
        POWERLINE_BASH_CONTINUATION=1
        POWERLINE_BASH_SELECT=1
        . /usr/lib/python3.5/site-packages/powerline/bindings/bash/powerline.sh
fi
let $PYTHONPATH='/usr/lib/python3.5/site-packages'
set rtp+=/usr/lib/python3.5/site-packages/powerline/bindings/vim/
set laststatus=2
set t_Co=256
set -g default-terminal "screen-256color"
powerline-config tmux setup
{
	"segments": {
		"left": [
			{
				"function": "powerline.segments.shell.mode"
			},
			{
				"function": "powerline.segments.common.net.hostname",
				"priority": 10
			},
			{
				"function": "powerline.segments.common.env.user",
				"priority": 30
			},
			{
				"function": "powerline.segments.common.env.virtualenv",
				"priority": 50
			},
			{
				"function": "powerline.segments.shell.last_pipe_status",
				"priority": 10
			},
			{
				"function": "powerline.segments.shell.cwd",
				"priority": 10
			},
			{
				"function": "powerline.segments.shell.jobnum",
				"priority": 20
			},
			{
				"function": "powerline_gitstatus.gitstatus",
				"priority": 40
			}
		],
		"right": [
			{
				"function": "powerline.segments.shell.last_pipe_status",
				"priority": 10
			},
			{
				"function": "powerline.segments.common.vcs.branch",
				"priority": 40
			}
		]
	}
}

 

virt-manager/libvirt: Installation nicht möglich: virtlogd-sock

Beim Erstellen einer neuen VM über virt-manager erhielt ich heute folgende Meldung:

Installation konnte nicht fertiggestellt werden: «Socket-Erstellung zu '/var/run/libvirt/virtlogd-sock' fehlgeschlagen: Datei oder Verzeichnis nicht gefunden»

Traceback (most recent call last):
File "/usr/share/virt-manager/virtManager/asyncjob.py", line 88, in cb_wrapper
callback(asyncjob, *args, **kwargs)
File "/usr/share/virt-manager/virtManager/create.py", line 2288, in _do_async_install
guest.start_install(meter=meter)
File "/usr/share/virt-manager/virtinst/guest.py", line 461, in start_install
doboot, transient)
File "/usr/share/virt-manager/virtinst/guest.py", line 396, in _create_guest
self.domain = self.conn.createXML(install_xml or final_xml, 0)
File "/usr/lib/python2.7/site-packages/libvirt.py", line 3777, in createXML
if ret is None:raise libvirtError('virDomainCreateXML() failed', conn=self)
libvirtError: Socket-Erstellung zu '/var/run/libvirt/virtlogd-sock' fehlgeschlagen: Datei oder Verzeichnis nicht gefunden

Ursache ist das Logging, welches in einen eigenen Dienst ausgelagert wurde. Neben libvirtd muss nun auch virtlogd vor dem Start der VM geladen werden. Für systemd-Nutzer heißt das also…

systemctl start virtlogd
systemctl enable virtlogd

 

BitBastelei #203 – TP-Link WR841 Router-Unbrick mit TFTP

BitBastelei #203 - TP-Link WR841 Router-Unbrick mit TFTP

(40 MB) 00:10:38

2016-07-10 10:00 🛈

Geht bei der Aktualisierung eines Routers etwas schief, z.B. weil das Stromkabel gezogen wird, kann es passieren, dass sich der Router nicht mehr starten lässt. Über das Protokoll „TFTP“ lässt sich mit passender Software ein solcher Router jedoch schnell wieder reparieren.

  • IP: 192.168.0.66/24
  • Dateiname (Version 9): wr841nv9_tp_recovery.bin
  • Windows-Server: TFTPd32

Eine Kurzfassung des Videos findet sich bei Freifunk Mayen-Koblenz.

BitNotice #101 – TAN-Generator: Hotbar-Reparatur & USB-Mod

BitNotice #101 - TAN-Generator: Hotbar-Reparatur & USB-Mod

(29 MB) 00:01:27

2016-07-08 21:15 🛈

TAN-Generator kaputt? Na so einfach lass ich den nicht in Richtung Elektroschrott entfleuchen – dafür hatte ich damit schon zu viel Spaß. Mit etwas heißer Luft wird das vermeintlich kaputte Display wieder funktionsfähig. Und da wir schon drin sind: Ein USB-Kabel erspart zukünftig den nervigen Batteriewechsel.

Gentoo: Pakete von Distcc/pump ausnehmen

Verteiltes Kompilieren mit distcc und pump macht vor allem auf langsamen Systemen eine Menge Sinn. Leider vertragen nicht alle Pakete diese Lastverteilung, so z.B. mysql/mariadb. Um einzelne Pakete von distcc oder pump auszunehmen geht man wie folgt vor:

Folgende Dateien erstellen:

FEATURES="${FEATURES} -distcc -distcc-pump"
FEATURES="${FEATURES} -distcc-pump"

Nun ggf. den Ordner /etc/portage/package.env anlegen und dort – analog zu package.use/package.keywords/… – dateien für die Pakete anlegen, z.B.

dev-db/mariadb no-distcc-pump.conf

So wird z.B. für MariaDB der Pump-Modus abgeschaltet, distcc bleibt jedoch aktiv. Alternativ kann die ebenfalls erstellte no-distcc.conf verwendet werden um das verteilte Kompilieren komplett zu unterbinden.

BitBasics – PPTC, die selbstrückstellende Sicherung

BitBasics - PPTC, die selbstrückstellende Sicherung

(202 MB) 00:15:55

2016-07-03 10:00 🛈

PPTCs (polymeric positive temperature coefficient) sind kleine Bauelemente, welche ähnlich einer Sicherung funktionieren: Wird der Strom zu hoch wird die Verbindung (nahezu) unterbrochen. Der Clou: Wird die Ursache der Überlast entfernt schaltet sie sich selbst wieder ein. Wermutstropfen: Sie sind nur für kleinere Spannungen erhältlich, der abschaltbare Strom ist limitiert und die Auslösung sehr träge. Bauteile mit diesem Prinzip werden auch unter den Namen PFRA, Polyswitch, Multifuse, Polyfuse oder Everfuse vertrieben.

BitNotice #100 – Mailbag: Keramiksicherungen

BitNotice #100 - Mailbag: Keramiksicherungen

(22 MB) 00:02:13

2016-07-01 20:04 🛈

Keramiksicherungen, 5x20mm, 100er-Pack (10A/500mA)
Quelle: „POWER MA’s store„, je ~6,50€

Nerd Inside