如何永久修改arm上linux的ip地址

2019-07-12 16:58发布

在网上看了很多永久修改嵌入式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

缺点:修改后重启后生效