为 openwrt 编译 htop
其实就和原来给电视棒交叉编译一样, 不过这次交叉编译器可让我好找…
路由器用的是华为的 hg255d, mips 的芯片, 16M flash, 64M sdram.
一般嵌入式开发都把内核和 app 分开的… 这个 openwrt 却不单独提供 toolchain. 只给一个内核源码包 (也不只是内核, 是内核和软件包的混合体…)
不过最后还是找到一个单独的工具链:
下载地址:
有了工具链一切就好办了. htop 依赖与 ncurses 所以先下载 ncurses.
1 | mkdir openwrt |
下载好之后, 在当前目录建一个文件夹 build, 编译后的文件就安装在这里, 然后分步解压
1 | mkdir build |
然后先编译 ncurses:
1 | cd ncurses-5.9 |
后面几个 without 是去除 c++ 和 ada 支持以及不编译 manpage 和测试程序
然后就能发现在 build/lib 里有编译好的 ncurses 库了
之后编译 htop:
1 | cd htop-1.0.2 |
LDFLAGS=-L/home/zzz/openwrt/build/lib 选项是为了加上链接库的路径
短暂等待过后, 在 build/bin 里应该能看见 htop.
拿到 openwrt 上运行又发生点问题. 提示
Error opening terminal: xterm.
上网 Google 一下发现需要设置 TERMINFO 环境变量:
1 | export TERMINFO=/usr/share/terminfo |
[EOF]