Piotr Król

Founder and Embedded Systems Consultant at 3mdeb as well as freelance CTO of Vitro Technology and CEO of LPN Plant. Passionate about building firmware that enables advanced hardware features in modern products. Dedicated to customers that treat embedded software security and upgradeability as forethought. Open source firmware evangelist interested in platform security and trusted computing. In favor of fixed price projects with a clear definition of success.

Social media profiles

Check GitHub profile


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