Letux Kernel

Letux Kernel

LetuxOS Kernel Project

This is a Subproject of the GTA04 and Openmoko Beagle Hybrid activities.

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/Alpha 400) and JZ4780 (CI20)

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

Update versions table
VariantSourcesChangesDateBinariesdescription
rc (latest/alpha): 6.9 changes 2024-05-13 arm arm64 CI20(mips) x86 L400(mips) arm+lpae LX16(mips) mips replicant-arm For alpha test: develop and test new features
mainline (beta): 6.8.9 changes 2024-05-06 arm arm64 CI20(mips) x86 L400(mips) arm+lpae LX16(mips) mips replicant-arm multi-platform, mature enough for daily use
supports OpenPandora, GTA04, Letux Cortex 8, BeagleBoard, BeagleBone, PocketBeagle, PandaBoard, OMAP5EVM, Pyra, Udoo neo, RasPi 3B+, CI20, PinePhone, Kobo/Tolino, SAMA5, LX16
longterm (beta): 6.6.30 changes 2024-05-06 arm arm64 CI20(mips) x86 L400(mips) arm+lpae LX16(mips) mips replicant-arm multi-platform, mature enough for daily use
supports OpenPandora, GTA04, Letux Cortex 8, BeagleBoard, BeagleBone, PocketBeagle, PandaBoard, OMAP5EVM, Pyra, Udoo neo, RasPi 3B+, CI20, PinePhone, Kobo/Tolino, SAMA5, LX16
longterm (beta): 6.1.90 changes 2024-05-07 arm arm64 CI20(mips) x86 L400(mips) arm+lpae mips replicant-arm multi-platform, mature enough for daily use
supports OpenPandora, GTA04, Letux Cortex 8, BeagleBoard, BeagleBone, PocketBeagle, PandaBoard, OMAP5EVM, Pyra, Udoo neo, RasPi 3B+, CI20, PinePhone, Kobo/Tolino, SAMA5
longterm (beta): 5.15.158 changes 2024-05-07 arm arm64 CI20(mips) x86 L400(mips) arm+lpae mips replicant-arm multi-platform, mature enough for daily use
supports OpenPandora, GTA04, Letux Cortex 8, BeagleBoard, BeagleBone, PocketBeagle, PandaBoard, OMAP5EVM, Pyra, Udoo neo, RasPi 3B+, CI20, PinePhone, Kobo/Tolino
stable master: 5.10.216 changes 2024-05-07 arm arm64 CI20(mips) x86 L400(mips) arm+lpae LX16(mips) mips replicant-arm multi-platform, mature enough for daily use
supports OpenPandora, GTA04, Letux Cortex 8, BeagleBoard, BeagleBone, PocketBeagle, PandaBoard, OMAP5EVM, Pyra, Udoo neo, RasPi 3B+, CI20, PinePhone, Kobo/Tolino
longterm (old): 5.4.275 changes 2024-05-07 arm CI20(mips) L400(mips) arm+lpae mips replicant-arm multi-platform, mature enough for daily use
supports OpenPandora, GTA04, Letux Cortex 8, BeagleBoard, BeagleBone, PocketBeagle, PandaBoard, OMAP5EVM, Pyra, Udoo neo, RasPi 3B+
longterm (old): 4.19.313 changes 2024-05-07 arm CI20(mips) L400(mips) arm+lpae mips replicant-arm multi-platform, mature enough for daily use
supports OpenPandora, GTA04, Letux Cortex 8, BeagleBoard, BeagleBone, PocketBeagle, PandaBoard, OMAP5EVM, Pyra, Udoo neo, RasPi 3B+
rolling (experimental): rolling-stable changes 2024-05-07 arm arm64 CI20(mips) x86 L400(mips) arm+lpae LX16(mips) replicant-replicant-arm multi-platform, mature enough for daily use
supports OpenPandora, GTA04, Letux Cortex 8, BeagleBoard, BeagleBone, PocketBeagle, PandaBoard, OMAP5EVM, Pyra, Udoo neo, RasPi 3B+, CI20, PinePhone, Kobo/Tolino, SAMA5, LX16
rolling (experimental): rolling-lts changes 2024-05-07 arm arm64 CI20(mips) x86 L400(mips) arm+lpae LX16(mips) replicant-replicant-arm multi-platform, mature enough for daily use
supports OpenPandora, GTA04, Letux Cortex 8, BeagleBoard, BeagleBone, PocketBeagle, PandaBoard, OMAP5EVM, Pyra, Udoo neo, RasPi 3B+, CI20, PinePhone, Kobo/Tolino, SAMA5, LX16
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
  • CI20 creator
  • Alpha 400 (only partially working)
  • RaspBerry Pi 3B+
  • RaspBerry Pi Zero
  • PinePhone
  • Odroid M1
  • SAMA5D2 Explained

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.