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

编译环境

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
红包 点赞 收藏 评论 打赏
评论
0个
时间排序
内容存在敏感词
手气红包
    0 条记录 第 0 /
    相关专栏
    置顶时间设置
    结束时间
    删除原因
    • 广告/SPAM
    • 恶意灌水
    • 违规内容
    • 文不对题
    • 重复发帖
    打赏作者
    易百纳技术社区
    wltext
    您的支持将鼓励我继续创作!
    打赏金额:
    ¥1 易百纳技术社区
    ¥5 易百纳技术社区
    ¥10 易百纳技术社区
    ¥50 易百纳技术社区
    ¥100 易百纳技术社区
    支付方式:
    微信支付
    支付宝支付
    易百纳技术社区 微信支付
    易百纳技术社区
    打赏成功!

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

    举报反馈

    举报类型

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

    详细说明

    审核成功

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

    审核失败

    失败原因
    备注
    Loading...
    易百纳技术社区
    确定要删除此文章、专栏、评论吗?
    确定
    取消
    易百纳技术社区
    每周任务
      去完成
      活动规则
      易百纳技术社区
      升级提醒
      升级

      恭喜您的社区称号由 升级为 “社区游民”

      同时为了感谢您对社区的支持,我们将送出xxx礼品一份, 记得领取哦~

      升级提醒
      易百纳技术社区

      惊喜礼包

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

      小包子的红包

      恭喜发财,大吉大利

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

        avatar