向开发板上移植ip工具:将ip工具移植到开发板系统中

一. 简介

前面一篇文章对 ip工具源码进行了交叉编译,生成了ip工具。文章如下:

向开发板上移植ip工具:交叉编译 ip工具-CSDN博客

本文对生成的 ip工具进行移植,即移植到开发板系统中,并确定是否可用。

二. 向开发板上移植ip工具:将ip工具移植到开发板系统中

1. 将交叉编译得到的 ip 拷贝到开发板中

首先,打开ubuntu系统,终端进入 iproute2-4.4.0工程目录的 /ip目录下, 将交叉编译到的 ip 命令拷贝到开发板中。
注意:这里先 不要替换开发板根文件系统中原有的 ip 命令!切记!切记!
先拷贝到开发板根文件系统的其他目录里面。比如,我这里就拷贝到 /lib/modules/4.1.15 这个目录里面,命令如下:

复制代码
wangtian@wangtian-virtual-machine:~/zhengdian_Linux/tools/iproute2-4.4.0/ip$ sudo cp ip /home/wangtian/linux/nfs_File/rootfs/lib/modules/4.1.15/ -f

开发板上电后,进入 系统目录 /lib/modules/4.1.15 下,在开发板上先执行一下新的 ip 命令,查看一下版本号,命令如下:

复制代码
./ip -V  //执行新的 ip 命令,查看版本号

可以看到如下信息:

可以看出,新编译生成的 ip工具是有版本号的,版本号为:

复制代码
ip utility, iproute2-ss160111

2. 将开发板上新的 ip 命令替换原来的ip命令

注意,此步骤在开发板中执行!
开发板根文件系统中原来的 ip 命令是 busybox 自带的,存 放在 /sbin 目录下。接下来,我们使用新的 ip 命令替换原来的,在开发板中执行如下命令:

复制代码
/lib/modules/4.1.15 # cp ip /sbin/ip -f
/lib/modules/4.1.15 # 

拷贝完成以后将 /lib/modules/4.1.15/ 目录下的 ip 命令删除掉:

重启开发板,查看根文件系统 是否可以正常启动! 如果正常启动的话,输入如下命令查看 ip 命令版本号:

复制代码
ip -V  //查看 ip 命令版本号

执行后如下所示:

至此, iproute2 中的 ip 命令就已经移植好了, CAN通信 测试的话,我们会使用 ip 命令来设置 can0 网卡的相关信息。

3**. 替换 ip 命令以后系统启动失败怎么办?**

如果在替换 ip 命令的时候操作失误可能会导致开发板系统启动失败,如下图 所示:


可以看出,系统启动失败,提示" Object "it" is unknown, try "ip help". ",这是因为 ip 命令替换错误导致的!
所以说一定要严格按照本节教程讲解的步骤替换 ip 命令。遇到上图 中的错误以后,解决方法就是把以前的 ip 命令替换回来就行了。 这就是前面强烈 建议大家对根文件系统做个备份的原因!!!
最简单的方法就是用备份的根文件系统重新做一遍!

相关推荐
斗转星移316 分钟前
解决ubuntu20.04无法唤醒的问题的一种方法
linux·ubuntu·电脑
lyh13441 小时前
【Ubuntu崩溃修复】
linux·运维·服务器
Dream Algorithm2 小时前
中国移动6周年!
网络·架构·信息与通信
贝塔实验室2 小时前
FPGA 的硬件结构
arm开发·fpga开发·职场和发展·硬件架构·硬件工程·fpga·安全架构
什么半岛铁盒2 小时前
【Linux系统】Linux环境变量:系统配置的隐形指挥官
linux
小疆智控2 小时前
农田水利如何「聪明」起来?Modbus转Ethernet IP破解设备互联
网络·网络协议·tcp/ip
Lw老王要学习2 小时前
Linux容器篇、第一章_02Rocky9.5 系统下 Docker 的持久化操作与 Dockerfile 指令详解
linux·运维·docker·容器·云计算
木mu升3 小时前
java 局域网 rtsp 取流 WebSocket 推送到前端显示 低延迟
网络·websocket·网络协议
橙子小哥的代码世界3 小时前
【大模型RAG】Docker 一键部署 Milvus 完整攻略
linux·docker·大模型·milvus·向量数据库·rag