编译能运行在中国电信光猫天翼网关GPON设备的程序HG6543C1

测试设备:烽火 FiberHome 厂家的光猫 HG6543C1
目标:能在 AMD64 的 Debian 11 里编译、make 出能在光猫里运行的程序

过程:

  1. 先确认光猫能否 telnet 或 ssh 登录
  2. 查看、确认光猫现有的软件环境,如本例的一个程序,在Linux里用file命令查看,大概知是大端的mips32平台

    $file gdecms
    gdecms: ELF 32-bit MSB executable, MIPS, MIPS32 rel2 version 1 (SYSV), dynamically linked, interpreter /lib/ld-uClibc.so.0, stripped
  3. 下载,通过buildroot来获得相应的cross compiler toolchain 交叉编译所需的软件包
  4. 用toolchain包里的gcc,g++等,从软件的源码中make中可执行的二进制程序文件

本次实践中的几条命令:

/home/liujia/bt/openssl/openssl-1.1.1n/Configure linux-mips32 no-shared --cross-compile-prefix=mipsel-linux- --prefix=/home/liujia/bt/openssl/out
./b2 install abi=o32 toolset=gcc-mips --prefix=/home/liujia/bt/boost/out  --with-program_options --with-system link=static
cmake .. -DENABLE_MYSQL=OFF -DSYSTEMD_SERVICE=OFF -DBoost_DEBUG=ON -DBoost_LIBRARIES="/home/liujia/bt/boost/out/lib" -DBoost_INCLUDE_DIR="/home/liujia/bt/boost/out/include" -DOPENSSL_ROOT_DIR="/home/liujia/bt/openssl/out" -DOPENSSL_LIBRARIES="/home/liujia/bt/openssl/out/lib" -DOPENSSL_INCLUDE_DIR="/home/liujia/bt/openssl/out/include" -DCMAKE_TOOLCHAIN_FILE=../toolchain.cmake

参考:

标签: 光猫, mips, buildroot

添加新评论