文章目录
环境
交叉编译器:gcc version 3.4.5
开发板kernel:linux-2.26
源码下载(环境新的可以试试用5.9的ncurses)
# wget http://hisham.hm/htop/releases/1.0.1/htop-1.0.1.tar.gz
# wget http://ftp.gnu.org/gnu/ncurses/ncurses-5.6.tar.gz
解压
# tar xvf htop-1.0.1.tar.gz
# tar xvf ncurses-5.6.tar.gz
编译安装ncurses
由于htop依赖于ncurses库,因此需要先编译ncurses,进入ncurses目录,并配置交叉编译 ,注意–host 指定的是交叉编译工具的名称前缀,我的工具名都叫arm-linu-gcc arm-linux-ld 所以我这里是–host=arm-linux 安装目录是当前目录的install下( --prefix=$PWD/install)
#cd ncurses-5.6
#./configure --prefix=$PWD/install \
--without-cxx --without-cxx-binding --without-ada --without-manpages --without-progs --without-tests --with-shared --host=arm-linux
#make -j4
#make install
编译htop
新建make.sh脚本,新建的脚本需要应用编译好的ncurses库文件和头文件,请看make.sh脚本中的引用, 安装目录是当前目录的install下( --prefix=$PWD/install),
LIBS指定的是刚才安装ncurses的目录
# /bin/sh
LIBS=/home/ubuntu/ncurses-5.6/install
./configure --prefix=$PWD/install --disable-unicode --host=arm-linux \
LDFLAGS=-L$LIBS/lib/ \
CPPFLAGS="-I$LIBS/include/ncurses -I$LIBS/include/"
编译安装
# bash make.sh
# make -j4
# make install
最后生成的htop命令在htop-1.0.1/install/bin目录下
拷贝文件:
.1.把ncurses 根目录install目录下的lib下的libncurses.so.5.6 拷贝到板子上的/lib 下
并重命名为libncurses.so.5
2.把ncurses 根目录install 目录下share下的terminfo 目录拷贝到板子上/usr/share/terminfo目录下 没有就创建再放过去
设置环境变量(板子上)
# echo $TERM
vt102
这个改成:export TERM=linux 就有颜色了
指定terminfo文件夹位置(板子上)
#export TERMINFO=/usr/share/terminfo
#export TERMINFO_DIRS=/usr/share/terminfo:/usr/local/share/terminfo
设置永久环境变量(针对的busybox)
touch /etc/profile
vi /etc/profile
export TERMINFO_DIRS=/usr/share/terminfo
export TERMINFO=/usr/share/terminfo
export TERM=linux