如何永久修改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
缺點:修改後重啟後生效