这篇文章主要为大家展示了“基于mips芯片,openwrt平台如何交叉编译htop”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“基于mips芯片,openwrt平台如何交叉编译htop”这篇文章吧。
1.1 背景
Openwrt下平台下的top已经非常陈旧,不支持top -H查看进程中线程状态,不支持查看进程的各个子线程的信息,因此今天花一点时间来移植htop工具至openwrt上,对于优化代码,监控资源起到很大的作用,htop + strace 还能跟踪系统调用。
1.2 下载源码
http://hisham.hm/htop/index.php?page=downloads
打开以上链接,git clone到本地即可
git clone https://github.com/hishamhm/htop
1.3 修改权限和配置
chmod 777 htop/* -R
进入htop目录,执行./autogen.sh,生成.configure文件
1.4 配置编译选项
编译openwrt过程中,已经生成了htop依赖的libncursesw.so.5.9库,直接找到所在路径,加入编译选项即可。
configure,指定libncurses库及头文件的路径,还有编译器
CFLAGS="-I/home/xxx/hdl/openwrt/staging_dir/target-mipsel_24kc_musl/usr/include" LIBS="-L/home/xxx/hdl/openwrt/staging_dir/target-mipsel_24kc_musl/usr/lib -lncursesw -lncurses" ./configure –host=mipsel-openwrt-linux-musl CC=mipsel-openwrt-linux-musl-gcc –prefix=/home/xxx/hdl/lib/htop
1.5 make && make install
产生的可执行文件在prefix==/home/xxx/hdl/lib/htop 指定的目录下面,用file htop,可知,htop编译的可执行程序,可以在mips平台上执行。
1.6 用scp或者winscp工具下载至带有openwrt系统,mips平台下执行
htop程序放在/bin/目录下面
htop依赖的libncurses.so.5.9下载至/usr/lib/目录下面,做一个软件链接
ln -s libncurses.so.5.9 libncurses.so.5 编译opwnert系统过程中,已经产生了terminfo,可以这样找到terminfo,find xxx目录 -iname terminfo
htop工具执行的时候,会依赖这个,用scp或者winscp工具拷贝至装有openwrt系统的mips平台下,存放目录/usr/share
1.7 执行效果,一些高级用法自行查找网上教程
按 “s”指定对应线程,进入系统跟踪调用查看
以上是“基于mips芯片,openwrt平台如何交叉编译htop”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
原创文章,作者:506227337,如若转载,请注明出处:https://blog.ytso.com/219993.html