Marcus Folkesson

Embedded Linux Artist

Mounting with systemd and udev

Mounting with systemd and udev Systemd hasn't always been my first choice as init system for embedded system, but I cannot ignore that it has many good and handy things that other init systems don't. At the same time, that is just what I don't like with systemd, it does not follow the "Do one thing and do it well"-philosophy that I like so much. I'm very thorn about it. cover

GPLv2 and GPLv3

Open Source "Free as in freedom - not as in free beer". Free beer is nice, but freedom is even nicer. I have been working with companies from different sections including consumer electronics, military applications, automotive and aeronautics. One common question, regardless of section, is "Can we really use Open Source in our product?". The answer is usually Yes, you can, but.... One common misunderstanding is to interpret Open Source as in free beer. cover

Forge a hoof scratch

Forge a hoof scratch In this project I made a hoof scratch as a gift to a friend - made out of a horse shoe of course. I do have a few different forges depending on what to forge. The induction forge is great for thick and straight materials such like hammer heads and tongs. One of the greatest benefit is that there is only 30s startup time as it requires no preparations at all. cover

This website setup

This website setup This post is more for my own good if I have to setup my website once again. Maybe someone find it useful. Tools Hugo I use Hugo [1] to generate my website. Hugo is a fantastic tool for generate static web pages in an flexible way. All pages is written in reStructured Text [2] which is the markup syntax I strongly prefer. Docker The web server [4] and traefik [5] server is running in docker [3] containers. cover

Leather sewing machine

Leather sewing machine I have worked with leather for some time which I enjoyed a lot. Leather is so general purpose and is both robust and nice looking. So far I've made myself a wizard hat, dice bags, mug pads, bookmarks.. The majority of all leather projects involves a sewing, which is quite entertaining but really time consuming so I invested in a $60 leader sewing machine which make the whole process a lot smoother. cover

Leather penguin

Leather penguin A Linux guy needs his penguin, right? I found this pattern [1] on etsy and thought it would be a fun project to make a little companion. The leather I'm using for this is a 2-3oz veg-tanned goat skin. It is a little too thin to make a robust penguin, but I rather want it soft and squeeze-friendly than robust. That's how I prefer to have my companions. cover

Player's handbook, Dungeon Master's Guide and Monster Manual

Player's handbook, Dungeon Master's Guide and Monster Manual These three books are the "core books" for Dungeons and Dragons 5e. This is not an in depth review of these books as they are so fundamental. But I think it is good to mention them at least, before I go any further with the more cool-but-not-so-neccessary-books. Player's Handbook The Players Handbook [1] (PHB) contains all the basic rules that the player needs to know to play the game, equipment, spells, character options, feats, races, backgrounds and everything to put it all together.

D&D - My confession

Dungeons and dragons - My confession I have always been fascinated about fantasy. The computer games I appreciated most during my young days was role-playing game such as Baldur's Gate, Diablo and Neverwinter Nights, all games with their own mysterious setting there evil lurks at every corner. For half a year ago, a friend of mine introduced me to Dungeons and Dragons 5e and I was hooked. Maybe a little too much. cover

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].