RAM Initialization on x86-64 Systems
Reset Vector and Execute-In-Place When the processor resets, the CS and IP registers are set up to point to a fixed address on the SPI flash chip that holds the UEFI/BIOS firmware. The processor r...
Reset Vector and Execute-In-Place When the processor resets, the CS and IP registers are set up to point to a fixed address on the SPI flash chip that holds the UEFI/BIOS firmware. The processor r...
Introduction If you’ve ever worked with boot configuration files like uEnv.txt or extlinux.conf, you know how a tiny typo can completely ruin the boot flow. One wrong line, and suddenly the system...
Problem One of my daily annoyances on a dual-boot system was the boot process itself. Pressing the power button meant waiting for UEFI to initialize all the hardware (which takes a bit longer on m...
Why Build a Physical Gun Controller? As someone who loves gaming, I spent last night building something I’ve always wanted: a physical gun that actually aims in games based on where I point it in ...
The Problem: When Your Root Filesystem Fails During embedded Linux development, we often encounter situations where the root filesystem (rootfs) mounting fails, leading to a dreaded kernel panic. ...
Introduction I recently built a cooling fan for my laptop with an interesting twist: instead of using a microcontroller or development board, I wanted to control it directly using the laptop’s own...
Using Mobile Phone as Rootfs I was thinking about this scenario: I was somewhere and forgot to bring my USB storage that contains my rootfs. What should I do? I’ll use my phone instead. We can us...
I started thinking about reading a program from an unconventional type of memory — paper. It reminded me of punched cards, but since that hardware isn’t available, I went for the next best thing: a...
When you develop software for architectures different from the host (usually x86-64), you need a cross toolchain. There are three common approaches: build a toolchain from scratch download a ...
Problem You may see this error in U-Boot when booting a kernel: Did not find a cmdline Flattened Device Tree Could not find a valid device tree Root cause: the kernel image ended up larger than e...