Files
openwrt/docs/cross_compilation_notes.md
2026-03-22 00:54:57 -07:00

1.5 KiB
Executable File

Cross-Compilation Notes

GL-iNet Flint 2 (GL-MT6000)

  • SoC: MediaTek MT7986 (Filogic 830)
  • CPU: Quad-core ARM Cortex-A53 @ 2.0GHz
  • Architecture: aarch64
  • Target: mediatek/filogic
  • SDK Path: ../openwrt-sdk-mediatek-filogic_gcc-14.3.0_musl.Linux-x86_64
  • Toolchain: gcc-14.3.0_musl

Compiling for Flint 2

  1. Source the SDK environment (if using the full SDK wrapper) or add the staging_dir toolchain to PATH.
  2. Export STAGING_DIR:
    export STAGING_DIR=/home/sapient/Projects/OpenWRT/openwrt-sdk-mediatek-filogic_gcc-14.3.0_musl.Linux-x86_64/staging_dir
    
  3. Add toolchain bin to PATH:
    export PATH=$PATH:$STAGING_DIR/toolchain-aarch64_cortex-a53_gcc-14.3.0_musl/bin
    
  4. Compile with aarch64-openwrt-linux-gcc.

GL-iNet Flint 1 (GL-AX1800)

  • SoC: Qualcomm IPQ6000
  • CPU: Quad-core ARM Cortex-A53 @ 1.2GHz
  • Architecture: aarch64
  • Target: ipq807x/generic or ipq807x/ipq60xx (check OpenWRT target mapping)

Compiling for Flint 1

  • Similar to Flint 2, this is an aarch64 architecture.
  • CAUTION: while the architecture is the same (aarch64), kernel headers and libc versions might differ if using a different OpenWRT version.
  • Ideally, obtain the SDK for ipq807x if the application relies on kernel interfaces or specific libraries. for generic userspace apps, the Flint 2 toolchain might work but is not guaranteed.

General Notes

  • Both devices are aarch64.
  • Generic static binaries compiled for aarch64-linux-musl should likely work on both.