Linux · Embedded
-
Filtering Service Logs with journalctl
journalctl is the core tool for querying the systemd journal. Use -u and -b to narrow by unit and boot, then --since, --until, and -p to filter by time and severity.
-
libgpiod: Userspace GPIO Access on Linux
libgpiod provides the userspace C library, language bindings, and command-line tools for interacting with GPIO lines through Linux's GPIO character device.
-
Setting Up systemd Timers with OnCalendar for Periodic Jobs
To run a periodic job, create a .timer unit that shares its base name with a .service unit and set OnCalendar= in the [Timer] section. This post covers timer-service pairing, calendar expressions, and catching up missed runs with Persistent=true.
-
Loading and Running Docker Images with save, load, and run
When transferring images without a registry, use docker save and docker load to preserve every layer, history, and tag metadata. Once loaded locally, docker run follows the same execution path as a pulled image.
-
How Docker Containers Run: Namespaces and cgroups
A Docker container is not a virtual machine with its own kernel—it is a set of Linux processes isolated by namespaces and constrained by cgroups on the same host kernel. This article summarizes how docker run actually works based on official Docker documentation.
-
Docker Layer Cache, Volumes, and Bind Mounts in Practice
Docker reuses build cache from the top down, so frequently changing instructions belong at the bottom of the Dockerfile. Persistent data should live in volumes or bind mounts—not in the overlay writable layer that is destroyed when a container is removed.
-
Docker overlay2 Storage: How Image Layers Merge
Docker overlay2 uses OverlayFS to combine read-only image layers with a container-specific writable layer into a single mount point. This post explains how the storage driver stacks layers on disk and why container writes do not persist to the underlying image.
-
systemd Type= Explained: simple, exec, notify, and Key Service Keywords
The systemd Type= directive determines when the service manager considers start-up complete. This article covers all eight Type= values and essential service file keywords from the official man pages.
-
Profiling with Linux perf: Finding CPU Hotspots
Linux perf uses the kernel performance-counter framework to sample CPU activity and expose functions where samples accumulate as hotspots.