1. 程式人生 > >如何永久修改arm上linux的ip地址

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

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

缺點:修改後重啟後生效