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

相关推荐
码刘的极客手记34 分钟前
VCAP4-DCA Beta 考试体验分享与 esxcli 自动化实战(第二、三部分)
网络·esxi·vmware·虚拟机
kida_yuan1 小时前
【Linux】运维实战笔记 — 我常用的方法与命令
linux·运维·笔记
@syh.1 小时前
【linux】进程控制
linux
朝风工作室1 小时前
开源一款轻量级跨网段 IPC 设备发现与网络配置工具
网络·开源
Qaz555666912 小时前
透明DNS选路实验
网络
何中应3 小时前
vmware的linux虚拟机如何设置以命令行方式启动
linux·运维·服务器
haluhalu.3 小时前
Linux网络编程------网络基础
网络·网络协议
坐怀不乱杯魂3 小时前
Linux网络 - HTTP协议
网络·网络协议·http
江畔何人初3 小时前
kubernet与docker的关系
linux·运维·云原生
百炼成神 LV@菜哥3 小时前
Kylin Linux V10 aarch64 安装启动 TigerVNC-Server
linux·服务器·kylin