Giter Club home page Giter Club logo

toolchain's Introduction

Toltec Build Toolchain

This is a set of Docker images used for cross-compiling binaries for the the reMarkable tablet. They are primarily aimed at providing reproducible build environments for Toltec packages. They can also be useful for any project that needs to be built for the reMarkable.

Note: reMarkable also used to provide an official OpenEmbedded-Core-based toolchain on its https://remarkable.engineering website. However, the company seems to have phased out the website as of January 2021, so its status is currently unknown.

Paths

Name Location Contents
Build system root / Minimal Debian install with usual build tools, the CMake and Meson build systems, and the opkg package manager for installing packages in the host system root.
Cross-compiler root /opt/x-tools/arm-remarkable-linux-gnueabihf/bin GCC cross-compiler and assorted tools which target the ARMv7 architecture. This directory is in $PATH by default.
Host system root $SYSROOT This is where binaries targeting the reMarkable are installed. By default, it only contains a minimal set of libraries and executables (glibc and Linux headers).
Local Opkg repository /repo Packages stored in this directory can be installed to the host system root using the opkg command.

Images

Name Contents
toolchain Only the tools mentioned above.
base Adds to the host system root a set of libraries similar to those that come pre-installed on the reMarkable: libcap, util-linux, libsystemd, zlib, libpng, and libevdev.
qt Adds Qt to the host system root, including the closed-source libqsgepaper plugin. Includes the qmake build tool in the build system root.
rust Adds Nightly Rust configured to use the ARMv7 cross-compiler to the build system root.
python Adds a Python 3.7.3 distribution to the build system root.
golang Adds a Go 1.16.2 distribution to the build system root.

Version Matrix

The toolchain images aim to follow the library versions available on the stock reMarkable system. The major version number of the toolchain is increased each time an official reMarkable update changes the available libraries. The table below lists the version number of each library for each major toolchain release.

↓ Library \ Toolchain → 1.x 2.x
Compatible reMarkable updates ⩽ 2.5.0.26 ⩾ 2.6.1.71
toolchain Image
Linux headers 4.9 4.14
glibc 2.27 2.31
base Image
libcap 2.25 2.32
util-linux 2.32 2.36.1
libsystemd 237 244
zlib 1.2.11
libpng 1.6.34 1.6.37
libevdev 1.5.8 1.9.1
qt Image
Qt 5.11.3 5.15.1

Installing Opkg Packages

Opkg is installed on every toolchain image and is configured to install packages in offline mode, i.e., without executing any maintainer script. By default, it is configured to install packages from Entware and from the local repository stored in /repo. Opkg stores its cache in /var/cache/opkg.

Changelog

See the changelog →

toolchain's People

Contributors

matteodelabre avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.