在网上看了很多永久修改嵌入式linux的ip地址的操作,类似在什么网络配置文件中,都不可用(个人认为上述方法只是使用于ubuntu等桌面系统的吧,那样修改根文件系统内容会保留)
本文讲述如何永久修改嵌入式linux的ip地址及本方法的缺点。
首先要了解嵌入式linux的启动过程,我用的是zynq的开发板,启动方式是qspiflash启动,该启动方式是先把linux镜像文件从flash中拷贝到ddr中然后从ddr相应位置启动,(这些操作咋linux 的uboot源码中指定),sd卡启动linux也是类似操作,不同的是从sd卡中拷贝镜像文件到ddr中,因此系统启动后就和sd卡或者flash中的内容无关了,而 在启动后的linux的终端中修改的内容,比如在根目录建立文件夹等操作在断电后统统消失,因为ddr是断电丢失的,而你的操作是在ddr中进行的,因此任何在终端的操作都不会保留。
要想永久保留只能修改sd卡中或者flash的东西。
我的方法是,
1.开机启动linux,在根目录下建立一个临时文件夹data,
2.执行mount -t jffs2 /dev/mtdblock6 /data(把qspiflash的第6块分区挂载到data文件夹中,这样就能对flash的块6进行操作,当然该flash块应该选择空闲的)
3.vi /data/setip(在flash中建立一个自己的ip配置文件)内容可以为ifconfig eth0 192.168.1.1,然后umount /data
关机。
4.修改烧进flash的根文件系统,
在/etc/init.d/rcS文件结尾添加:
mount -t jffs2 /dev/mtdblock6 /data
cat/data/setip>> /etc/profile
5.更换flash的根文件系统为修改后的
6开机,vi/data/setip,修改里面的内容,把ifconfig eth0 192.168.1.1修改为ifconfig eth0 192.168.1.2,下次开机就会发现ip地址变为ifconfig eth0 192.168.1.2
缺点:修改后重启后生效