TutorialsCross-Compile the Linux Kernel for ARM64 and Boot It in QEMU
Cross-compile the Linux kernel for ARM64, build a BusyBox initramfs, and boot the system in QEMU using exact, reproducible commands and expected…
Articles in this topic.
TutorialsCross-compile the Linux kernel for ARM64, build a BusyBox initramfs, and boot the system in QEMU using exact, reproducible commands and expected…
TutorialsA high latency number tells you a problem exists, not where it comes from. This final part of the series covers tracing…
TutorialsSet up a Buildroot BR2_EXTERNAL tree so your defconfig and board files live outside the Buildroot source, then build out of tree…
TutorialsRT-safe user-space code for PREEMPT_RT: lock memory with mlockall, create SCHED_FIFO threads correctly, and use PTHREAD_PRIO_INHERIT mutexes.
TutorialsBuild your first Buildroot root filesystem for ARM and boot it under QEMU. Part 1 of a hands-on Buildroot series for embedded…
TutorialsBuild a Linux I2C driver with the regmap subsystem: regmap_config, probe, the register cache, suspend and resume, and debugfs. Complete buildable code.
TutorialsSet up kdump on an ARM64 board: reserve crashkernel memory, load a capture kernel with kexec -p, then trigger a panic and…
TutorialsKernel dynamic debug turns pr_debug and dev_dbg messages on at runtime, per file, function or module, with no kernel rebuild. A hands-on…
TutorialsThe cachestat syscall, added in Linux 6.5, reports page-cache residency for a file from user space. Call it with a worked C…
TutorialsHow to build an embedded Linux lab: from QEMU to a first board, serial console, and logic analyzer, and the skill each…
TutorialsUse dynamic debug to switch on pr_debug and dev_dbg messages in a running Linux kernel, without rebuilding or rebooting.
TutorialsDecode a kernel oops down to the exact source line: a reproducible tutorial using dmesg, faddr2line, decode_stacktrace.sh and gdb on a test…
TutorialsRead a kernel oops like evidence, not an answer: decode the header, the faulting-address fingerprint, and the unreliable call-trace frames by eye.
TutorialsSet SCHED_FIFO priorities with chrt and configure CPU isolation with isolcpus and nohz_full so a real-time task runs with minimal interference.
TutorialsControl GPIO with libgpiod using the version 2 tools and C API. Hands-on examples with gpioget, gpioset, gpiomon, and a virtual gpio-mockup…
One email every two weeks — the best of our kernel & embedded writing, plus a hand-picked link or two. No spam.
// 1,200+ embedded engineers already read it
We email occasionally and never share your address.