Marcus Folkesson

Embedded Linux Artist

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

ath10k QCA6584 and Wireless network stack

ath10k QCA6584 and Wireless network stack ATH10K is the mac80211 wireless driver for Qualcomm Atheros QCA988x family of chips, and I'm currently working [1] with the QCA6584 chip which is an automotive graded radio chip with PHY support for the abgn+ac modes. The connection interface to the chip is SDIO which is hardly supported for now, but my friend and kernelhacker, Erik Strömdahl [2] , has got his hands dirty and is currently working on it. cover

Linux driver for PhoenixRC adapter

Linux driver for PhoenixRC adapter Update: Michael Larabel on Phoronix has written a post [3] about this driver. Go ahead and read it as well! A few years ago I used to build multi rotors, mostly quad copters and tricopters. It's a fun hobby, both building and flying is incredible satisfying. The first multi rotors i built was nicely made with CNC cutted details. They looked really nice and robust. cover

Patch changelogs with git-notes

Patch changelogs with git-notes Git notes [1] is a neat function that has been around since v1.6.6. Notes is a kind of metadata that belongs to a certain commit but is stored separately (different git object) from the commit itself. The fact that it's a separate git object is important, it will therefor keep the commit hash intact, and as a bonus - it has its own diff log. cover

Buildroot: out-of-tree builds

Buildroot: out-of-tree builds Like the Linux kernel, Buildroot supports building out-of-tree in a very similar way. This could be very useful when you have multiple configurations in the same Buildroot repository that you want to build without interference. Consider the following example: cd buildroot/ mkdir -p ../outputs/device{1,2} make O=../outputs/device1 menuconfig make O=../outputs/device1 make O=../outputs/device2 menuconfig make O=../outputs/device2 Each output has its own .config so you may change the build configurations independently.

get_maintainers and git send-email

get_maintainers and git send-email Many with me prefer email as communication channel, especially for patches. Github, Gerrit and all other "nice" and "user friendly" tools that tries to "help" you to manage your submissions does not simply fit my workflow. As you may already know, all patches to the Linux kernel is by email. scripts/get_maintainer.pl (see [1] for more info about the process) is a handy tool that takes a patch as input and gives back a bunch of emails addresses.

OOM-killer

OOM-killer When the system is running out of memory, the Out-Of-Memory (OOM) killer picks a process to kill based on the current memory footprint. In case of OOM, we will calculate a badness score between 0 (never kill) and 1000 for each process in the system. The process with the highest score will be killed. A score of 0 is reserved for unkillable tasks such as the global init process (see [1]) or kernel threads (processes with PF_KTHREAD flag set). cover

Embedded Linux course in Linköping

Embedded Linux course in Linköping I tech in our Embedded Linux course on a regular basis, this time in Linköping. It's a fun course with interesting labs where you will write your own linux device driver for a custom board. The course itself is quite moderate, but with talented participants, we easily slip over to more interesting things like memory management, the MTD subsystem, how ftrace works internally and how to use it, different contexts, introduce perf and much more. cover