Piotr Król

I’m into open-source firmware, drawing inspiration from the classic hacker ethos of collaborative innovation and transparency. At 3mdeb, we’re excited about our two main projects: Zarhus OS, an Embedded Linux distribution based on Yocto, and Dasharo, a coreboot downstream. Both are about the value of open development, embedded firmware resilience, platform security transparency, the right to repair, and digital sovereignty.

Community is at the center of our activity. By being involved in the Dasharo Users Group, Dasharo Developers vPub, and events like the Qubes OS Summit, we connect with others who share our passion for open-source. Our efforts with OpenSecurityTraining2 reflect our commitment to sharing knowledge and improving the open-source firmware ecosystem.

As the founder of 3mdeb, my daily tasks go beyond managing the company. I am also responsible for making important decisions about our products, such as Zarhus OS and Dasharo, and developing valuable processes that establish a foundation for projects we undertake for our clients.

Outside work, I enjoy simple pleasures like chess, bridge, and reading. Nature, especially the peace of the forest, is where I find solace. My interests in theology, philosophy, and psychology keep me curious about the world. Whether it’s exploring new technologies or understanding complex ideas, I’m always eager to learn and grow.


Articles (83)


Netcat - how to transfer files without scp or ftp

Published at March 12, 2016 ·  2 min read

One of my recent customers provided me hardware with custom Linux system. Distribution used on this hardware was very limited there was no developers tools, file transfer applications (like scp, ftp or even tftp) or communication clients like ssh. I had to deploy some firmware files to the system without modifying it. This was i386 machine. Of course I could compile something and add this software using usb stick or other stoarge, but what if I would not have direct access to hardware ?...

Categories: app-dev

Emulate Rapberry Pi 2 in QEMU

Published at December 30, 2015 ·  4 min read

In the process of planning system testing for one of my clients I found that someone from Microsoft published patches with BCM2836 support to QEMU mailing list. I thought it is very interesting, because if it is possible to setup emulated Raspberry Pi many use cases can be tested faster and in more automatic way. For example checking how application behave when running on more then one device at once, testing massive deployment process, stress testing and finally speed up debug-fix-test process....

Categories: app-dev os-dev

Using PlatformIO with TI MSP430 LunchPads

Published at December 8, 2015 ·  6 min read

PlatformIO is very interesting project that aim to solve very important problem of configuring deployment environment for embedded systems. IMHO good approach is to focus on modularity (various IDE can be used, even Vim) and simplicity (in best case 2 command should be enough to deploy first code). Recent years we have explosion of bootstrapping applications (ie.vagrant, puppet). Most of them seems to follow git-like command line interface and getting a lot of attention from programmers community....

Categories: firmware iot

UEFI Application development in OVMF

Published at November 21, 2015 ·  3 min read

OVMF (Open Virtual Machine Firmware) is a project that aim is to enable UEFI support in various virtual machines. According to whitepaper various projects have interest in supporting OVFM ie. VirtualBox, Xen, BHyVe and of course QEMU. Why someone may be interested in OVMF ? IMHO the most important reason is that OVMF give ability to develop UEFI applications without using real hardware. This speeds up development cycle by giving ability to start before hardware prototype arrive....

Categories: firmware

Linux, RPi and USB over IP updated

Published at October 27, 2015 ·  4 min read

Because of increasing interesting in USB over IP topic I decided to refresh my old post. I will focus on doing the same thing with more recent version of Raspabian. If you need more information please read my previous post. Setup SD card First get recent version of Raspbian, then unzip and dd it to SD card: 1 sudo dd bs=4M if=2015-09-24-raspbian-jessie.img of=/dev/sdc If you are impatient and want to know what happen in background you can use this method of tracking dd progress:...

Categories: os-dev

Building Android 4.2 LiveSuit image for Cubietruck (Allwinner A20)

Published at September 16, 2015 ·  7 min read

Treating A20 boards like outdated piece of HW by vendors makes building Android for Cubietruck not trivial task. Finding documentation, mailing list or blog post that clearly describe steps is almost impossible. Most of links to SDK are broken and instructions outdated. Because of that I decided to leave couple notes for me and all of you lost in this madness. Hopefully below steps can build foundation for future development and improvements....

Categories: os-dev

Setup for Linux kernel development on Cubietruck

Published at September 1, 2015 ·  8 min read

During last couple of months I see quite big interest in building products on A20 SoC. This chip can be bought for 6USD in quantity. Most important features are: Dual-Core ARM Cortex-A7 (ARMv7) Mali-400 MP2 HDMI, VGA and LCD MMC and NAND OTG and 2 Host ports Tracking media related to low-end mobile market IMHO the hottest SoCs are Allwinner A20 and Rockchip RK3288. A20 ship with dozen development boards like Cubieboard or pcDuino series, Banana Pi, MarsBoard or Hummingbird....

Categories: os-dev

ESP-12 update to SDK v0.9.5 and AT v0.21.0.0? noobs tutorial

Published at January 25, 2015 ·  5 min read

January 23th Espressif published new ESP IOT SDK on their forum v0.9.5. My ESP-12 came with with pretty old version so I decide to update it to latest one: 1 2 3 4 5 6 7 8 9 10 AT+RST OK y_RSöfJ[úndor:www.ai-thinker.com Version:0.9.2.4] ready AT+GMR 0018000902-AI03 OK ESP-12 firmware update pin configuration As picture presents in addition to normal operation we have to pull down GPIO0 and pull up GPIO2....

Categories: firmware iot

Power on of ESP-12 (ESP8266)

Published at January 24, 2015 ·  3 min read

ESP8266 is a SoC made by Espressif. For last couple of months this chip is a rockstar of HackADay and makers community around the Internet. Mostly because of WiFi modules built based on it (ESP-XX family). Rich interface (GPIO, SPI, SDIO, I2C) give those boards potential to be standalone MCU with WiFi capability for wide range of applications. In quantity you can get ESP-01 for $2.7 (for 1kpcs). Of course there is no free lunch....

Categories: firmware iot

Raspberry Pi kernel repository aggregating patches for Linux mainline

Published at October 15, 2014 ·  3 min read

Since several months I’m trying to find my way to embedded Linux programming. My hardware set was very limited I had only one board that can be called “embedded” and it was Raspberry Pi. Because I am more interested in firmware/OS level then hardware I tried to figure out what is going on with RPi kernel. After taking brief review of raspberrypi/linux GitHub repository I realized that close to my heart is upstreaming effort....

Categories: os-dev