Marcus Folkesson

Embedded Linux Artist

--build, --host and --target explained

--build, --host and --target explained Too often I see abuse of the --host, --build and --target options during (cross-)compilation of code using autotools. The feeling is more that people try different values until it seems to produce what they want without knowing what they are actually doing. But who can blame them. What these parameters do it not obvious and very few people compile their own crosscompiler nowadays - or ever did.

Forge a knife blade from a car spring

Forge a knife blade from a car spring I helped my friend to change springs on his car, so I kept the broken spring as forging material. The carbon content of spring steel is aroundd 0.6 to 0.8% which works well for hardening - so lets forge a knife! I cut out a ~10cm long piece from the car spring. I use the induction heater to straight it out and flatten it a little. cover

OMAPL138 AIS generator

OMAPL138 AIS Generator I'm currently working on an old platform based on OMAPL138 from Texas Instruments. The OMAPL138 SoC is cool in itself, it is a ARM9 core with a C674x DSP coprocessor. My project scope is to modernize the platform to a more recent kernel/bootloader and add support for a few more interfaces due to a new HW revision. The OMAPL138 is from 2009 but still active. The latest revision for the chip (Rev. cover

TIL - Git bundle

TIL - Git bundle TIL, Today I Learned, is more of a "I just figured this out: here are my notes, you may find them useful too" rather than a full blog post The git bundle [1] subcommand has been around for many years but is something I came across quite recently. The command allows you to create, unpack, and manipulate bundles files, which are used to share git repositories without an active server. cover

What time is it? RTCs explained in embedded Linux

What time is it? RTCs explained in embedded Linux Most smart devices keep track of time and it's usually something that everyone expects to be "right", accurate and just work. I mean, you can keep time pretty well with just a pendulum or a spring [1], so why would this be a complicated thing in an embedded system? Your smart alarm clock, smart phone or even your new cool IoT refrigerator make all use of the time for sure, but they probably do it for different purposes and have different requirements of the accuracy of time. cover

Knife making

Knife Making It's been a long time since I made knives. Knife making was actually the reason I bought my gas forge a few years ago and it's still something I intend to do. I forged a few knife blades back then, but it was way too much manual grinding to be fun and I didn't have the right tools back then, and I'm still missing a belt grinder in my toolbox. cover

NOAA Weather satellites

NOAA Weather satellites Me and a friend started to talk about SDR (Software Defined Radio) and GNURadio [1], which reminds me of a old project I did for many years ago - reading out images from NOAA weather satellites using SDR, a QFH antenna and GNU Radio! I found some old pictures, but unfortunately, I do not remember the details as it was almost ten years ago. But I do know that we were using a HackRF [3] to catch the radio signals. cover

Lund Linux Conference 2024

Lund Linux Conference 2024 I have started to write a few lines about this conference each year as I think it deserves attention. Also, the more attendees we are, the more fun we get. The conference Lund Linux Conference (LLC) [1] is a "half-open" conference located in Lund. It's a conference with a high quality and I appreciate that the athmosphere is more familiar than at the larger conferences. I've been at the conference several of times before and the quality on the talks this year was as good as usual. cover

TIL - Magic SysRq with SystemD

TIL - Magic SysRq with SystemD TIL, Today I Learned, is more of a "I just figured this out: here are my notes, you may find them useful too" rather than a full blog post The Magic SysRq [1] is a ueful tool for debugging and recovering from a frozen system and is something I use frequently. SystemD sets the permissions bitmask to 0x10 by default [2] , it means that only a subset of the available features is allowed. cover

Versioning with SWUpdate

Versioning with SWUpdate TLDR; It is now possible to let SWUpdate manage the sw-versions file entirely thanks to the --gen--swversions feature I've been working on. SWUpdate SWUpdate [1] is a project I've been using for a very long time for updating firmware on embedded systems. The update service is a critical part of any embedded system, so having a well-tested, flexible, competent and ready-to-use solution is so much worth. Too many times I've seen custom made update services that contain bugs, is not flexible enough or using slots for whatever software that could be updated. cover