[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Support for Orange Pi 4 LTS



I'll give a general answer to the best of my knowledge, which may be flawed 
and/or incomplete. Hopefully others will add to and/or correct me.

On Friday, 10 February 2023 16:57:07 CET Andrew M.A. Cater wrote:
> On Fri, Feb 10, 2023 at 09:06:10AM +0100, Christian Marillat wrote:
> > Is Orange Pi 4 LTS (arm64) supported in Debian.
> 
> This may well depend on the board support package: I didn't note it on
> the current list of supported systems but I note that 

Pretty much every device/SBC has a Board Support Package (BSP) AFAIK.
That usually consists of a custom bootloader, often a patched u-boot version, 
and some patched kernel. Nowadays that's often a 5.10 which is a Super Long 
Term Support release (20+ ? years support), which is a nice improvement over 
random 3.x or 4.x or in case of Broadcom 2.6.x kernels.
...

> OrangePi themselves have a version of Debian Bullseye server and Debian
> Bullseye xfce desktop available.

If you have a working bootloader which (successfully) starts 'some' kernel and 
combine that with a userland created by f.e. debootstrap and you have a 
working Debian-like system.

The problem with most BSPs is this: The device/chipset vendor proved with it 
that the device/SBC works and can run Linux. And then they throw it over the 
wall and 'say' "have fun with it" (our job is done).

I'm going to assume that "supported *in* Debian" (emphasis mine) means whether 
it's supported by all-and-only Debian packages.

For that you need 2 things:
1) device/SBC is supported by *upstream* u-boot
2) device/SBC is supported by the *upstream* kernel

And that is where most SBCs are lacking, unless the SBC manufacturor or (more 
commonly) the community around it, works to upstream all the needed bits.

I like the Pine64 community as they make a constant effort to do exactly that.
I think https://wiki.pine64.org/wiki/Quartz64_Development#Upstreaming_Status 
is absolutely brilliant and I hope many communities will follow with such a 
status table. (And do the substantial work which usually comes with it)

So it all comes down to upstreaming all the needed parts.

Wrt kernel support: if there is a .dts file for your board in Linus' tree, 
that's usually a *very* encouraging sign. That doesn't automatically mean 
everything is fully supported, but at least some attempt to get it merged 
upstream has been successful.
*If* that's the case, then you need to figure out which kernel modules are 
needed for your device and whether they are enabled in Debian's kernel.
Debian's kernel config is distinct from what is enabled in some (upstream's) 
*defconfig* file.
So you'd need to build a kernel to verify that it works with those 
(additional) kernel modules and if that's the case you can either file a bug 
against the kernel requesting those module to get enabled and/or you can 
submit a MR to the kernel-team's salsa repo.

I _think_ for u-boot you only need to request that that board is added/enabled 
in the appropriate u-boot-* package; if it's available in upstream u-boot.

> It will depend very much on support for the Rockchip 3399 and the specifics
> of the board device tree, I think.

The rk3399 chip is actually rather well supported in both upstream u-boot and 
kernel. That REALLY helps, but it is not all you need.
Having a proper DTS is (indeed) quite significant.

That should give you enough info to figure out whether your device is supported 
*in* Debian (and applies to ~ all SBCs).

HTH

Attachment: signature.asc
Description: This is a digitally signed message part.


Reply to: