Skip to content
5.4-main
Switch branches/tags
Code

Latest commit

This is the 5.4.114 stable release

# gpg verification failed.
0fd8b68

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
fs
 
 
 
 
 
 
ipc
 
 
 
 
lib
 
 
mm
 
 
net
 
 
 
 
 
 
 
 
 
 
 
 
usr
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Kernel 5.4 for BananaPi R2/R64

CI

Requirements

On a x86/x64-host you need cross compile tools for the armhf architecture (bison and flex-package are needed for kernels >=4.16):

#for r2
sudo apt install gcc-arm-linux-gnueabihf libc6-armhf-cross u-boot-tools bc make gcc libc6-dev libncurses5-dev libssl-dev bison flex
#for r64
sudo apt install gcc-aarch64-linux-gnu u-boot-tools bc make gcc libc6-dev libncurses5-dev libssl-dev bison flex

If you build it directly on the BananaPi-R2/R64 (not recommended) you do not need the crosscompile-packages gcc-arm-linux-gnueabihf/gcc-aarch64-linux-gnu and libc6-armhf-cross

Issues

R2

R64

  • pcie-slot CN8 does not detect gen2-cards due to hardware-issue (missing capacitors)
  • some pcie-cards are not detected because of wrong memory-mapping of BAR0

Usage

if you want to build for R64, change "board" in build.conf first

  ./build.sh importconfig
  ./build.sh config #To configure manually with menuconfig
  ./build.sh

the option "pack" creates a tar.gz-file which contains folders "BPI-BOOT" (content of Boot-partition aka /boot) and BPI-ROOT (content for rootfs aka /). simply backup your existing /boot/bananapi/bpi-r2/linux/uImage and unpack the content of these 2 folders to your system

you can also install direct to sd-card which makes a backup of kernelfile, here you have to change your uEnv.txt if you use a new filename (by default it's containing kernelversion)

Usage with docker

The Dockerfile in utils/docker/ provides a build environment without installing the native compilers on the local system.

The local directory will be mounted into the docker container. All changes will also be present in the respository folder.

  1. Build the docker container for building once:
    sh ./utils/docker/build_container.sh
  2. Start and connect to the running docker container:
    sh ./utils/docker/run.sh
  3. Now you can use the commands from above:
    ./build.sh
  4. Close the container with exit or CTRL-D.
  5. Your build artifacts from the build script will be in the folder ./SD/

If you want to clean up you can remove all containers (and the associated docker images) with:

docker rmi bpi-cross-compile:1 --force

Branch details

Kernel upstream + BPI-R2 / R64

Kernel versions

Kernel features by version

Feature 4.4 4.9 4.14 4.19 5.4 5.10
PCIe Y Y Y Y Y Y
SATA Y Y Y Y Y Y
2 GMAC Y Y Y Y N N
DSA N Y Y Y Y Y
USB Y Y Y Y Y Y
VLAN (dsa) Y N Y Y
VLAN-aware Bridge N Y Y Y
HW NAT (R2) Y Y N
HW QOS (R2) Y ? N
Crypto Y Y Y Y
WIFI (internal) Y Y Y Y Y
BT N N Y Y Y Y
VIDEO (R2 only) Y N Y Y Y Y
ACPI (R2) ? N Y Y Y
IR (R2) ? N N N Y Y
WIFI (R64) N N N N Y Y
BT (R64) N N N N Y Y
Other options -- -- -- -- -- --
OpenVPN ? Y Y Y Y Y
iptables (R2) ? Y Y Y Y Y
nftables (R2) ? N N Y Y Y
LXC / Docker (R2) ? ? Y Y Y Y

Symbols:

Symbol Meaning
? Unsure
() Testing

(Testing in separate branch wlan/hdmi/hwnat/hwqos)

  • WIFI/BT on R2 needs WMT-tools called before
  • HW-NAT only works between LAN and WAN (bridge unclear, wifi not supported)
  • HW-QoS is merged into 4.14-main, but we do not know how to test it
  • ACPI-feature means System is powered off, not only halted (power-consumption ~0.2W, no reboot on reset), reboot-problem on R2 with soldered power-switch (see https://github.com/frank-w/BPI-R2-4.14/issues/35). Power-off is also initiated by pressing the power-switch, on R64 not currently not available
  • VIDEO is hdmi-output (X-server/framebuffer-console)...here some resolutions are not supported by vendor-driver. R64 does not have HDMI

kernel 4.4 / uboot 2014-04: https://github.com/frank-w/BPI-R2-4.4 mainline-uboot: https://github.com/frank-w/u-boot

Links

License

GPL-2.0

Free Software, Hell Yeah!