rv1126 编译linux procps-ng 使用全功能top命令显示

rv1126 编译linux procps-ng 使用全功能top命令显示 wltext 2022-07-14 08:58:40 11109

编译环境

ubuntu_x64

sdk: rv1126_rv1109_linux_sdk_v1.8.0_20210224

所需软件

ncurses-6.3.tar.gz

procps-ng-3.3.17.tar.xz

过程

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

如果编译中遇到报错,手动编辑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. build_ncurses  后 生成编译库如下

易百纳社区

build_procps 后生成top可执行程序

易百纳社区

3.rv1126板子,

将编译好的 libncurses.a  移动至 板子  /usr/lib  , 将编译好的 top  移动至板子  /usr/bin

设置环境变量永久生效  vi /etc/profile  输入  export TERMINFO=/usr/share/terminfo

4.板子运行top

易百纳社区

声明:本文内容由易百纳平台入驻作者撰写,文章观点仅代表作者本人,不代表易百纳立场。如有内容侵权或者其他问题,请联系本站进行删除。
wltext
红包 1 收藏 评论 打赏
评论
1个
内容存在敏感词
手气红包
  • ││ 2023-10-26 17:44:02
    回复
    感谢分享! 中间遇到“terminals database is inaccessible”问题,最后修改编译脚本使用动态库连接,生成terminfo的文件夹,再把terminfo拷到板子上,设置环境变量export TERMINFO=/tmp/share/terminfo,再执行top 就解决了
相关专栏
置顶时间设置
结束时间
删除原因
  • 广告/SPAM
  • 恶意灌水
  • 违规内容
  • 文不对题
  • 重复发帖
打赏作者
易百纳技术社区
wltext
您的支持将鼓励我继续创作!
打赏金额:
¥1易百纳技术社区
¥5易百纳技术社区
¥10易百纳技术社区
¥50易百纳技术社区
¥100易百纳技术社区
支付方式:
微信支付
支付宝支付
易百纳技术社区微信支付
易百纳技术社区
打赏成功!

感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~

举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

审核成功

发布时间设置
发布时间:
是否关联周任务-专栏模块

审核失败

失败原因
备注
拼手气红包 红包规则
祝福语
恭喜发财,大吉大利!
红包金额
红包最小金额不能低于5元
红包数量
红包数量范围10~50个
余额支付
当前余额:
可前往问答、专栏板块获取收益 去获取
取 消 确 定

小包子的红包

恭喜发财,大吉大利

已领取20/40,共1.6元 红包规则

    易百纳技术社区