Categorygithub.com/tinhead/kernel-rpi-os-32-extra
repository
0.0.10
Repository: https://github.com/tinhead/kernel-rpi-os-32-extra.git
Documentation: pkg.go.dev

# Packages

No description provided by the author
No description provided by the author

# README

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 (as well as the corresponding firmware), set the KernelPackage and FirmwarePackage of your gokrazy instance's config.json:

{
    // ...
    "KernelPackage": "github.com/gokrazy-community/kernel-rpi-os-32/dist",
    "FirmwarePackage": "github.com/gokrazy-community/firmware-rpi/dist"
}

When building, make sure to set the appropriate GOARCH and GOARM environment variables:

GOARCH=arm GOARM=6 gok -i <instance-name> update

How does it differ from https://github.com/gokrazy/kernel ?

gokrazy-community/kernel-rpi-os-32gokrazy/kernel
architectureARMv6 32-bitARMv8 64-bit
upstreamlinux Raspberry Pi OS forklinux mainline

This kernel can be used by the oldest Raspberry Pi and follows the release cycles of the Raspberry 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.

[!TIP] If you want to use your locally-compiled kernel, use the replace directive. To prevent gokrazy from complaining about CheckDir(...): ... malformed file path, add an empty go.mod file in the linux-sources folder.

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 (see linux-sources/COPYING)
  • The rest of the repository is released under BSD 3-Clause License (see LICENSE)