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)


Quick build of arm-unknown-linux-gnueabi with crosstool-ng

Published at March 14, 2012 ·  2 min read

You might be surprised at how much you have to make to correctly build arm-unknown-linux-gnueabi config based toolchain with crosstool-ng. As you can see examples of many open source projects, the man’s work is a rare resource. The result of this economic fact is that the attempt to build configuration arm-unknown-linux-gnueabi is not a simple task and during an operation you can come across many problems. Although I am not afraid of problems and effectively try to fight them and of course sharing the results of my work....

Categories: app-dev os-dev

Splitting my personal repository

Published at March 14, 2012 ·  1 min read

After writing a few posts in which my workspace scripts could be useful, I realized that I should split blog works from the scripts that can be useful to others. From now materials related to the blog I will track in a separate repository and I’ll add them as submodule into my environment. This implies that if we intend to deliver something to a broader audience this should include only those things which the recipient is expected and which we say that we provide....

Categories: miscellaneous

Debugging coreboot in qemu environment - part 1

Published at March 12, 2012 ·  2 min read

First of all I use testing version of Debian - wheezy. Clone coreboot repository: 1 2 git clone http://review.coreboot.org/p/coreboot cd coreboot; make menuconfig Configure FILO as apayload and use its latest version: 1 Payload -> Add a payload -> FILO Payload -> FILO version -> HEAD Add verbose debugging messages: 1 2 3 Debugging -> Check PIRQ table consistency Debugging -> Output verbose malloc debug messages Debugging -> Output verbose ACPI debug messages Debugging -> Enable debug messages for option ROM execution Debugging -> Built-in low-level shell Debugging -> Trace function calls Try to build:...

Categories: firmware

Hostname generator

Published at February 20, 2012 ·  1 min read

Many times happened that I spend time, during the installation of the new system, whether it be a virtual physical machine, wondering about it’s hostname. One day I asked myself the trouble searching for host name generator. Best I could find (currently second in the results of google) is rospo.net. It gives you the choice of category for the host name. My favorite, as a fan of fantasy is “Characters from Tolkien”....

Categories: miscellaneous

Improve productivity by tracking work environment with git - vim

Published at February 20, 2012 ·  3 min read

In this post I try to describe my vim configuration procedure and how it is connected with git. The whole concept is based on keeping all the configuration files in a separate directory. These files are connected using symbolic links in places where system or application requires it....

Categories: miscellaneous

Improve productivity by tracking work environment with git - preparation

Published at February 19, 2012 ·  1 min read

Update: My repository is available here. Below is first post from series in which I want to describe my experience gained in attempt to enhance my productivity by using git to control the contents of some files in my home directory. The first step to improve the productivity is good organization of working environment. It happens very often that I work on multiple machines both physical and virtual. Therefore I need a good mechanism to share knowledge, experience, code, configuration and many other things....

Categories: miscellaneous

Set irssi under debian to use freenode server

Published at February 15, 2012 ·  1 min read

Very short manual on how to set up irssi to work with freenode servers. First, install irssi: 1 sudo apt-get install irssi Run: 1 irssi For freenode write: 1 /connect holmes.freenode.net Send register command for your {nickname} and add information about your {e-mail}: 1 /msg nickserv register {nickname} {e-mail} Copy and paste line, which you get from freenode registration server to your mailbox, to irssi....

Categories: miscellaneous

arbtt as productivity improver for Linux environment

Published at February 6, 2012 ·  3 min read

As I mentioned in previous post I work a lot on improving my productivity. After FreeMind it is time for arbtt. This is small tool which tracks active windows during your work. It is delivered with distro that I’m currently using (Debian wheezy). So all I had to do was: 1 sudo apt-get install arbtt Below I try describe how I configure arbtt to work with some apps that I use (Google Chrome, FreeMind, gnome-terminal and screen)....

Categories: miscellaneous

First steps to improve work productivity in Linux environment

Published at February 5, 2012 ·  2 min read

The problem encountered on several occasions over several months. Now it is time to deal with it. How did this happen? As always, resources were not sufficient, and if we can not increase the amount of resources we must strive to optimize their use.In this case, it was about time. While reading my last acquisition, once again I faced the problem of re-configure Linux account. Every time when I need new account for some reasons I need to configure some things manually....

Categories: miscellaneous

UEFI from Linux enthusiast perspective

Published at January 15, 2012 ·  2 min read

Another interesting topic with which I am dealing with recently is the UEFI. As we read on wikipedia: “The Unified Extensible Firmware Interface (UEFI) is a specification that defines a software interface between an operating system and platform firmware.". The purpose of this specification is to create something what in the future fully replace the BIOS. Of course, as always in such a situation, I wonder what OpenSource and Linux gurus have to say....

Categories: miscellaneous