Building a Bootloader from Scratch — Just Assembly, No OS

Featured Image
bootloader assembly x86 bios mbr low-level os-development

Debugging a Real-Mode Bootloader in GDB — When CS Changes, Symbols Break

Featured Image
bootloader x86 assembly gdb real-mode debugging low-level

Debugging the Ubuntu 6.8 Kernel in GDB & QEMU — Without Rebuilding It

Featured Image
kernel x86_64 ubuntu qemu gdb kaslr linux debugging

Building & Debugging a Custom ARM64 Linux Kernel — Yocto, QEMU, GDB

Featured Image
kernel arm64 yocto qemu gdb linux debugging embedded

Cache Miss, TLB Miss, False Sharing — Three Killers Your Profiler Won't Name

Featured Image
cpu cache tlb false-sharing perf performance memory-model coretracer

eBPF on Linux — kprobe vs fentry: Hooking Internals & What Production Observability Misses

Featured Image
ebpf kernel linux observability kprobe fentry tracing bpf

From Real Mode to Protected Mode — What the GDT and IDT Actually Define

Featured Image
x86 protected-mode gdt idt bootloader assembly kernel low-level

How x86 Conditional Jumps Really Work — EFLAGS, Not Operands

Featured Image
x86 assembly eflags gdb pwndbg reverse-engineering debugging

Store→Load Reordering: x86 vs ARM64, and the Bug Intel Was Hiding

Featured Image
memory-model x86 arm64 concurrency lock-free reordering tso