Drivers From Outer Space - Fast, Simple Driver Development


Daniel Maslowski (Software Engineer) / Homepage

Termin: Sonntag, 12:00 - Raum V1 - Dauer 60 Min.

During the last two years, I have collected ARM and RISC-V gadgets and
development boards. What I realized is that many of them run systems far off
mainline Linux, and quite often do the vendors not publish the sources. However,
when able to get serial output, I can fix that. And that is where many engineers
start with regular development, so we are in the same boat.

Now how do the original drivers work? Applications in existing products often
have userspace or hybrid drivers, which opens up a door. We can emulate the app,
e.g., in QEMU, and monitor I/O accesses. Then we can write our own driver. But
that is a tedious and time consuming process, the most inconvenient step being
testing. Given storage media, we need to physically move things. Over network,
we could `scp` and `ssh` over to the target machine, then run our code. What if
that could be done in one single step?
The solution is [`cpu`](, a concept originating
from the Plan 9 research operating system that came out of Bell Labs:
Transparently run a program on another machine in the network as if it was
local. In this talk, I show `cpu` in practice and what I have done myself with


Erwünschte Vorkenntnisse: The talk is friendly to beginners and advanced engineers, being conceptual and hands-on at the same time.
Owners of a Raspberry Pi or similar plus an extra machine can experiment with what is described in the talk, given a bit of command line knowledge.

Material zum Beitrag: Folien (1479 KiB), Weiterführende Informationen (extern)

Cloud-Pad für Publikumsinteraktion: Pad


Creative Commons Lizenzvertrag Download MP4 (311 MiB)