Git Product home page Git Product logo

hexdump0815 / linux-mainline-and-mali-generic-stable-kernel Goto Github PK

View Code? Open in Web Editor NEW
18.0 5.0 10.0 1.01 GB

my kind of generic armv7l 32bit linux mainline stable kernel build - used on bananapi m1, asus tinkerboard, tx1 allwinner h3 tv box, r39 allwinner h3 tv box, orbsmart s92 tv box (same as beelink r89, tronsmart orion r28, very similar to ubox tv box), raspberry pi 3b and 3b plus in 32bit mode

Makefile 0.60% C 99.40%

linux-mainline-and-mali-generic-stable-kernel's Introduction

my kind of generic armv7l 32bit linux mainline stable kernel build

i'm using this kernel on the following devices:

  • bananapi m1
  • asus tinkerboard
  • tx1 allwinner h3 tv box
  • r39 allwinner h3 tv box
  • orbsmart s92 tv box (same as beelink r89, tronsmart orion r28, very similar to ubox tv box)
  • raspberry pi 3b and 3b plus in 32bit mode

some notes regarding the generic 32bit armv7l kernel:

  • see readme.av7 for instructions to build the kernel from sources and patches (this is not a shell script)

in case the readme.av7 instructions are not clear enough, please have a look at

maybe afterwards its more clear how it is ment to work ...

linux-mainline-and-mali-generic-stable-kernel's People

Contributors

hexdump0815 avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar  avatar

linux-mainline-and-mali-generic-stable-kernel's Issues

Separate legacy Mali driver but not the compiled dtb

I see that you now compile both legacy Mali and Lima driver, also package them separately but say that in order to use the legacy Mali driver we would need to use the dts patch (and I guess recompile). Is the understanding correct?
What would be the use of pre-compiled Mali driver without the required dtb, if the user has to anyway go through the compilation process? Couldn’t you have compiled and packaged the dtb as required by Mali?

Enable more network modules in Kernel config

First of all, thank you for your work. I am so happy to be able to use my U3 again.

root@u3:/boot# uname -a
Linux u3 5.10.25-stb-exy+ #1 SMP PREEMPT Sun Mar 21 18:56:28 CET 2021 armv7l GNU/Linux

I'm trying to use it as a k3s master node, which sort of works but I have some troubles regarding iptables. I did not dig deep enough to tell which modules in particular are missing, but for example:

iptables canary mangle/KUBE-PROXY-CANARY: error creating chain "KUBE-PROXY-CANARY": exit status 3: iptables v1.8.2 (legacy): can't initialize iptables table `mangle': Table does not exist (do you need to insmod?)
May 28 08:04:49 u3 k3s[6076]: Perhaps iptables or your kernel needs to be upgraded.

I tried to build a kernel on my own but currently don't have time to dive into it. The readme at https://github.com/hexdump0815/linux-mainline-and-mali-generic-stable-kernel/blob/master/readme.exy is imho very complex. I tried using https://github.com/rodolfoap/kernel-odroid-u3 because it has an easy build.sh but it did not work with recent kernels. I will try it again though, using the network settings from the raspberry pi kernels (because k8s works great there).

It would also be nice to have wireguard as a module in the kernel.

this would make the u3 a valuable member for a kubernetes cluster with these changes.

trogdor: Where is 5.15.22-stb-cbq?

@hexdump0815 Was trying to run the build today, mainly so I can compile and reproduce the kernel exactly as you did. I think I am doing things correctly...

The error below seems to be stopping me....

--2022-04-24 11:54:47-- https://github.com/hexdump0815/linux-mainline-and-mali-generic-stable-kernel/releases/download/5.15.22-stb-cbq/5.15.22-stb-cbq.tar.gz Resolving github.com (github.com)... 192.30.255.112 Connecting to github.com (github.com)|192.30.255.112|:443... connected. HTTP request sent, awaiting response... 404 Not Found 2022-04-24 11:54:48 ERROR 404: Not Found...

Is there any way you could upload the 5.15.22-stb-cbq source so sudo ./get-files.sh chromebook_trogdor aarch64 bullseye can fetch? I don't want to substitute because I want to be sure the kernel comes out the same as yours on first rounds before I start jacking around with stuff. Thanks again dude.

EDIT:

Probably better we discuss here. :) If I have any other questions I will post them as comment. I think I got this.

Discussion: kernel cmdline changes

There are a bunch of kernel cmdline args that we could potentially consider removing:

  • net.ifnames=0 disables predictable network interface device naming, which doesn't seem to provide any benefit as far as I can tell
  • ipv6.disable=1 Is there any network devices that don't work with IPv6?
  • deferred_probe_timeout=30 helpful for debugging but doesn't seem to be required for normal booting anymore, at least not on v6.6 + sc7180 (trogdor)
  • clk_ignore_unused=1 same as above
  • noresume disables hibernation, probably fine to keep it for now
  • apparmor=0 docker supposedly doesn't play nice with apparmor, but I was never able to confirm this since the docker documentation doesn't instruct users to disable apparmor on distros with it enabled by default.

touchpad does not work on some snow chromebooks

This patch is the fix, so i decided to post it here

From 170fa62ecc113a44cf33591c7b38643eaf457c55 Mon Sep 17 00:00:00 2001
From: Anton Bambura <[email protected]>
Date: Wed, 5 Jan 2022 16:13:53 +0200
Subject: [PATCH] ARM: dts: exynos: snow: add atmel mxt touchpad

Add Atmel mXT touchpad (like peach chromebooks) as it is used in
some revisions (probably rev5 only).

Signed-off-by: Anton Bambura <[email protected]>
---
 arch/arm/boot/dts/exynos5250-snow-common.dtsi | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/arch/arm/boot/dts/exynos5250-snow-common.dtsi b/arch/arm/boot/dts/exynos5250-snow-common.dtsi
index c952a6151..83c1a3a4e 100644
--- a/arch/arm/boot/dts/exynos5250-snow-common.dtsi
+++ b/arch/arm/boot/dts/exynos5250-snow-common.dtsi
@@ -446,6 +446,21 @@ trackpad@67 {
 		interrupt-parent = <&gpx1>;
 		wakeup-source;
 	};
+
+	/* Atmel mXT which is used in some revisions */
+	trackpad@4b {
+		compatible = "atmel,maxtouch";
+		reg = <0x4b>;
+		interrupt-parent = <&gpx1>;
+		interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
+		wakeup-source;
+		linux,gpio-keymap = <KEY_RESERVED
+				     KEY_RESERVED
+				     KEY_RESERVED	/* GPIO0 */
+				     KEY_RESERVED	/* GPIO1 */
+				     KEY_RESERVED	/* GPIO2 */
+				     BTN_LEFT>;		/* GPIO3 */
+	};
 };
 
 /*
-- 
2.34.1


Enable AppArmor by default

It looks like AppArmor flags are totally missing from kernel configuration. Debian kernel, on the other hand, is configured as follows:

$ grep APPARMOR /boot/config-5.18.0-0.deb11.4-amd64 
CONFIG_SECURITY_APPARMOR=y
CONFIG_SECURITY_APPARMOR_HASH=y
CONFIG_SECURITY_APPARMOR_HASH_DEFAULT=y
# CONFIG_SECURITY_APPARMOR_DEBUG is not set
CONFIG_DEFAULT_SECURITY_APPARMOR=y

The same grep on config-5.19.1-stb-exy+ shows nothing.

Please, enable AppArmor by default, as it is expected in Debian >=10.

Use case: Home Assistant Supervised expects AppArmor to deem the installation as supported. Possibly, also necessary packages should be pre-installed in the provided disk image.


In general, it looks like this kernel is configured by manually maintaining configuration files: this could be error prone (see #9), as it does not automatically manage dependencies, and unnecessary difficult (e.g. on kernel upgrades make oldconfig would be helpful).

s5p_mfc_load_firmware Firmware is not present (Odroid-U3)

I'm running cockpit on Odroid-U3 with diet-pi 'installed' on top of debian image with kernel version 5.18.1-stb-exy+ I noticed the error below under kernel logs within cockpit.

kernel:
s5p_mfc_load_firmware:69: Firmware is not present in the /lib/firmware directory nor compiled in kernel
PRIORITY 3
SYSLOG_FACILITY 0
SYSLOG_IDENTIFIER kernel
_BOOT_ID 20f377c1a3034849b15e5c5473a9bf2a
_HOSTNAME linuxhost
_MACHINE_ID 7d93fb82b0cc4679aabb6490d31ab16b
_SOURCE_MONOTONIC_TIMESTAMP 22418106
_TRANSPORT kernel
__CURSOR s=7ce1e9b15bb84367bb1baa1756530e9b;i=29d;b=20f377c1a3034849b15e5c5473a9bf2a;m=1564748;t=5e75d6bfb5063;x=74eb62502a38bddc
__MONOTONIC_TIMESTAMP 22431560
__REALTIME_TIMESTAMP 1661763313160291

Will be using image with kernel 5.19 soon and will report if issue is fixed in the coming days.

Enable USB serial dongles support

Please, enable (as a module) CONFIG_USB_SERIAL in kernel config.

My use case: I installed Home Assistant on my Odroid U3+, and I'm unable to use a ZigBee dongle (which uses a serial interface).

Thank you for your great work.

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.