Thoughts dereferenced from the scratchpad noise.

Latest posts


Linux, RPi and USB over IP

Published at August 18, 2014 · Piotr Król ·  10 min read

Trying to google ‘USB over IP’ doesn’t give much except some business web pages that give you it as a service. This brings some information about potential on the market IMHO. Main idea is well presented on open source project page for usbip. I really recommend to read USB/IP - a Peripheral Bus Extension for Device Sharing over IP Network technical paper it describe briefly technical details and capability. In short USB over IP is a sharing system aim to expose USB devices from server to client encapsulating USB I/O messages in TCP/IP payload....

Categories: firmware

Coreboot for QEMU armv7 (vexpress-a9) emulated mainboard

Published at August 7, 2014 · Piotr Król ·  8 min read

Recently I came back to look into coreboot. Mainly because low level is fun and skills related to firmware (even coreboot) starting get attention on freelance portals (first odesk job, second odesk job). I was surprised that under the wings of Google coreboot team start to support ARM (BTW ARM programming is IMHO next great skill to learn). So I cloned latest, code compiled QEMU armv7 mainboard model and tried to kick it in latest qemu-system-arm....

Categories: firmware

Linux (Debian Wheezy) on Lenovo y510p

Published at May 16, 2014 · Piotr Król ·  4 min read

After long analysis I decide to buy new laptop. I had about $1000 (or 3000PLN) and most important things to me were: i7 CPU - because of performance (of course at least 4700 series) SSD - again performance 17.3” - working space no OS/FreeDos/Linux - I will not pay additional fee to M$ for system that I won’t use Full HD resolution at least 8GB RAM non-glare display First I realize that my budget is to small for such a hardware....

Categories: os-dev

Improve productivity with Google history using bookmarks and Chrome extensions

Published at July 30, 2013 · Piotr Król ·  5 min read

Statistics Depending on different factors we spend a lot of time in browser. I cannot find statistics for desktops but for mobile Flurry researches are probably relevant enough. Simplifying this statistics and assuming that desktop market is similar (it is probably to big simplification for some of you but IMHO it is good for reflections on this blog): access Facebook, social networks (+18%, +6%) play some games (lets say 30% of our 32% from Flurry report +13%) web browsing time (+20%) entertain read news use productivity tools We have at least 60 percent of our time in web browser....

Categories: miscellaneous

0x6: Root file system for embedded system

Published at June 7, 2013 · Piotr Król ·  10 min read

Table of contents Introduction Get and build BusyBox Fast and simple Setting up kernel through NFS Verify Configuration Embedded filesystem tuning Summary Introduction To make our embedded linux work as virtual development platform we need some environment after booting. There is many approaches to get working root file system but I will use the easiest one as an exercise. I don’t want to create full embedded distribution (this is good plan for future works)....

Categories: os-dev

0x5: Qemu network configuration and tftp for Virtual Development Board

Published at June 7, 2013 · Piotr Król ·  7 min read

Table of contents Introduction Setup tftpd QEMU networking Verify all components of Virtual Development Platform What next ? Introduction This was not trivial task to me. As usual google is your friend and RTFM works. First we will set tftp which we use to download modified kernel for U-Boot. Second I will show how to setup bridged network for QEMU needs and finally we will perform some basic test of our setup....

Categories: app-dev os-dev

0x4: Linux kernel for embedded system

Published at June 7, 2013 · Piotr Król ·  3 min read

Table of contents A little history Get linux and build it Kudos A little history Thinking about embedded linux probably leads to first try of porting linux to different architecture. I did google research (I know I should probably read mailing list archive) and found that there were few attempt to port linux to different platform. There is no clear information about which port of linux was first. This is probably because many hackers didn’t report their effort....

Categories: os-dev

0x3: Embedded board bootloader

Published at June 7, 2013 · Piotr Król ·  3 min read

Table of contents What is bootloader ? Why we need bootloader ? Which bootloader ? What is versatilepb ? Compilation Where to go from here ? Kudos What is bootloader ? It is a program written to bring up more complex code (eg. kernel). On very simple system it can even not exist. Bootloader should prepare all required hardware that kernel or different operating software will need at its start point....

Categories: firmware

0x2: Toolchain for Virtual Development Board

Published at June 7, 2013 · Piotr Król ·  4 min read

Table of contents Introduction What is toolchain ? Why we need cross-toolchain ? How to create toolchain ? Emdebian path Summary Kudos 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....

Categories: app-dev os-dev

0x1: Qemu as an environment for embedded board emulation

Published at June 7, 2013 · Piotr Król ·  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