技术专栏
rv1126 编译linux procps-ng 使用全功能top命令显示
编译环境
ubuntu_x64
sdk: rv1126_rv1109_linux_sdk_v1.8.0_20210224
所需软件
过程
1.ubuntu_x64平台,解压 ncurses-6.3.tar.gz,procps-ng-3.3.17.tar.xz 至目录utils(自行创建)
交叉编译工具所在路径: /xxx/rv1126_rv1109_linux_sdk_v1.8.0_20210224/prebuilts/gcc/linux-x86/arm/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-
(/xxx 为sdk所在目录)
切换到utils目录,编辑编译脚本build.sh。CROSS_COMPILE=xxx xxx为交叉编译工具的路径
#!/bin/sh
CROSS_COMPILE=/xxx/rv1126_rv1109_linux_sdk_v1.8.0_20210224/prebuilts/gcc/linux-x86/arm/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-
ARCH=arm
TARGET_DIR=$(cd `dirname $0`; pwd)/output
build_ncurses() {
cd ncurses-6.3
make clean
./configure --host=$ARCH-linux --prefix=$TARGET_DIR \
--enable-static \
--disable-shared \
CC=$CROSS_COMPILE\gcc \
CPP=$CROSS_COMPILE\g++ \
CXX=$CROSS_COMPILE\g++ \
STRIP=$CROSS_COMPILE\strip \
RANLIB=$CROSS_COMPILE\ranlib \
OBJDUMP=$CROSS_COMPILE\objdump \
NM=$CROSS_COMPILE\nm \
LD=$CROSS_COMPILE\ld \
AR=$CROSS_COMPILE\ar \
AS=$CROSS_COMPILE\as ;
make -j|| exit 1
#make || exit 1
cd -
}
build_ncurses
build_procps() {
cd procps-3.3.17
make clean
echo "ac_cv_func_realloc_0_nonnull=yes" > arm-linux.cache
echo "ac_cv_func_malloc_0_nonnull=yes" >> arm-linux.cache
CFLAGS="-I$TARGET_DIR/include -I$TARGET_DIR/include/ncurses" NCURSES_CFLAGS="-I$TARGET_DIR/include -I$TARGET_DIR/include/ncurses" NCURSES_LIBS="-L$TARGET_DIR/lib -lncurses" ./configure --host=$ARCH-linux --prefix=$TARGET_DIR \
--enable-static \
--disable-shared \
--with-ncurses \
--cache-file=arm-linux.cache \
CC=$CROSS_COMPILE\gcc \
CPP=$CROSS_COMPILE\g++ \
CXX=$CROSS_COMPILE\g++ \
STRIP=$CROSS_COMPILE\strip \
RANLIB=$CROSS_COMPILE\ranlib \
OBJDUMP=$CROSS_COMPILE\objdump \
NM=$CROSS_COMPILE\nm \
LD=$CROSS_COMPILE\ld \
AR=$CROSS_COMPILE\ar \
AS=$CROSS_COMPILE\as ;
make -j|| exit 1
#make || exit 1
cd -
}
build_procps
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
<
如果编译中遇到报错,手动编辑makefile文件,修改报错makefile文件内以下变量为交叉编译工具即可
CC=/xxx/rv1126_rv1109_linux_sdk_v1.8.0_20210224/prebuilts/gcc/linux-x86/arm/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc \
CPP=/xxx/rv1126_rv1109_linux_sdk_v1.8.0_20210224/prebuilts/gcc/linux-x86/arm/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-g++ \
CXX=/xxx/rv1126_rv1109_linux_sdk_v1.8.0_20210224/prebuilts/gcc/linux-x86/arm/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-g++ \
STRIP=/xxx/rv1126_rv1109_linux_sdk_v1.8.0_20210224/prebuilts/gcc/linux-x86/arm/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-strip \
RANLIB=/xxx/rv1126_rv1109_linux_sdk_v1.8.0_20210224/prebuilts/gcc/linux-x86/arm/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-ranlib \
OBJDUMP=/xxx/rv1126_rv1109_linux_sdk_v1.8.0_20210224/prebuilts/gcc/linux-x86/arm/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-objdump \
NM=/xxx/rv1126_rv1109_linux_sdk_v1.8.0_20210224/prebuilts/gcc/linux-x86/arm/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-nm \
LD=/xxx/rv1126_rv1109_linux_sdk_v1.8.0_20210224/prebuilts/gcc/linux-x86/arm/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-ld \
AR=/xxx/rv1126_rv1109_linux_sdk_v1.8.0_20210224/prebuilts/gcc/linux-x86/arm/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-ar \
AS=/xxx/rv1126_rv1109_linux_sdk_v1.8.0_20210224/prebuilts/gcc/linux-x86/arm/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-as ;
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
build_ncurses
后 生成编译库如下
build_procps
后生成top可执行程序
3.rv1126板子,
将编译好的 libncurses.a
移动至 板子 /usr/lib
, 将编译好的 top
移动至板子 /usr/bin
设置环境变量永久生效 vi /etc/profile
输入 export TERMINFO=/usr/share/terminfo
4.板子运行top
声明:本文内容由易百纳平台入驻作者撰写,文章观点仅代表作者本人,不代表易百纳立场。如有内容侵权或者其他问题,请联系本站进行删除。
红包
1
收藏
评论
打赏
- 分享
- 举报
评论
1个
手气红包
-
││ 2023-10-26 17:44:02回复 举报感谢分享! 中间遇到“terminals database is inaccessible”问题,最后修改编译脚本使用动态库连接,生成terminfo的文件夹,再把terminfo拷到板子上,设置环境变量export TERMINFO=/tmp/share/terminfo,再执行top 就解决了
相关专栏
-
浏览量:2023次2023-12-29 17:51:55
-
浏览量:2615次2024-01-05 14:15:33
-
浏览量:7627次2021-12-03 17:12:00
-
浏览量:1779次2024-05-24 19:05:42
-
浏览量:1242次2023-11-09 15:33:49
-
浏览量:1647次2024-01-09 17:35:19
-
浏览量:1242次2023-10-26 10:43:59
-
浏览量:2888次2023-11-29 08:59:50
-
浏览量:1250次2023-08-30 18:37:06
-
浏览量:998次2024-01-02 09:46:50
-
浏览量:1409次2024-01-23 11:28:32
-
浏览量:971次2023-12-06 09:40:25
-
浏览量:2903次2023-06-28 17:22:40
-
浏览量:9506次2020-11-17 15:41:28
-
浏览量:4357次2021-06-18 16:05:42
-
浏览量:941次2024-01-18 17:18:51
-
浏览量:450次2025-01-24 15:23:10
-
浏览量:1552次2023-08-31 16:23:55
-
浏览量:1623次2023-12-07 00:53:19
置顶时间设置
结束时间
删除原因
-
广告/SPAM
-
恶意灌水
-
违规内容
-
文不对题
-
重复发帖
打赏作者

wltext
您的支持将鼓励我继续创作!
打赏金额:
¥1

¥5

¥10

¥50

¥100

支付方式:

举报反馈
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明
审核成功
发布时间设置
发布时间:
请选择发布时间设置
是否关联周任务-专栏模块
审核失败
失败原因
请选择失败原因
备注
请输入备注