RSSAmplifier

Blog

Posts on Sven and the Art of Computer Maintenance

Recent content in Posts on Sven and the Art of Computer Maintenance

kiljan.orgRSS feed ↗31 posts

Latest posts

Arch Linux RISC-V on a Milk-V Mars

Introduction RISC-V is an interesting departure from x86 and ARM CPU architectures. It has a lot of potential due to it being royalty free and having some thought out technical principles on which it is based. Whether RISC-V will be able to earn itself a significant market share next to the two giants has yet to be determined. It has a good start, though. Last year the Raspberry Pi Foundation…

Replace a Lenovo ThinkPad X220's BIOS with an open-source UEFI-capable firmware

Introduction There are many guides on the internet that deal with replacing the firmware of older ThinkPad notebooks with coreboot . However, most of these guides use SeaBIOS as a payload for coreboot, which limits the notebook to booting operating systems exclusively using a legacy BIOS. This is quite a downgrade from the X220’s original firmware, since the X220 was part of the first…

Arch Linux ARM on a Raspberry Pi 5 Model B

Introduction U-Boot does not support the recently released Raspberry Pi 5 . In turn, Arch Linux ARM does not support the Raspberry Pi 5 since the Pi 5’s CPU cores only support booting in 64-bit mode and Arch Linux ARM’s aarch64 Raspberry Pi image relies on U-Boot. It is possible to get Arch Linux ARM up and running on a Raspberry Pi 5 by removing U-Boot and replacing the mainline…

Chromecast casting support across IP networks

There can be situations in which you want to support ‘casting’ across different network segments (VLANs) to a Google Chromecast, an Android TV television or media player, or any other device with Chromecast built-in . One example is guests in a guest wireless network, who want to cast something to media devices in a separate media network. Documentation about this is available here and…

VPN as WAN for guest network on OpenWRT - 2021 edition

Table of contents Use this to quickly jump to a section. Table of contents Introduction Prerequisites Install required packages Create a guest network Configure guest network routing Configure a VPN interface Configure the firewall Restart interfaces Test the connection Add IPv6 support Introduction This is an updated guide for newer OpenWRT versions. Everything was tested with OpenWRT 21.02. This…

Arch Linux ARM on a Pinebook Pro

Those who monitor my blog might note that I have mentioned Arch Linux ARM a time or two. This Linux distribution is very flexible, which is why I like to use it on many different devices PINE64 released the Pinebook Pro late 2019. It is an ARM-powered notebook running many different Linux and BSD distributions . I managed to order one just before they were out of stock due to global component…

Pinebook Pro eMMC factory image

Pinebook Pro eMMC factory image While there are many images available for the Pinebook Pro , I could not find a stock image easily. This might be useful to restore a Pinebook Pro to a state that provides an out-of-the-box experience. This image was provided with a Pinebrook Pro that came from the May 2021 batch, and was made by extracting it from its 64 GB eMMC module without booting the device.…

64-bit Arch Linux ARM on a Raspberry Pi 4 Model B with 8 GB of RAM (May 2021 update)

Introduction In a previous article I explained how to install the 64-bit (‘aarch64’) version of Arch Linux ARM on a Raspberry Pi 4 Model B with 8 GB of RAM in a way that works around several problems. Recently I was contacted by someone who told me that his Raspberry Pi 4 did not boot with the linked U-Boot package from Ubuntu. Officially there is currently only one revision of the 8…

Installing Arch Linux ARM on an Iomega ix2-200

2022-02-28 update With great sadness I was told that Arch Linux ARM dropped support for ARMv5 and ARMv6 . The Kirkwood platform which the ix2-200 is based on is not supported anymore. This guide will remain online, but consider its contents deprecated and obsolete. Introduction This is an updated version of the original 2016 guide , which really needed an update after more than four years. Some…

Integrating a Signal TLS Proxy in an existing site using HAProxy

Introduction Due to censorship issues , the Signal messaging service client was given the option of using a proxy to connect to Signal’s servers. A reference implementation using NGINX with the name ‘Signal TLS Proxy’ is provided by the Signal Technology Foundation. An overview of normal Signal client-server connection: And an overview of a connection through a Signal TLS Proxy:…

64-bit Arch Linux ARM on a Raspberry Pi 4 Model B with 8 GB of RAM

Update - 2021-05-28 These instructions are deprecated, but might still be relevant for anyone on Arch Linux ARM who wants to switch over to the Raspberry Pi Foundation’s kernel. New instructions can be found here . Introduction In May 2020, the Raspberry Pi Foundation launched the Raspberry Pi 4 Model B with 8 GB of RAM , which shortly afterwards replaced the now unavailable 1 GB model.…

Extending the functionality of a Denon AV receiver

Introduction Recently I designed and implemented a full home cinema. It included a TV, media playing devices, a large number of speakers (front, rear, ceiling, subwoofer) and an audio/video receiver (AVR) to drive the speakers. Everything is controlled by a single Logitech Harmony infrared remote control (something with which I have had some experience with in the past ). Everything worked great,…

Installing a PinePhone from scratch

The PINE64 PinePhone is a smartphone running GNU/Linux (and anything else that can run on an AllWinner A64 system on a chip). In April 2020 I ordered the PinePhone. I have played with the device quite a bit since I received it in July 2020. An upgrade program was available, in which the mainboard could be replaced with the latest revision. Improvements include more memory (3 GB instead of 2 GB),…

VPN as WAN for guest network on OpenWRT

Table of contents Use this to quickly jump to a section. Table of contents Please note Introduction Prerequisites Install required packages Create a guest network Configure guest network routing Configure a VPN interface Configure the firewall Restart interfaces Test the connection Add IPv6 support Please note This guide is for older OpenWRT versions (19.x). See this newer guide for OpenWRT 21.x.…

Clonezilla Live, legacy BIOS and UEFI USB boot

Summary Clonezilla Live is a wonderful GNU/Linux distribution which allows you to easily backup and restore images of disks. For the old-timers, think of a open source version of Norton/Symantec Ghost. All kinds of operating systems can be easily backed up (‘imaged’) and restored. It can do this for systems that boot using a legacy BIOS and for systems that boot using UEFI . A…

Arch Linux ARM network boot on Raspberry Pi 4

Foreword In this post I explain the ins and outs of network booting a Raspberry Pi 4 Model B (Pi 4B). I did this earlier for older Raspberry Pi models . The new boot procedure of the Pi 4B is unlike its predecessors, and this warrants a new post. The new boot process will be explained, and a configuration will be offered that will allow network booting of both older and newer Raspberry Pis in a…

Offer an existing site as an onion service

Tor can be used to connect to the onion network. Through this network it is possible to visit normal web sites, but also (web) services within the onion network itself. Visiting the onion network is not that exciting. Just install Tor Browser and be on your merry way. As with Tor users, services within the network can be offered anonymously. This is a short piece about offering an existing web…

Controlling Android TV and Kodi with Logitech Harmony and Flirc

This is a short post about controlling Android TV using a Logitech Harmony infrared remote control and a Flirc USB. Last Christmas I gifted an Nvidia Shield TV . The Shield TV is an Android TV device, which in this case would mostly be used for playing media through Kodi and Netflix . The lucky recipient of the gift uses a Logitech Harmony universal infrared remote control. As the latest revision…

Arch Linux ARM network boot on Raspberry Pi

Foreword In this post I explain the ins and outs of network booting Raspberry Pis. Some Raspberry Pi models can do this without local persistent storage, and most other modelsc can boot with a minimum of data from an SD card. The operating system used is Arch Linux ARM. After booting the system and as long as it has a network connection to a server hosting the Pi’s file system, it can be…

Arch Linux quick start guide

Installing Arch Linux is not really that lengthy as the wiki makes it seem to be. What makes the official installation guide daunting is that it tries to keep track of every little aspect that could be relevant in obscure or rare situations. It provides a good reference manual for those who already have some experience with Arch Linux, but this puts those who lack experience in an uncomfortable…

OpenVPN configuration stacking

Recently I had to work around some network filtering systems. One of the tools I use is OpenVPN . What makes OpenVPN great is its flexibility. Either host the server yourself or use one from a third-party VPN provider, of which most support OpenVPN . An issue with having many (third-party) OpenVPN configuration files is that they are not personalized. Sometimes you really need to add some…

Let's Encrypt certificates in Arch Linux

In this post a brief overview is given for requesting and automated renewal of (free!) Let’s Encrypt SSL/TLS certificates in Arch Linux and Arch Linux ARM. Such certificates can be useful for web, mail and a plethora of different web services that can be secured with SSL/TLS. This guide solely covers requesting and maintaining SSL/TLS certificates, and not the configuration of software that…

A reference guide to ZFS on Arch Linux

Using ZFS in Linux is not as simple as other file systems. The ZFS on Linux code is not integrated in the Linux kernel due to license issues. Therefore, native support by distributions is missing. This does not mean that it is hard to add support for ZFS to an existing installation. On the contrary. In this guide it is shown that durable ZFS support can be added to Arch Linux with a few simple…

Setting up a lightweight authentication back end

Most self-hosted web services can authenticate against a back end server using LDAP or Kerberos . Hosting a server to handle authentication using these protocols can be a daunting task for the uninitiated. This guide explains how to configure Samba as a back end authentication server to allow each user to authenticate against multiple services with a single account. The authentication server will…

Routing traffic through OpenVPN using a local SOCKS proxy

OpenVPN can be used with an obfuscation proxy, such as obfsproxy or obfs4, to avoid identification of VPN traffic through deep packet inspection. In this post I explain a connectivity problem that client-side OpenVPN faces when such a proxy is approached as a local SOCKS proxy by OpenVPN. A solution is provided, of course. An open-source product I like to work with is OpenVPN . It allows…

Maintaining SSL/TLS is hard...

Not even experts are safe from the many pitfalls that exist in implementations. Qualys, known for their Qualys SSL Labs Vulnerability Scanner (used in my research ), allowed the expiration of their blog’s certificate. The relevant site: https://blog.qualys.com/ Qualys rates their own site with a ‘T’ for ’not trustworthy’: See Let’s Encrypt for free SSL/TLS…

My doctoral thesis is available online

See ‘PhD thesis’ in the menu bar at the top of this page.

Installing Arch Linux ARM on an Iomega ix2-200

2021-04-22 update This version of the guide is obsolete. Look here for the 2021 version , which contains some necessary fixes since this was published. 2020-02-11 update Jens Rommel contacted me and notified me of an issue with recent larger Linux boot files, also referred to in this post on the Arch Linux ARM forum . Thanks! Systems might not be bootable when updated due to this issue. The…

Talk at SECRYPT 2016

I gave a talk at the the 13th International Conference on Security and Cryptography (SECRYPT 2016). The subject was my paper, titled ‘User-friendly Manual Transfer of Authenticated Online Banking Transaction Data’. The presentation slides can be downloaded here . Once again, I thank my fellow authors Harald Vranken and Marko van Eekelen for their valuable contribution.

Use your own email server with Ghost

There are a lot of examples on the Internet for configuring Ghost ’s mail functionality. The examples I encountered assume that a service is used for which Ghost’s NodeMailer contains built-in settings. Ghost’s support page for configuring the internal email client only notes examples for Mailgun, Amazon’s Simple Email Service and Google’s Gmail. Here I present…

Speaking at SAI 2016

I will be presenting the paper ‘Towards a Virtual Bank for Evaluating Security Aspects with Focus on User Behavior’ at SAI Computing Conference 2016 . The presentation will be today in room 16 of CentrEd at ExCeL in London, between 15:30 and 17:30 (UTC +1). A big thanks goes out to my co-authors (and (co-)promoters) Harald Vranken and Marko van Eekelen . The slides for this talk can be…