向开发板上移植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 命令替换回来就行了。 这就是前面强烈 建议大家对根文件系统做个备份的原因!!!
最简单的方法就是用备份的根文件系统重新做一遍!

相关推荐
明天也要努力学习21 分钟前
TCP 协议的相关特性
网络·网络协议·tcp/ip
qq_401700411 小时前
100 个 IoT 小项目,给 ESP32 入门补上实操
前端·网络·stm32
GeW1 小时前
新质生产力路线图落地,Linux运维与数据库架构师的机会清单
linux
2401_873479401 小时前
源IP告警太多用什么工具分层?ASN与风险评分操作指南
网络·网络协议·tcp/ip
Brilliantwxx1 小时前
【Linux】 文件访问与路径解析:目录、文件名、dentry、路径缓冲与 dcache 全解析
linux·运维·服务器·开发语言·spring
见闻小天地1 小时前
新手入门:印刷包装设备的伺服和PLC运动控制方案各管什么?七步选型讲清楚
运维·网络·数据库·人工智能
father_12272 小时前
Greenplum 集群故障恢复与主备同步机制实战
linux·网络·greenplum
ynchyong2 小时前
linux中的 sed` 与 `seq`
linux·运维·sed·seq·文本工具
中电金信3 小时前
开发更高效、监控更实时、运维更省心,源启数据开发平台构筑一站式数据开发新底座
网络·数据库·人工智能