openwrt的IP修改了怎么保存

openwrt的IP修改了怎么保存,第1张

【注】本文是基于Ubuntu14.04+Openwrt17.01开发的教程。

5.1在开发板上设置IP

由于我们在开发过程中,可能会用到其他路由器,而它们的IP一般都是192.168.1.1,为了让开发板上的IP不与这些路由器的IP冲突,我们需要修改开发板上的IP地址。

接下来,我们就通过在开发板上面修改配置文件的方式来修改IP地址。首先开发板上电,等它启动一会儿,然后回车进入控制台。如图1所示。

我们可以在控制台中输入ifconfig命令来查看开发板的IP地址。

#ifconfig

如图2所示,输入ifconfig命令并回车后,我们就得到了开发板的IP地址,此时是开发板的默认IP地址192.168.1.1。

接下来,我们就来修改IP地址,将它给为192.168.0.10。在开发板上面,通过修改/etc/config目录下的network配置文件,可以达到目的。首先输入一些命令。

#vi etc/config/network

此时,我们变可以看到network配置文件的内容如下。

此时,我们只需要将红色部分的IP地址改为192.168.0.10,然后保存退出,然后再重启开发板,就发现IP地址被改为192.168.1.111了。

5.2在源代码中设置IP

前面是通过在开发板上面修改配置文件的方式来修改IP,这样做虽然简单,但是每当我们重新烧写固件后,都要通过这个方式重新修改IP,这样太麻烦。那么,接下来我们就来通过修改源码的方式,来修改IP。

如果大家对OpenWrt系统的启动流程有一定的了解的话,我们就知道,系统在启动的时候,会通过运行config_generate这个脚本程序来设置IP等基本参数。该脚本文件位于系统源码的openwrt /package/base-files/files/bin目录,那么接下来我们就来修改该脚本文件,从而修改IP地址。

#cd ./package/base-files/files/bin

#vim config_generate

然后我们就可以在该脚本程序中看到,它是想IP地址设置为192.168.1.1的。

那么,我们只需要将蓝色部分的IP改为192.168.1.11即可。如下图所示。

修改完成以后,然后保存退出。最迟回到OpenWrt系统源码的顶层目录,然重新编译系统即可。

#make V=99

将新编译出来的固件,重新烧到开发板上面,然后再查看IP,就发现IP的初始值已经是192.168.1.111了。

————————————————

版权声明:本文为CSDN博主「帅气滴点C」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/baidu_31437863/article/details/89312405

今天在学习嵌入式linux的uboot系统移植时出现了一个问题,挂载内核无反应。先贴图

问题排查

一开始我的反应是网络的问题,我就开始排查网络,测试uboot下开发板是否能ping虚拟机

发现是没有问题的,接下来我就想去试试虚拟机是否也能ping通开发板,当然我已经是完成我的开发

板的网络配置。然后出现的情况是

发现并不能ping通开发板。于是我开始纳闷是否是我的网口以及网络配置出错了。针对于此我进行了

以下几项排查工作:

1、开发板的网络环境搭建

这里我使用的设备是台式机电脑,开发板,光猫一台,网线2条。(PS:这里我明白了带路由器功能的

光猫就相当于普通光猫接路由器)然后进入虚拟机中将网络连接设置为桥接模式。

2、设置主机、虚拟机、开发板IP都在同一网段

经配置之后各IP分别是:主机:192.168.1.4,虚拟机:192.168.1.6,开发板:192.168.1.10

至此我已经配置完成网络情况,开始进行相互的ping测试,结果发现主机和虚拟机之间ping不通,经过

百度一查,才知道要关闭主机和linux虚拟机的防火墙。关于如何关闭两者防火墙参考链接:

https://blog.csdn.net/m0_54203133/article/details/112428037

以上步骤我试了很多次还是没能解决。然后我继续寻找相关资料,直到看到正点原子的文档中的一段话:

看到这句话我恍然大悟,我一直苦苦纠结IP网络配置并不是造成错误的唯一原因,当开发板能够ping通

虚拟机和主机的时候,就已经说明上述的两个步骤我已经配置正确了。那么既然网络配置没有问题,那就应

该是TFTP的问题吧,因为我们使用的网络传输是TFTP协议,我转而开始排查TFTP环境搭建。

发现问题

我跟着tftp环境搭建的步骤一步一步的重新配置,结果总算是发现问题所在:

在tftp-hpa配置文件中,不知道怎么我这里根目录下的home家目录多了一个o,这样就导致了在传输的

时候无法按照有效路径获取虚拟机上的文件。终于解决了这个问题。然后修改了之后马上进行试验,却又

出现了另一个问题。

可以看到“TFTP error: 'Permission denied' (0)”这样的错误提示,提示没有权限,然后经过我查资料,

出现这个错误一般有两个原因:

1、在 Ubuntu 中创建 tftpboot 目录的时候没有给予 tftboot 相应的权限。

2、tftpboot 目录中要下载的文件没有给予相应的权限。

针对这两个原因,我们需要一个个的排查,都给上最高权限。使用命令" chmod 777 xxx ",其中“xxx”就

是要给予权限的文件或者文件夹。至此,问题终于得以解决,最终正确的结果如图

总结

针对uboot阶段无法使用tftp(或者nfs)挂载内核和设备树的一般解决思路。

1、检查开发板网络环境的搭建是否正确,也就是关于主机,虚拟机,开发板,路由器或者交换机之间网线

连接是否正确,对应的IP配置是否正确,防火墙是否关闭,最终的检测方法就是使用ping测试,开发板能

够ping通ubuntu虚拟机和windows主机即可,这一步检查完成,不用管ubuntu是否能ping通uboot阶段的开

发板(这是我犯的错误)。

2、如果完成第1个仍没有解决,那就去检查tftp和nfs的环境配置是否正确,这里有一些配置文件需要进行

修改,需要仔细核对是否修改正确了,尤其是文件路径是否正确了,像我这次的问题就在于文件路径出错,

导致找不到文件,还没有有效的提醒,如果路径正确,目标文件不存在还会有提醒(此文件不存在)。

3、这是对第2步的补充,出现提示权限问题,则我们对相应的文件及文件夹进行开最高权限(本应该如此)。

4、对于前3步的结果我们也可以通过一种方法来验证。我们将开发板进入到linux系统中去,然后在开发板

文件系统中执行相关的命令(跟在普通linux环境中一样),使用tftp命令或者nfs命令,将虚拟机中自己新建

的一个测试文件传输到开发板中,查看是否能够传输成功,从而验证整个环境是否搭建成功。

使用的是Vmware9.0.2里面装载 Ubuntu12.04的系统

问题:怎么设置虚拟机里的Ubuntu12的IP,以及Vmare使其与ARM9开发板互联?

1、 先检查虚拟机里的桥接方式是否打开,桥接方式就可以自动获取和宿主机一样的IP网段,直接与主机互联,设置图解图一、二


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/7698715.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-08
下一篇 2023-04-08

发表评论

登录后才能评论

评论列表(0条)

保存