.github/workflows | ||
cmd | ||
dist | ||
gokrazy | ||
linux-sources@0afb5e9848 | ||
.gitmodules | ||
go.mod | ||
go.sum | ||
LICENSE | ||
README.md |
Kernel for Raspberry Pi 32 bits (in sync with official bullseye repo)
This repository holds a pre-built 32 bits Linux bits kernel image for the Raspberry Pi, compiled from https://github.com/raspberrypi/linux, for usage by the gokrazy project.
To use the files in this repository, adjust the -kernel_package
of gokr-packer
:
GOARCH=arm gokr-packer \
-kernel_package=github.com/gokrazy-community/kernel-rpi-os-32/dist \
github.com/gokrazy/hello
How does it differ from https://github.com/gokrazy/kernel ?
gokrazy-community/kernel-rpi-os-32 | gokrazy/kernel | |
---|---|---|
architecture | ARMv6 32-bit | ARMv8 64-bit |
upstream | linux Raspberry Pi OS fork | linux mainline |
This kernel can be used by the oldest Raspberry Pi and follows the release cycles of the Raspeberry Pi foundation.
Manual compilation
go run cmd/compile/main.go
It will compile the kernel located in linux-sources
using a crossbuild docker image and copy the resulting files in the dist
folder.
It uses default kernel config (make bcmrpi_defconfig
), as recommended by the official documentation, with the addition of the SquashFS module (CONFIG_SQUASHFS
, which is required for gokrazy) and CONFIG_IPV6
.
Update check
go run cmd/check-update/main.go
It will compare the kernel version distributed on https://archive.raspberrypi.org/debian/ with the linux-sources
submodule current HEAD.
Licenses
- The
vmlinuz
and*.dtb
files are built from Linux kernel sources, released under the GPL (seelinux-sources/COPYING
) - The rest of the repository is released under BSD 3-Clause License (see
LICENSE
)