当前位置: 技术问答>linux和unix
嵌入式linux修改IP地址无法保存的问题,请教
来源: 互联网 发布时间:2016-05-01
本文导语: ARM9260开发板,linux系统 1、 我用ifconfig修改了ip,系统重启之后又恢复到原来的ip了 网上搜了一下,发现ifconfig只能临时修改ip 2、 进入U-boot,使用命令setenv ipaddr命令修改ip,然后saveenv 重启之后也恢复到原来的ip了 ...
ARM9260开发板,linux系统
1、
我用ifconfig修改了ip,系统重启之后又恢复到原来的ip了
网上搜了一下,发现ifconfig只能临时修改ip
2、
进入U-boot,使用命令setenv ipaddr命令修改ip,然后saveenv
重启之后也恢复到原来的ip了
再上网搜,基本出现比较一致的解决方法,就是vi修改配置文件
大概有一下这些文件,修改哪个都可以
/etc/sysconfig/networking/profiles/default/ifcfg-*
/etc/sysconfig/networking/profiles/default/*
/etc/sysconfig/networking/default/ifcfg-*
/etc/sysconfig/networking/default/*
/etc/sysconfig/network-scripts/ifcfg-*
/etc/sysconfig/network-scripts/*
但问题是在嵌入式linux里这些个文件统统的不存在(或者是我没找到?)
还望大虾们多多指点
1、
我用ifconfig修改了ip,系统重启之后又恢复到原来的ip了
网上搜了一下,发现ifconfig只能临时修改ip
2、
进入U-boot,使用命令setenv ipaddr命令修改ip,然后saveenv
重启之后也恢复到原来的ip了
再上网搜,基本出现比较一致的解决方法,就是vi修改配置文件
大概有一下这些文件,修改哪个都可以
/etc/sysconfig/networking/profiles/default/ifcfg-*
/etc/sysconfig/networking/profiles/default/*
/etc/sysconfig/networking/default/ifcfg-*
/etc/sysconfig/networking/default/*
/etc/sysconfig/network-scripts/ifcfg-*
/etc/sysconfig/network-scripts/*
但问题是在嵌入式linux里这些个文件统统的不存在(或者是我没找到?)
还望大虾们多多指点
|
需要修改你的根文件系统里面的网络配置文件。一般嵌入式系统启动后可以在启动脚本里面使用ifconfig命令配置IP地址,
这个可以在很多地方配置,比如像我的就在在/etc/rc.d/init.d/local 脚本里面,有些更简单的可以/etc/rc.d/rc.sysinit。
你也可以把IP地址保存在flash的mtd分区上面,然后在系统启动的时候读取IP地址再用ifconfig命令设置。
u-boot里面一般在flash上有个存储环境变量值的空间,你如果保持不了可能是在u-boot的代码里面没有设置好这段空间吧.
这个可以在很多地方配置,比如像我的就在在/etc/rc.d/init.d/local 脚本里面,有些更简单的可以/etc/rc.d/rc.sysinit。
你也可以把IP地址保存在flash的mtd分区上面,然后在系统启动的时候读取IP地址再用ifconfig命令设置。
u-boot里面一般在flash上有个存储环境变量值的空间,你如果保持不了可能是在u-boot的代码里面没有设置好这段空间吧.
|
首先需要明确一个问题,U-boot下的ip和进入Linux后的ip并不一定是相同的,打个不是很恰当的比方,这就好比你的电脑上装了双系统,一个windows一个Linux,但是两者的ip设置可能并不一样。通过setenv serverip xxx.xxx.xxx.xxx setenv ipaddr xxx.xxx.xxx.xxx 然后save之后,设置的是uboot的ip,可以用于tftp。这个ip在进入Linux后就不会再起作用了。进入系统后可以通过ifconfig修改Linux下的ip,但是这时修改的只是运行在内存里的系统,重启后会将flash中内核重新读到内存中去,所以要想永久改变Linux的ip需要重新编译内核并烧写进flash。
|
你的uboot里面允许保存环境变量了吗?没有的话就要开启
如果的嵌入式里没有文件系统,那么ifconfig你是在那里执行的?
你搜索的那些ip配置文件并不是都需要,只是FHS里定义的
即使在发行版linux中直接用ifconfig也保存不了ip地址,必须有相应的程式来完成
如果的嵌入式里没有文件系统,那么ifconfig你是在那里执行的?
你搜索的那些ip配置文件并不是都需要,只是FHS里定义的
即使在发行版linux中直接用ifconfig也保存不了ip地址,必须有相应的程式来完成
|
一般情况下嵌入式的ip设置都是暂时的,即设置后就马上使用,我也没有尝试用
你要求那样来做过,但是的确有一个默认的设置,理论上可以得到实现!
你要求那样来做过,但是的确有一个默认的设置,理论上可以得到实现!
|
不知道你是不是用的busybox作的系统 如果是的话 它的配置文件是/etc/network/interfaces