NVRAM 全名是 Non-Volatile Ram ,在 OpenWrt 里是用了 Flash Rom 最后的 64K 區(qū)塊,用來儲存一些環(huán)境參數(shù),OpenWrt 通過這些參數(shù)來配置網(wǎng)絡(luò),DHCP,DNS和記載硬件版本等。如果通俗地解釋非易失性存儲器,那就是指那些斷電后數(shù)據(jù)仍然能保留的半導(dǎo)體存儲器。對這類存儲器,業(yè)界統(tǒng)稱為非易失性隨機(jī)訪問存儲器(NVRAM,Non-Volatile Random Access Memory),看看我們身邊處處可見的U盤,數(shù)碼相機(jī)、可拍照手機(jī)、PDA、以及其中的存儲卡,如CF、SD等等,無一例外地仰仗著NVRAM技術(shù)的支持。
常用的 nvram 指令有以下 4 種:
1. nvram show
列出 NVRAM 內(nèi)所有參數(shù),我們亦可以用 grep 命令來抽取部份資訊,例如
nvram show | grep lan_
這命令列出了所以用 lan_ 開頭的參數(shù),結(jié)果如下:
lan_gateway=192.168.1.254
dr_lan_rx=0
lan_netmask=255.255.255.0
lan_lease=86400
lan_stp=1
lan_hwaddr=00:12:17:E1:56:F5
lan_dns=211.152.179.7 202.96.128.86
lan_ifnames=vlan0 eth1
size: 12567 bytes (20201 left)
lan_ipaddr=192.168.1.1
lan_proto=static
lan_ifname=br0
lan_wins=
lan_hwnames=
2. nvram set 參數(shù)=數(shù)值
用來添加或修改一些參數(shù),例如我想把 LAN 的 IP 由 192.168.1.1 改為 192.168.1.2,可執(zhí)行:
nvram set lan_ipaddr=192.168.1.2
nvram commit
reboot
第 1 行是修改 IP 地址,第 2 行是保存,第 3 行是重新啟動 OpenWrt ,因為更改 IP 地址后要重啟才能生效。
3. nvram unset 參數(shù)
用來刪除一些參數(shù),不過這個功能很少用到,因為 NVRAM 的 64K 容量足夠保存大量參數(shù),大部份人都賴得去刪。
例如我想刪除 “dr_lan_rx=0” 這個參數(shù),請執(zhí)行:
nvram unset dr_lan_rx
4. nvram commit
當(dāng)你對 NVRAM 做了一大堆修改后,你需要把這些修改保存起來,否則你的路由器 RESET 后,這些修改便沒有了,和上面一樣,這時你要執(zhí)行:
nvram commit
在易失性存儲器中,DRAM從EDO、SDRAM進(jìn)化到了DDR SDRAM, DDR-II也即將來臨,后面還有DDR-Ⅲ。SRAM方面也迎來DDR、QDR時代,那么同為電子存儲元件的非易失性存儲器呢?在技術(shù)日新月異的今天,新的市場與新的需求都在對閃存的發(fā)展提出了更多的要求,這也促進(jìn)了當(dāng)仿閃存的進(jìn)步,當(dāng)我們把眼光投向NVRAM的未來發(fā)展時,可以發(fā)現(xiàn)前面已經(jīng)有三位主要的接班人在等候著,它們就是MRAM、FeRAM和OUM……