All POSTS

  • Linux Device Drivers 101: 007 Threads in Kernel

    If you have used any other languages (c, c++,Java), you know threads, eventually those High level language use kernel threads(overstatement**), but yeah kernel has threads, but syntax is different, and before threads ” you had only 2 problems”, after threads introductions “you 2 problems only had” ( see the data race joke), anyway, with threads…

  • Linux Device Drivers 101: 004 Platform driver and Device Tree

    Most of what we read while learning Linux device drivers quietly assumes an older world. A world where hardware descriptions live in C files. A world where platform_device is registered by hand. A world inspired heavily by books like Linux Device Drivers, which taught us how drivers work, but not always how modern systems boot.…

  • Linux Device Drivers 101: 006 QEMU with custom DT

    The article at https://jdecodes.wordpress.com/2026/01/23/linux-device-drivers-101-005-qemu-setup/ explains how to boot up a QEMU, but can we boot it with a device tree file? Seems like yes, -dtb your_custom_device_tree.dtb \ Above option can be used to boot with custom dtb (device tree binary ).Now, our requirement is that we need to add 2 pseduo devices, how can we…

  • Linux Device Drivers 101: 005 QEMU Setup

    Think of it to be a virtual machine (VMware type, not exactly), but assume we can run customized kernel in a host env. We can use below command to setup or arm64 based qemu, which uses device-trees. -machine virt — QEMU’s generic ARM virtual board, always boots using Device Tree-cpu cortex-a57 — a common ARMv8…

  • Linux Device Drivers 101: 003 wtf is platform driver

    We recently finished character drivers *https://jdecodes.wordpress.com/2026/01/13/linux-device-drivers-101-002-writing-pseudo-char-driver/” , life was easy, got the gist . But, as I moved forward came across the word “platform_device“, “platform_driver“, and I am like wtf is this now. So, let’s try to decode this shit. There is always some h/w present with no s/w ( may be some audio codec…

  • Linux Device Drivers 101: 002 writing pseudo char driver

    What Is a Character Device Driver? A character device driver is a kernel component that allows user space programs to communicate with the kernel using file-like operations. From user space, it behaves like a file: Data is transferred as a stream of bytes, not fixed-size blocks.That is why it is called a character driver. If…

Subscribe

Enter your email below to receive updates.

It’s Jdecoder

I am trying to decode the concepts into simple words and documenting items i know or currently learning.

Let’s connect

Design a site like this with WordPress.com
Get started