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.
Variant | Sources | Changes | Binaries | description |
---|---|---|---|---|
rc (latest/alpha): | 5.8-rc2 | changes | ARM ARM64 MIPS ARM+LPAE Rep-ARM | For alpha test: develop and test new features |
mainline (beta): | 5.7.5 | changes | ARM ARM64 MIPS ARM+LPAE | |
mainline EOL: | 5.6.19 | changes | ARM ARM64 MIPS ARM+LPAE |
Stable: device tree based, 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+, Ingenic CI20, PinePhone |
longterm: | 5.4.48 | changes | ARM MIPS ARM+LPAE Rep-ARM |
Stable: device tree based, 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+ |
stable (master): | 4.19.129 | changes | ARM MIPS ARM+LPAE Rep-ARM |
device tree based, 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.185 | changes | ARM MIPS ARM+LPAE Rep-ARM 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.228 | changes | 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 .