Letux Kernel

Letux Kernel

This is a Subproject of the GTA04 and Openmoko Beagle Hybrid

It provides fully functional Linux kernels for the Openmoko Beagle Hybrid and the GTA04 as well as for devices which are currently being developed (e.g. Neo900, Pyra-Handheld).

Versions

NOTEs:

  • ARM (armel + armhf) supports OMAP3/4/5, iMX.6 and RasPi
  • ARM-LPAE (armel + armhf) version is useful for OMAP5 only!
  • ARM64 (arm64) is for PinePhone (and future 64 bit ARM devices)
  • MIPS (mipsel) is for JZ4730 (Mipsbook) and JZ4780 (CI20)

Please refer to http://git.goldelico.com/letux-kernel-featurelist.php about the status of support for each feature/device.

VariantSourcesChangesDateBinariesdescription
rc (latest/alpha): 5.9 changes 2020-10-12 ARM ARM64 ARM MIPS ARM+LPAE Rep-ARM For alpha test: develop and test new features
mainline (beta): 5.9.1 changes 2020-10-18 ARM ARM64 ARM MIPS ARM+LPAE multi-platform, mature enough for daily use
supports Pyra, Letux Cortex 15, OpenPandora, GTA04, Letux Cortex 8, BeagleBoard, BeagleBone, PocketBeagle, PandaBoard, OMAP5EVM, Udoo neo, RasPi 3B+, Ingenic CI20, PinePhone, Kobo/Tolino (except Display)
mainline (beta): 5.8.16 changes 2020-10-18 ARM ARM64 MIPS ARM+LPAE multi-platform, mature enough for daily use
supports Pyra, Letux Cortex 15, OpenPandora, GTA04, Letux Cortex 8, BeagleBoard, BeagleBone, PocketBeagle, PandaBoard, OMAP5EVM, Udoo neo, RasPi 3B+, Ingenic CI20, PinePhone, Kobo/Tolino (except Display)
stable: 5.4.72 changes 2020-10-19 ARM MIPS ARM+LPAE multi-platform, mature enough for daily use
supports Pyra (except Display Rotation), Letux Cortex 15, OpenPandora, GTA04, Letux Cortex 8, BeagleBoard, BeagleBone, PocketBeagle, PandaBoard, OMAP5EVM, Udoo neo, RasPi 3B+
longterm master: 4.19.152 changes 2020-10-19 ARM MIPS ARM+LPAE multi-platform, mature for daily use
supports Pyra, Letux Cortex 15, OpenPandora, GTA04, Letux Cortex 8, BeagleBoard, BeagleBone, PocketBeagle, PandaBoard, OMAP5EVM, Udoo neo, RasPi 3B+
longterm: 4.14.202 changes 2020-10-19 ARM MIPS ARM+LPAE UdooNeo device tree based, multi-platform, mature for daily use (now including telephony)
supports Pyra (except screen rotation), OpenPandora, GTA04, Letux Cortex 8, BeagleBoard, BeagleBone, PocketBeagle, PandaBoard, OMAP5EVM
fully device tree
longterm: 4.9.240 changes 2020-10-19 ARM MIPS ARM+LPAE device tree based, multi-platform, mature enough for daily use (now including telephony)
supports OpenPandora, GTA04, Letux Cortex 8, BeagleBoard, BeagleBone, PocketBeagle, PandaBoard, OMAP5EVM
fully device tree
android: 4.9.4-replicant 4.10.5-replicant 4.17.3-replicant
4.19-replicant 4.14-replicant
GTA04 includes patches so that we can build kernels for Replicant (GTA04 and source code only)
longerm [EOL]: 3.12.37 GTA04 GTA04 (except A5) feature complete (incl. camera), but lacks some power management
longerm [EOL]: 3.12-replicant GTA04 GTA04 (except A5) kernel modified/configured differently to better support Replicant
longerm [EOL]: 3.7-neil-plus GTA04 GTA04 (except A5): good power management, lacks some features (e.g. camera)
longerm [EOL]: 2.6.30-rc4 jz4730 Letux 400 and other Mini-Books

The Mainline-Plus Kernel concept (tracking linus/master = mainline)

See the branches which are based on the mainline linus/master kernel.

Basically there is a "stable" master branch and rolling release candidate branches and feature development ("work in progress") branches. Feature branches are patch set sitting on top of "letux-base". The "latest" branch is a copy of the latest "stable master" branch.

Every time Linus publishes a new release candidate (typically once per week on average), we update the letux-base branch and rebase all our new features. For example, the "letux-base" can currently be v4.19-rc2. One week later, we will have v4.19-rc3.

Then we merge all feature branches on top of letux-base and this creates e.g. letux-4.19-rc3. Note, that there is no linear history from letux-4.19-rc2 to letux-4.19-rc3 because there are rebases involved.

We also maintain long-term and stable kernels as defined by <www.kernel.org>. Every now and then, we merge in the latest stable release from kernel.org and sometimes backport important changes from the rolling release candidates.

supported devices (through different device tree files)

  • BeagleBoard C, BeagleBoard XM
  • BeagleBoard (C/XM) with Openmoko Beagle Hybrid expansion board
  • GTA04A3, GTA04A4, GTA04A5 (Letux 2804)
  • GTA04b2 (Letux 3704)
  • GTA04b3 (Letux 7004)
  • planned: GTA04b7 (Neo900)
  • PandaBoard ES
  • OMAP5432EVM
  • OMAP5432EVM + Pyra development boards
  • BeagleBone
  • PocketBeagle
  • Letux Cortex 8 (similar to PocketBeagle)
  • Letux Cortex 15 (Pyra CPU-Board stand-alone)
  • Pyra-Handheld
  • Letux Cortex 15 EVAL (Evaluation Board for Letux Cortex 15)
  • Pyra Phone (planned)
  • Udoo Neo
  • Letux 400 (mostly untested)
  • RaspBerry Pi 3B+

Please note that U-Boot is responsible for loading the correct device tree file.

For a list of features supported on each device, please see http://git.goldelico.com/letux-kernel-featurelist.php.

Philosophy

  • follows the latest kernel releases and includes security patches
  • based on the latest http://www.kernel.org (release candidates)
  • add the latest Linux features
  • have a rolling letux-base
  • aim at full support of the hardware by drivers that are not (yet) in mainline ("plus")
  • provide drivers for as many hardware features as possible in a clean way
  • can be used in daily life
  • our patches are pushed to go upstream so that the 'plus' part gets smaller and smaller step by step
  • have older long-term kernels (maybe missing some features)

Features / Maturity

GTA04 devices

The branches tracking linus/master currently don't support well (please refer to [issues][Issues]):

  • WiFi power management
  • Torch/Flash
  • Camera
  • IrDA
  • DSP
  • 3D Accelerator (PVR/SGX)

BeagleBoards

it works on the BeagleBoard XM with OpenMoko-BeagleHybrid display expander and on a BeagleBoard C w/o.

PandaBoard

it appears that everything works (incl. audio)

OMAP5432EVM/Pyra/PyraPhone

not working: AESS based audio, 3D Accelerator (PVR/SGX)

Contributions

Please download, test and patch the kernel tree. Please submit patches against the latest version (e.g. 4.5-rc2) and mail them to the letux-kernel mailing list. Thank you!

If you have problems with git, please refer to Contribute.

Reporting Issues

Please report all kernel issues through the "Issues" tab on this project.

Mailing List

There is a public mailing list dedicated to the Letux-Kernel: http://lists.goldelico.com/mailman/listinfo.cgi/letux-kernel

Donations

We actively work on the kernel and upstreaming patches, but this needs some funding for the developers. If you want to donate, you are welcome!

Installation

Building the kernel:

git clone http://git.goldelico.com/letux-kernel.git
cd letux-kernel
git checkout latest
make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- letux_defconfig uImage LOADADDR=0x80008000 dtbs INSTALL_MOD_PATH=/tmp/kernel-modules-$$ modules modules_install
cp arch/arm/boot/uImage modules arch/arm/boot/dts/omap*.dtb /mount/sdcard/boot/

You can also use git://git.goldelico.com/letux-kernel.git but this is a little less reliable on weak connections.

There is also letux_lpae_defconfig which enables LPAE and disables OMAP3+4 support.

Please refer to the GTA04 Rootfs for installation instructions of a complete distribution (bootloader, kernel, rootfs, LXDE GUI).

Controlling Hardware Features from User Space

You want to control the hardware features from user space. How this is done can be seen in the Documentation and Devices-Overview .

Powered by InDefero,
a Céondo Ltd initiative.