# 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`: ```bash 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: ```bash 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.