Coder Social home page Coder Social logo

sakaki- / bcmrpi3-kernel-bis Goto Github PK

View Code? Open in Web Editor NEW
21.0 4.0 7.0 496 KB

Automated weekly build of the default branch 64-bit bcmrpi3_defconfig (+ tweaks) Linux kernel for the RPi3 B / B+

License: GNU General Public License v2.0

Shell 100.00%
64-bit kernel bcmrpi3-kernel kernel-tarball rpi3 rpi3b rpi3b-plus raspberry-pi

bcmrpi3-kernel-bis's Introduction

bcmrpi3-kernel-bis

Automated build of a tweaked version of the latest 64-bit bcmrpi3_defconfig Linux kernel for the RPi3B/B+, updated weekly.

Description

Raspberry Pi 3 B and B+

This project contains a weekly autobuild of the default branch (currently, rpi-5.4.y) of the official Raspberry Pi Linux source tree, for the 64-bit Raspberry Pi 3 Model B and B+.

NB: (8 June 2020) the transition from rpi-4.19.y to rpi-5.4.y has not yet happened upstream, but as it will do shortly, I have elected to pre-emptively migrate.

As with its sister project bcmrpi3-kernel, the baseline build configuration is the upstream bcmrpi3_defconfig, wherein the first 12 hex digits of the tip commit SHA1 hash are appended to CONFIGLOCALVERSION (with a separating hyphen). However, in this project, -bis is additionally appended to CONFIGLOCALVERSION, and (more importantly) additional tweaks are also applied to the kernel configuration before building, by running the conform_config.sh script.

If you have changes you'd like to apply to the kernel config used by this project, please submit a PR targeting the conform_config.sh script. Changes should target the end of the script. Only edits which use the bundled convenience functions set_kernel_config and (rarely) unset_kernel_config will be considered for merging. Modularization is prefered wherever possible. Please include a short comment describing the changes, ideally including a link or bug ID.

A new build tarball is automatically created and uploaded as a release asset each week (unless the tip of the default branch is unchanged from the prior week, or an error occurs during the build process). The versions of the builds in this project will always mirror those of bcmrpi3-kernel, commencing 1 June 2018.

The default branch is used, as that is generally given most attention for e.g. VC4 backports.

As an (historical) example, on 1 June 2018, the default branch was rpi-4.14.y (NB, it is rpi-5.4.y now), and the latest commit was 4fca48b7612da3ff5737e27da15b0964bdf4928f (the short form of which is 4fca48b7612d). The created release was 4.14.44.20180601, within which the kernel tarball was bcmrpi3-kernel-bis-4.14.44.20180601.tar.xz, and the corresponding kernel release name was 4.14.44-v8-4fca48b7612d-bis+.

Each kernel release tarball currently provides the following files:

  • /boot/kernel8.img (this is the bootable 64-bit kernel);
  • /boot/COPYING.linux (the kernel's license file);
  • /boot/config (the configuration used to build the kernel);
  • /boot/Module.symvers.xz (a table mapping exported symbols to provider, compressed);
  • /boot/System.map.xz (the kernel's symbol table, compressed);
  • /boot/bcm-2710-rpi-3-b.dtb, /boot/bcm-2710-rpi-3-b-plus.dtb and /boot/bcm-2837-rpi-3-b.dtb (and, from 5.4.69.20201006 onwards, /boot/bcm2710-rpi-cm3.dtb) (the device tree blobs);
  • /boot/overlays/... (the device tree blob overlays) (from 5.4.69.20201006);
  • /lib/modules/<kernel release name>/... (the module set for the kernel);

The /boot/Module.symvers.xz file is only included in more recent builds. The /boot/System.map.xz is supplied in compressed form only in recent builds.

The current kernel tarball may be downloaded from the link below (or via wget, or via the corresponding bcmrpi3-kernel-bin ebuild, per the instructions following):

Variant Version Most Recent Image
Kernel, dtbs and modules 5.4.69.20201006 bcmrpi3-kernel-bis-5.4.69.20201006.tar.xz

The corresponding kernel configuration (derived via make bcmrpi3_defconfig && conform_config.sh && make olddefconfig) may be viewed here. The 'baseline' bcmrpi3_defconfig may be viewed here, the conform_config.sh script may be viewed here, and a diff between the 'tweaked' and 'baseline' configurations may be viewed here.

A list of all releases may be seen here. For an equivalent kernel autobuild for the RPi4B, please see here.

Installation

To deploy (assuming that your RPi3's micro SD-card's first partition is mounted as /boot, and you are already running a 64-bit RPi3 image, such as my gentoo-on-rpi3-64bit) simply download, untar into the root directory, and reboot:

pi64 ~ # cp /boot/kernel8.img{,.old}
pi64 ~ # wget -c https://github.com/sakaki-/bcmrpi3-kernel-bis/releases/download/5.4.69.20201006/bcmrpi3-kernel-bis-5.4.69.20201006.tar.xz
pi64 ~ # tar -xJf bcmrpi3-kernel-bis-5.4.69.20201006.tar.xz -C /
pi64 ~ # sync && reboot

Alternatively, if you have my rpi3 overlay installed (it is pre-installed on the gentoo-on-rpi3-64bit image), you can simply emerge the bcmrpi3-kernel-bis-bin package (a new ebuild is automatically created to mirror each release here). For example, to install the latest available version (and start using it):

pi64 ~ # emaint sync --repo rpi3
pi64 ~ # emerge -av bcmrpi3-kernel-bis-bin
pi64 ~ # reboot

Or, to install a particular version (e.g.):

pi64 ~ # emaint sync --repo rpi3
pi64 ~ # emerge -av =bcmrpi3-kernel-bis-bin-5.4.69.20201006
pi64 ~ # reboot

NB: these prebuilt kernels and ebuilds are provided as a convenience only. Use at your own risk! Given that the releases in this project are created automatically, and particularly since they include user-submitted tweaks to the 'official' bcmrpi3_defconfig, there is no guarantee that any given kernel will boot correctly. A 64-bit kernel is necessary, but not sufficient, to boot the RPi3 in 64-bit mode; you also need the supporting firmware, configuration files, and userland software (see for example my gentoo-on-rpi3-64bit project, or NeddySeagoon's Raspberry Pi 3 64 bit Install page on the Gentoo wiki, for more information).

bcmrpi3-kernel-bis's People

Contributors

burnbabyburn avatar necktwi avatar sakaki- avatar shdb avatar skulko avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

bcmrpi3-kernel-bis's Issues

SD_HOST Drivers

Hi sakaki,

have a look here regarding the following error message on boot:
[ 3.788708] Error: Driver 'sdhost-bcm2835' is already registered, aborting...

Happens on RPI3 with 64 bit kernel, if default bcmrp33_defconfig is used.

Question: Support for mSATA SSD

Hi sakaki, my apologies for using issues to ask a question.

I've been trying out your Gentoo build on my newly acqiured RPi 3 B+ for which I've bought one of these. It comes with an extenion that allows an external mSATA SSD which for which I've purchased a Samsung 860.

However, upon trying it out I'm unable to find a way to get Gentoo to recognize the device. I see no trace of it through dmesg or anywhere else.

Would I need to compile my own kernel with some additional support to allow for drive to be recognized and mounted?

Thank you for your work.

Docker support?

First: Thank you for your amazing work bringing gentoo (or a 64bit OS in general) on the raspberry pi 3/4.
Now to my problem/question: The docker daemon crashes on my pi because it can't setup iptables. Additionally it warns about the modules 'bridge' and 'ip_tables' not being available. I'm pretty sure there are even more kernel configs that need to be changed to have docker running, but I'm not really sure a) what needed to be changed (but I think I could look this up in the docker ebuild) b) and where I could change these things.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.