Toggle navigation
Marcus Folkesson
All Posts
blog
projects
til
ARCHIVE
ABOUT
CONTACT
Marcus Folkesson
Embedded Linux Artist
2024
11/11
—
Detect time jumps in Linux
10/22
—
TIL - suid_dumpable
10/21
—
Protected FIFOs and regular files
10/19
—
Restoring a power hammer
10/10
—
Writing a clocksource driver for Linux
10/05
—
Writing a UART driver for Linux
10/03
—
Include code from a file with Hugo
09/27
—
TIL - make pacman-pkg
09/19
—
"You are the primary manager for this project"
09/10
—
Restrictions that comes with capabilities
09/08
—
TIL - strace and capabilites
08/29
—
TIL - interactive shell script
08/17
—
Board bring-up part 4: Wrap it up
08/16
—
Board bring-up part 3: Other peripherals
08/15
—
Board bring-up part 2: NAND flash
08/14
—
Board bring-up part 1: Memory hassle
08/01
—
Forge a kitchen knife
07/17
—
--build, --host and --target explained
07/14
—
Forge a knife blade from a car spring
07/13
—
OMAPL138 AIS generator
07/13
—
TIL - Git bundle
07/02
—
What time is it? RTCs explained in embedded Linux
07/01
—
Knife making
05/30
—
NOAA Weather satellites
05/28
—
Lund Linux Conference 2024
05/19
—
TIL - Magic SysRq with SystemD
05/15
—
Versioning with SWUpdate
05/14
—
Flattened Image Tree (FIT) with Yocto
05/13
—
Building an owl house
05/07
—
Repair of an IC-211E HAM Radio
04/16
—
Bird counting
04/14
—
TIL - raw HTML in Hugo
04/11
—
Working on U-boot from Yocto (iMX8)
03/29
—
Increase the quality of your commits with pre-commit
03/07
—
TIL - Parse command output from shell
03/02
—
Changing the root of your Linux filesystem
02/22
—
chroot and user namespaces
02/15
—
Streamline your kernel config
02/09
—
Power button and embedded Linux
02/05
—
br2-readonly-rootfs-overlay
02/01
—
Watch repair
01/29
—
TIL - Reuse your SSH connection
01/02
—
TIL - xxd color support
2023
12/22
—
TIL - git credential storage
12/20
—
Expose network namespace created by Docker
12/11
—
Skip flashing unused blocks with UUU
12/01
—
Mutex guards in the Linux kernel
11/28
—
Test packages in Buildroot
11/15
—
TIL - docker scratch image
11/14
—
Git version in cmake
11/02
—
TIL - sort in vim
10/28
—
Burn eFuses for MAC address on iMX8MP
10/21
—
Loopback with two (physical) ethernet interfaces
10/21
—
TIL - notmuch-lore
10/18
—
kas-container and QEMU
10/02
—
TIL - git man-pages
10/01
—
Support for CRIU in Buildroot
09/23
—
TIL - Git --color-moved
09/12
—
TIL - Buildroot and LIBFOO_LINUX_CONFIG_FIXUPS
08/23
—
Use b4 for kernel contributions
08/14
—
Linux wireless regulatory domains
08/04
—
Add support for MCP39XX in Linux kernel
07/28
—
Leather fox pouch
07/23
—
Checkpoint-restore in Linux
07/22
—
meta-readonly-rootfs-overlay
07/04
—
TIL - ignore_routes_with_linkdown
06/27
—
Embedded Open Source Summit 2023
06/11
—
Route priorities - metric values
05/25
—
Lund Linux Conference 2023
05/15
—
TIL - Split streams with boost::tee_device
05/06
—
TIL - NFS UDP Support
04/19
—
Write a device driver for Zephyr - Part 1
04/19
—
Write a device driver for Zephyr - Part 2
04/19
—
Write a device driver for Zephyr - Part 3
04/19
—
Write a device driver for Zephyr - Part 4
04/03
—
Encrypted storage on i.MX
03/30
—
TIL - Buildroot & BR_NO_CHECK_HASH_FOR
03/21
—
Bug in the iMX8MP ECSPI module?
03/19
—
Capture an image with V4L2
03/14
—
TIL - Git jump
02/27
—
Service of a pocket watch
02/20
—
Razor leather case
02/17
—
Route traffic with NAT
02/13
—
Leather watch strap keeper
02/06
—
Contiguous Memory Allocator
01/27
—
TIL - U-Boot support for HTTP
01/07
—
Use custom EDID in Linux
2022
12/23
—
Audio and Embedded Linux
12/17
—
Debug kernel with KGDB
11/30
—
TIL - Virtual CAN interfaces
11/29
—
Raspberry Pi and QEMU
11/29
—
TIL - Debug FindBoost in CMake
11/29
—
Crosscompile libcamera for RPi
11/25
—
What is libcamera and why should you use it?
11/16
—
TIL -Yocto bitbake-getvar
11/08
—
TIL - systemd and $MAINPID
10/15
—
HID report descriptors and Linux
08/18
—
Industrial I/O and triggers
08/12
—
Mounting with systemd and udev
02/10
—
GPLv2 and GPLv3
2021
12/04
—
Forge a hoof scratch
03/03
—
This website setup
2020
11/04
—
Leather sewing machine
10/16
—
Leather penguin
06/20
—
Player's handbook, Dungeon Master's Guide and Monster Manual
06/19
—
D&D - My confession
03/29
—
V4L2 and media controller
01/29
—
Parsing command line options
2019
10/31
—
Embedded Linux Conference 2019
2018
12/13
—
ligsegfault.so
10/23
—
Embedded Linux Conference 2018
08/04
—
Oppigård Amarillo, third batch
07/17
—
Green fingers
07/14
—
St:Eriks Pale Ale, second batch
07/13
—
BEER2RST - my first attempt with golang
04/20
—
Lund Linux Conference 2018
04/04
—
ath10k QCA6584 and Wireless network stack
03/17
—
Linux driver for PhoenixRC adapter
02/27
—
Patch changelogs with git-notes
01/07
—
get_maintainers and git send-email
01/07
—
Buildroot: out-of-tree builds
2017
12/01
—
OOM-killer
11/19
—
Embedded Linux course in Linköping
11/02
—
printk()
10/25
—
libostree and $OSTREE_REPO environment path
10/18
—
FIT vs legacy image format
10/13
—
config utility for Buildroot
09/27
—
PID1 in containers
09/27
—
MMAP memory between kernel and userspace
09/27
—
Memory management in the kernel
08/27
—
Take control of your Buffalo Linkstation NAS
08/27
—
Magic SysRq
08/27
—
2.2" TFT display on Beaglebone
07/27
—
NAT with Linux
07/27
—
High resolution timers
07/13
—
-ENOENT, but believe me, it's there
06/27
—
Terminate a hanging SSH session
06/27
—
Modules with parameters
04/07
—
Interrupts, and how to divide them between cores
03/27
—
Linux memory overcommit
01/27
—
Quickfix in VIM
01/27
—
LDD without LDD
Open Source Enthusiast
FEATURED TAGS
audio
beer
birds
blacksmith
booting
buildroot
camera
clockwork
cultivation
debugging
device drivers
dnd
docker
git
go
ham
hugo
knives
leatherwork
libostree
linux
linux kernel
network
programming
qemu
radio
swupdate
systemd
til
tools
v4l2
vim
wireless
yocto
zephyr