toltec-dev / toolchain

Set of Docker images for cross-compiling binaries targeting the reMarkable tablet.
MIT License
34 stars 12 forks source link

Initial support for >=3.6 firmwares, toolchain v4.x #27

Open ilyaluk opened 1 year ago

ilyaluk commented 1 year ago

This updates all libraries in toolchain/base images according to 3.6.0.1865 firmware.

Includes patches for glibc 2.35 (to be upstreamed) and for breakpad.

Updated crosstool-ng to latest master and regerated crosstool.config using it.

Does not include QT updates yet, waiting on reMarkable toolchain with up-to-date libqsgepaper

ilyaluk commented 1 year ago

Btw, @Eeems, ct-ng offers way smaller configs by exporting them:

root@64aab2c30c79:~/crosstool-ng# ./ct-ng saveconfig
Reporter name [Mattéo Delabre]:
Reporter URL [https://matteo.delab.re]:
Old comment:
  > Toolchain for the reMarkable - Adapted from arm-cortexa9_neon-linux-gnueabihf
Reporter comment (Ctrl-D to finish, '.' to use previous):
.
root@64aab2c30c79:~/crosstool-ng# cat samples/arm-remarkable-linux-gnueabihf/crosstool.config
CT_CONFIG_VERSION="4"
CT_EXPERIMENTAL=y
CT_ALLOW_BUILD_AS_ROOT=y
CT_ALLOW_BUILD_AS_ROOT_SURE=y
CT_ARCH_ARM=y
CT_ARCH_CPU="cortex-a9"
CT_ARCH_FPU="neon"
CT_ARCH_FLOAT_HW=y
CT_TARGET_VENDOR="remarkable"
CT_TARGET_ALIAS="arm-linux-gnueabihf"
CT_TOOLCHAIN_ENABLE_NLS=y
CT_KERNEL_LINUX=y
CT_LINUX_V_5_4=y
CT_BINUTILS_V_2_35=y
CT_BINUTILS_LINKER_LD_GOLD=y
CT_BINUTILS_GOLD_THREADS=y
CT_BINUTILS_LD_WRAPPER=y
CT_BINUTILS_PLUGINS=y
CT_GLIBC_V_2_35=y
CT_GLIBC_USE_LIBIDN_ADDON=y
# CT_GLIBC_ENABLE_DEBUG is not set
CT_GLIBC_LOCALES=y
CT_GLIBC_KERNEL_VERSION_NONE=y
CT_GCC_V_10=y
# CT_CC_GCC_ENABLE_TARGET_OPTSPACE is not set
CT_CC_LANG_CXX=y
CT_DEBUG_GDB=y
CT_GDB_V_11=y
# CT_GDB_CROSS_PYTHON is not set
CT_GDB_NATIVE=y
CT_GDB_NATIVE_STATIC=y
CT_GETTEXT_V_0_20_1=y
CT_ISL_V_0_22=y
CT_NCURSES_V_6_2=y
# CT_NCURSES_NEW_ABI is not set

Which yields the same .config after ./ct-ng arm-remarkable-linux-gnueabihf.

I can update the PR to include this config format.

Eeems commented 1 year ago

Btw, @Eeems, ct-ng offers way smaller configs by exporting them:

...

Which yields the same .config after ./ct-ng arm-remarkable-linux-gnueabihf.

I can update the PR to include this config format.

Sure, a simpler config will be easier to maintain.

Eeems commented 9 months ago

@jilyaluk poke, any chance you've had time to continue working on this?

Eeems commented 7 months ago

@jilyaluk poke again?

ilyaluk commented 5 days ago

@Eeems sorry, I did not have access to my reMarkable for quite some time, so could not test anything. Now I got it back, will look at this soon.