Marcus Folkesson

Embedded Linux Artist

V4L2 and media controller

V4L2 and media controller The media infrastructure in the kernel is a giant beast handling many different types of devices involving different busses and electrical interfaces. Providing an interface to handle the complexity of the hardware is not an easy task. Most devices have multiple ICs with different communication protocols... so the device drivers tends to be very complex as well. Video For Linux 2 (V4L2) is the interface for such media devices. cover

Parsing command line options

Parsing command line options Parsing command line options is something almost every command or applications needs to handle in some way, and there is too many home-made argument parsers out there. As so many programs needs to parse options from the command line, this facility is encapsulated in a standard library function getopt(2). The GNU C library provides an even more sophisticated API for parsing the command line, argp(), and is described in the glibc manual [1].

Embedded Linux Conference 2019

Embedded Linux Conference 2019 Here we go again! This trip got exited even before it begun. I checked my passport the day before we should leave and noticed that my passport has expired. Outch. Fortunately I was able to get a temporary passport at the airport. I must admit that I'm not traveling that often and do not have these 'must-checks' in my muscle memory.. This time we were heading Lyon in France. cover

ligsegfault.so

libsegfault.so The dynamic linker [1] in a Linux system is using several environment variables to customize it's behavior. The most commonly used is probably LD_LIBRARY_PATH which is a list of directories where it search for libraries at execution time. Another variable I use quite often is LD_TRACE_LOADED_OBJECTS to let the program list its dynamic dependencies, just like ldd(1). For example, consider the following output $ LD_TRACE_LOADED_OBJECTS=1 /bin/bash linux-vdso.so.1 (0x00007ffece29e000) libreadline. cover

Embedded Linux Conference 2018

Embedded Linux Conference 2018 OK, time for another conference. This time in Edinburgh, Scotland. My travel is limited to Edinburgh, but this city has a lot of things to see, including Edinburgh Castle, the Royal Botanic Garden, the clock that is always is 3 minutes wrong [1] and lots of more. A side note, yes I've tried Haggis as it's a must-try-thing and so should you. But be prepared to buy a backup-meal. cover

Oppigård Amarillo, third batch

Oppigård Amarillo, third batch This recipe is also from the book [1] and the third batch of this beer and it is one of my favorite hopier beer. I think it is fun to brew single hop beers since you learn to recognize the taste and aroma of a single hop at a time. The aroma of Amarillo is described as flowery, spicy and citrus-like with a distinct orange bouquet. cover

Green fingers

Green fingers This year I have engaged more than usual in growing vegetables. I grow quite common things like cucumbers, tomatoes, dill, beans, peas, squash, salad, carrots and potatoes. We live in a moss that cools the environment quite a bit, so it's hard to grow without a greenhouse - which we happily have. In the past years it has become a mediocre harvest of vegetables, but this year it has really exploded. cover

St:Eriks Pale Ale, second batch

St Eriks Pale Ale, second batch The book "Klona öl" [1] ("Clone beers" in English) has collected recipes from many Swedish breweries. One challenge is to brew a recipe and then buy a bottle with the same beer and compare, hope This is the second time we brew a St:Eriks Pale ale, which is a pale ale with a lot of citrus aroma from the Citra and Simcoe hop. The body is quite light and it is a perfect summer beer. cover

BEER2RST - my first attempt with golang

BEER2RST - my first attempt with golang I'm using Beersmith [1] a (non-free...) software to create my beer recipes. It's written in Java and runs well on Linux. One of the biggest benefits with using Beersmith is that my brewing house [2] is taking exported recipes as input and setup mash schemes automatically - really comfortable. I brew beer several times a month and always takes notes of each brewing, both methods and results. cover

Lund Linux Conference 2018

Lund Linux Conference 2018 It's just two weeks from now til the Lund Linux Conference (LLC) [1] begins! LLC is a two-day conference with the same layout as the bigger Linux conferences - just smaller, but just as nice. There will be talks about PCIe, The serial device bus, security in cars and a few more topics. My highlights this year is to hear about the XDP (eXpress Data Path) [2] to get really fast packet processing with standard Linux. cover