Skip to content

lee-soft/newstack

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

newstack

The reusable cross-build stack for the TP-Link Archer AX10's architecture. It packages the toolchain, target sysroot, and ABI shims needed to compile glibc-2.26 ARMv7 binaries that run on this router's 2013-vintage firmware — so CI (and anyone) can reproduce binaries for it.

Part of the archer-ax10 project. Consumed by ax10-dropbear and ax10-luci.

Target architecture

Triple arm-buildroot-linux-gnueabi (aka arm-linux-*)
CPU / float Cortex-A9, soft-float, ARM mode, aapcs-linux
libc glibc 2.26
Toolchain GCC 5.5.0, binutils 2.28.1 (Buildroot 2017.11.1 crosstools; Broadcom BCM675x SDK)
Kernel headers Linux 4.1

What's in the stack

  • The cross toolchain (crosstools-arm-gcc-5.5-linux-4.1-glibc-2.26-binutils-2.28.1).
  • A minimal target sysroot (glibc + headers).
  • ABI shims — the non-obvious part: hdrfix/ (patched blobmsg.h/libubus.h/iwinfo.h) and the 2013-vintage libubox/ubus the firmware's own ubusd links against. These let modern OpenWrt sources build against the router's old ubus ABI.

Use it in CI

The toolchain binaries are 32-bit x86, so on GitHub's x86-64 runners they run natively — no qemu (qemu-i386 is only needed on a non-x86 build host). Packages build inside the image:

jobs:
  build:
    runs-on: ubuntu-latest
    container: ghcr.io/lee-soft/newstack:latest
    steps:
      - uses: actions/checkout@v4
      - run: ./build/build.sh        # uses the toolchain on PATH

Status

The toolchain ships as the toolchain-2017.11 Release asset (39 MB) and build-image builds + publishes ghcr.io/lee-soft/newstack:latest from the Dockerfile. It's a clean Buildroot GPL/LGPL crosstool — no proprietary content, toolchain sysroot is pure glibc. Consumed today by ax10-dropbear (which just pulls the toolchain Release asset directly). The LuCI stack — which additionally needs the Broadcom target sysroot and the 2013 libubox/ubus ABI shims — is the next addition.

License

MIT for this repo's tooling (see LICENSE). The toolchain (GCC/binutils/glibc) is GPL/LGPL — see THIRD-PARTY.md.

About

Reusable glibc-2.26 ARMv7 cross-build stack for the TP-Link Archer AX10.

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors