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:

  • the LPAE version is for OMAP5 only!
  • jz4730 needs a specially configured kernel build

Please refer to Platforms about the status of support for each feature/device.

Variant SourcesChangesBinariesdescription
mainline (alpha): 4.20-rc5 changes OMAP OMAP LPAE i.MX jz4730 For alpha test: develop and test new features
stable (latest): 4.19.4 / master changes OMAP OMAP LPAE i.MX Stable: device tree based, multi-platform, mature enough for daily use
supports Pyra, Letux Cortex 15, OpenPandora, GTA04, Letux Cortex 8, BeagleBoard, BeagleBone, PocketBeagle, PandaBoard, OMAP5EVM, Udoo neo
For beta test: test new features
stable [EOL]: 4.18.20 changes OMAP OMAP LPAE Stable: device tree based, multi-platform, mature enough for daily use
supports Pyra, Letux Cortex 15, OpenPandora, GTA04, Letux Cortex 8, BeagleBoard, BeagleBone, PocketBeagle, PandaBoard, OMAP5EVM, Udoo neo
fully device tree
longterm: 4.14.82 changes OMAP OMAP LPAE device tree based, multi-platform, mature enough for daily use (now including telephony)
supports Pyra (except screen rotation), OpenPandora, GTA04, Letux Cortex 8, BeagleBoard, BeagleBone, PocketBeagle, PandaBoard, OMAP5EVM
fully device tree
android: 4.9.4-android 4.10-android GTA04 kernel variant with patches so that we can run Replicant on it
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 4.19-rc2. One week later, we will have 4.19-rc3.

Then we merge all feature branches with 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
  • Letux Cortex 15 (Pyra CPU-Board stand-alone)
  • Pyra-Handheld
  • Letux Cortex 15 EVM (Evaluation Module)
  • Pyra Phone (planned)
  • Udoo Neo
  • Letux 400 (mostly untested)

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 Platforms.

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. Please submit patches against the latest version (e.g. 4.5-rc2) and mail them to the letux-kernel mailing list. Thank you!

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.