Marcus Folkesson

Embedded Linux Artist

Flattened Image Tree (FIT) with Yocto

Flattened Image Tree (FIT) with Yocto Long time ago, I wrota a post [1] that compared the legacy Image format against Flattened Image Tree Format (FIT) [2] and highlighted the benefits of using it. The benefits is still valid and FIT images is my preferred way to boot a Linux kernel. Dispite that, I almost never see that FIT images is used in examples nor Board Support Packages (BSPs). cover

Building an owl house

Building an owl house I like owls. I always have. There are so many reasons to be fascinated about owls. For example, did you know that Owls has special flight feathers that makes them almost silent? That they can swivel their heads around (how cool is'nt that?) is commonly known, but that they can do the same with their toes too? Their eares are asymmetrical to make them better to pinpoint the location of sounds in multiple dimensions? cover

Repair of an IC-211E HAM Radio

Repair of an IC-211E HAM Radio A friend of mine (SM7FWZ [3] ) gave me an ICOM IC-211E, a 2M all mode transceiver that I'm having a lot of fun with. When I got it, it had one drawback - transmitting on SSB (Single Side Band) didn't work very well, neither for USB (Upper Side Band) nor LSB (Lower Side Band). The signal that reached the antenna was really disturbed, so here is something that needs to be fixed! cover

Bird counting

Bird counting I've been counting birds for couple of years now, but for the last past six mounths I have also recorded which species I see at bird table. I live in the middle of a bird sanctuary, so I think it could be good to know my neighbors. So the main reason for this was to learn to tell the difference between different species for birds. I must say that this was a success, I can name about 30 different bird species with a fairly high degree of certainty around my bird table. cover

TIL - raw HTML in Hugo

TIL - raw HTML in Hugo 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 I'm using Hugo [1] for this website setup [2] and find it very satisfying. I can write all my content in reStructured Text [3] and create a website out from it. Today I needed to add a part of raw HTML into one of my pages and that was when I found Shortcodes [4] in which is very useful.

Working on U-boot from Yocto (iMX8)

Working on U-boot from Yocto (iMX8) I have been asked a couple of times how to quickly make changes for U-Boot in Yocto. Those who asked have used to rebuild and flash an entire image each time, which takes an unnecessarily which is not a fast procedure. To rebuild U-Boot is`nt significantly different from any other recipe, but one difference is that imx-mkimage must also be built to generate a bootable image.

Increase the quality of your commits with pre-commit

Increase the quality of your commits with pre-commit pre-commit [1] is a framework for managing and maintaining pre-commit hooks for git. By running hooks before any commit, many small pitfalls could be avoided before being pushed and will spare reviewers time and energy. Such hooks could for example check that commit messages follow a specific format or that the code pass a lint test for a specific type of file. cover

TIL - Parse command output from shell

TIL - Parse command output from shell 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 Parse text output in shell scripts is something that is needed every now and then. It used to be some clever pipeline with regular expressions, grep, cut or even awk. But now I've started to use read for such things, and it has helped me a lot.

Changing the root of your Linux filesystem

Changing the root of your Linux filesystem After my previous post [1], I've got a few questions from people about the difference between chroot, pivot_root and switch_root, they all seems to do the same thing, right? Almost. Lets shed some light on this topic. Rootfs First of all, we need to specify what we mean when we say rootfs. rootfs is a special instance of a ram filesystem (usually tpmfs) that is created in an early boot stage.

chroot and user namespaces

chroot and user namespaces When playing around with libcamera [1] and br2-readonly-rootfs-overlay [2] I found something.. well.. unexpected. At least at first glance. What happened was that I encountered this error: 1 $ libcamera-still 2Preview window unavailable 3[0:02:54.785102683] [517] INFO Camera camera_manager.cpp:299 libcamera v0.0.0+67319-2023.02-22-gd530afad-dirty (2024-02-20T16:56:34+01:00) 4[0:02:54.885731084] [518] ERROR Process process.cpp:312 Failed to unshare execution context: Operation not permitted Failed to unshare execution context: Operation not permitted... what? I know that libcamera executes proprietary IPAs (Image Processing Algorithms) as black boxes, and that the execution is isolated in their own namespace.