explaingit

raspberrypi/linux

12,856CAudience · ops devopsComplexity · 5/5LicenseSetup · hard

TLDR

The Linux kernel source code with Raspberry Pi-specific patches, for developers who need to compile a custom kernel or contribute hardware support at the lowest software level.

Mindmap

mindmap
  root((RPi Linux))
    What it is
      Linux kernel fork
      Raspberry Pi patches
      ARM hardware support
    Tech
      Written in C
      Kconfig build system
      Cross-compiler needed
    Use cases
      Custom kernel build
      Hardware drivers
      Kernel contributions
    Audience
      Embedded developers
      Kernel contributors
      Hardware hackers
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Compile a custom Linux kernel with Raspberry Pi patches for a hardware project or embedded application.

USE CASE 2

Contribute a device driver or hardware patch to the Raspberry Pi kernel fork.

USE CASE 3

Study how the Raspberry Pi Foundation modifies the upstream Linux kernel to support ARM hardware.

Tech stack

CMakeKconfig

Getting it running

Difficulty · hard Time to first run · 1day+

Requires a cross-compiler for ARM, familiarity with the Linux kernel build system (Kconfig/Make), and physical Raspberry Pi hardware to test.

GNU General Public License (GPL), the same license as the upstream Linux kernel, any modifications must also be distributed as open source under GPL.

In plain English

This repository holds the Linux kernel source code as modified and maintained by the Raspberry Pi Foundation. The Linux kernel is the core piece of software that sits between a computer's hardware and everything else running on the machine. It manages memory, processes, file storage, and communication between hardware components. The Raspberry Pi team takes the standard Linux kernel and applies their own patches to make it work correctly on Raspberry Pi hardware. This is a highly technical repository aimed at developers who want to compile a custom kernel for their Raspberry Pi, contribute patches, or understand how the Pi's hardware support is implemented at the lowest software level. Most Raspberry Pi users never need to interact with this repository directly, as the Foundation provides pre-built kernel images through their standard software distribution. The codebase is written almost entirely in C, which is typical for operating system kernels. To build and install a new kernel from this source, you need a working build environment, a cross-compiler if you are building on a non-ARM machine, and familiarity with the Linux kernel build system. The README included in the repository is the standard upstream Linux kernel documentation covering installation, configuration, and software requirements, with no Raspberry Pi-specific additions beyond the project description. Bug reports and questions about the kernel should go to the Raspberry Pi community forums rather than this GitHub repository, per the project's own guidance. Issues unrelated to the Linux kernel itself are redirected there. The code is distributed under the GNU General Public License, the same license as the upstream Linux kernel.

Copy-paste prompts

Prompt 1
Walk me through cross-compiling the Raspberry Pi Linux kernel from this repository on an x86 Ubuntu machine and flashing it to an SD card.
Prompt 2
How do I apply a custom kernel patch to the raspberrypi/linux repo, rebuild the kernel, and test it on a Raspberry Pi 4?
Prompt 3
Show me how to enable a specific kernel config option like I2C or SPI support in the raspberrypi/linux Kconfig build system.
Prompt 4
What is the process for submitting a device driver patch to the Raspberry Pi Linux kernel fork?
Open on GitHub → Explain another repo

← raspberrypi on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.