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)


0x2: Toolchain for Virtual Development Board

Published at June 7, 2013 ·  4 min read

Introduction This is probably the most complicated topic of all related to embedded development but we need to deal with it at the beginning. I read a lot about toolchains but still don’t know enough to explain details. I think that best answers are in crosstool-ng documentation. What is toolchain ? Toolchain as the name said is a set of tools chained together, so output of one tool is the input for different tool....

Categories: app-dev os-dev

0x1: Qemu as an environment for embedded board emulation

Published at June 7, 2013 ·  2 min read

Table of contents Introduction Compilation Kudos Introduction QEMU is a CPU emulator using dynamic binary translation to convert guest CPU instructions into host CPU instructions[1]. It supports many architectures from x86, through ARM and MIPS, to MicroBlaze. According to compilation configuration target list QEMU targets 26 different softmmu types. Only for ARM it supports 33 machines (like ARM Versatile/PB (ARM926EJ-S) or Samsung NURI board (Exynos4210)) and 28 CPUs (with cortex-a9 and pxa270)....

Categories: app-dev os-dev

0x0: Intro to Virtual Development Board building

Published at June 7, 2013 ·  2 min read

Preface There are many reasons why ambitious programmers should care about huge rush in embedded market. IMO there is great potential in it. I don’t want to go deep into this but take a look at all tablets, phones, smart TVs and other cool stuff like wireless in you washing machine or refrigerator (ok this two are right now only a gadgets :) ). This is all embedded. Another thing is that wages of experienced embedded developers are really high....

Categories: firmware

Workflow improvement with Open Source tools - part 1

Published at May 16, 2013 ·  5 min read

Introduction I want to start a series of articles to describe how I improve my workflow with geeky Open Source applications. I will concentrate on terminal applications that I try to use in my GTD process. Terminal Solarized gnome-terminal If you already don’t know what solarized color scheme is then please take a look at this page. To install solarized colorscheme in gnome-terminal simply follow instruction from this git repository....

Categories: miscellaneous

Thunderbird to Mutt migration - tips & tricks

Published at May 15, 2013 ·  3 min read

Preface I migrate with my working environment to laptop. My workstation going older and I don’t have time to maintain few systems to keep it clean and in sync. I probably have to improve my work flow but right now I have different problems. Few weeks ago after changing environment to mobile and powerful laptop I also changed OS to Ubuntu and mail client to Thunderbird. I have to admit that both choices were mistake and I want to came back to Debian and Mutt....

Categories: miscellaneous

Yet another quick build of arm-unknown-linux-gnueabi

Published at April 3, 2013 ·  3 min read

So I decide to check what is going on with crosstool-ng and refresh my old post about building arm-unknown-linux-gnueabi toolchain. Last post was pretty popular, so definitely this is direction I should follow :). I will not repeat myself, so if you encounter any problems please check last post, section with known problems in crosstool-ng doc/ directory or RTFM. Let’s begin: Get the latest crosstool-ng As usual I’m trying to use latest version possible....

Categories: app-dev os-dev

Music for programming

Published at March 30, 2013 ·  2 min read

Of course this is strongly associated with personal taste but I will write my experience. <www.pandora.com> - really great radio station, choose your genre or artist and it will lead you through all variety of this type. unfortunately if you are fan of Iron Maiden, Blind Guardian, prog rock or irish folk you will be bored after 2 hours or less. Sadly not available in Poland {% emoji disappointed %} maybe some proxy will work but I wasn’t able to find one....

Categories: miscellaneous

Tmux multiplexer and vi-like keys in copy-mode

Published at March 19, 2013 ·  1 min read

So I tried to write second post for my new blog but to effectively work using terminal I need terminal multiplexer. I switched to tmux from screen because I reach point that I can’t do some things in it in easy way and performance was poor. Also activity of tmux developers is better than for gnu screen. I also experienced annoy buffer crashing especially after come back from lock mode or cmatrix much but after reading few articles about alternative for screen I switched to tmux....

Categories: miscellaneous

Short hint for all those who use vim and pathogen

Published at January 15, 2013 ·  1 min read

Today, after updating my workspace to latest version I encounter below error during vim running. Error detected while processing function pathogen#runtime_append_all_bundles: line 1: E121, E116. Quick look on pathogen runtime_append_all_bundles function and I found...

Categories: miscellaneous

Sqlite3 gem not supported on Heroku

Published at November 18, 2012 ·  1 min read

When I tried to deploy second part of RoR tutorial to Heroku I get this error: 1 2 3 4 5 6 7 8 9 10 11 12 An error occurred while installing sqlite3 (1.3.5), and Bundler cannot continue. Make sure that `gem install sqlite3 -v '1.3.5'` succeeds before bundling. ! ! Failed to install gems via Bundler. ! ! Detected sqlite3 gem which is not supported on Heroku. !...

Categories: app-dev