|
本帖最后由 dongtao 于 2014-5-8 11:40 編輯
前幾篇好多童鞋都說路由器的內(nèi)存太小了、FLASH太小了怎么辦,我們這章就介紹下怎么給路由器擴充內(nèi)存和存儲器。
本章所介紹內(nèi)容不是教程必學(xué)內(nèi)容,就算當前的FLASH容量大家也能完成本教程的全部操作。不過站在玩家興趣身份上來說,這章的內(nèi)容會讓以后更精彩,操作技術(shù)上也存在一些難度,請大家認真操作一次。
實現(xiàn)原理
在M150開發(fā)板上我們擁有3個USB接口以及1個TF卡接口,這些接口足夠我們連接外部存儲設(shè)備。
使用Linux的SWAP技術(shù)(交換內(nèi)存分區(qū)技術(shù),類似Windows虛擬內(nèi)存)就可以讓外部存儲設(shè)備承擔一部分內(nèi)存工作,慢是慢了點,但是聊勝于無啊。
至于Flash大家應(yīng)該還記得我們前面的章節(jié)所講過的/overlay可寫分區(qū),原理就是我們直接將可寫分區(qū)掛載到外部磁盤上,不使用Flash中的存儲。
啟動外置磁盤的原理
在我們沒有啟用外置磁盤之前系統(tǒng)是這樣啟動的:
kernel–>rootfs(/rom)–>FLASH可寫分區(qū)(/overlay)–>….. (/overlay=mtd3)
在我們啟動了外置磁盤之后是這樣的順序:
kernel–>rootfs(/rom)–>FLASH可寫分區(qū)(/overlay)–>fstab–>外部磁盤(/overlay) (/overlay=/dev/sd[N][X])
區(qū)別在于,當rootfs將overlay掛載上之后將讀取/etc/config/fstab(在可寫分區(qū)上),動過那個配置將/overlay替換成為外置磁盤,從而實現(xiàn)擦寫部分操作外部磁盤。
存儲器選型介紹
移動硬盤 :在M150的電路板上有三個USB2.0接口,均可以用來連接移動硬盤,請使用2.5寸或1.8寸移動硬盤。M150的外部供電至少要達到12V 1A才能帶動一塊硬盤,如果你要帶的硬盤很多,需要增加到2A或3A的電源。硬盤的優(yōu)勢是:沒有擦寫次數(shù)限制,并且性能也比較好。
FLASH閃存 :閃存技術(shù)存儲現(xiàn)在很普遍,M150支持TF卡和U盤兩種閃存存儲方式,閃存選購時請注意數(shù)據(jù)存儲技術(shù)有區(qū)別:
1. SLC: Single Layer Cell 單層單元, SLC的特點是成本高、容量小、速度快,每個存儲單元有1bit數(shù)據(jù),每個單元可擦寫次數(shù)可達到10萬次,一般使用在工業(yè)級產(chǎn)品和服務(wù)器級的SSD中,如果你的設(shè)備主要提供頻繁擦寫,使用SLC比較適合,但是其價格也要貴很多。
2. MLC: Multi-Level Cell多層單元,在相同的單元密度下可存儲2bit數(shù)據(jù),這個是目前市面上消費級SSD使用的最主要存儲技術(shù),但是由于密度增加和算法原因,每個單元理論可擦寫次數(shù)為3000-10000次。
3. TLC: Triple-level cell多倍單元,在相同的單元密度下可存儲3bit數(shù)據(jù),這個是目前低價位U盤常用的,其特點是密度大成本低,缺點是速度慢,容易損壞,每個單元理論可擦寫次數(shù)為500-1000次。
所以,想選擇哪個就選擇哪個吧。U盤、TF卡、1.8寸或2.5寸移動硬盤,甚至是磁盤陣列都可以的。
讓系統(tǒng)識別外置磁盤
現(xiàn)在以及今后的操作就需要聯(lián)網(wǎng)了,我們需要把開發(fā)板跟路由連上網(wǎng)線(現(xiàn)在還沒法用無線呢)。
具體連接為:你上網(wǎng)的路由器LAN口—->開發(fā)板WAN口(開發(fā)板的WAN口位置請參考之前的章節(jié)有圖片說明)。
可能這個地方有的人會暈,這個地方有啥好暈的。你把開發(fā)板當成電腦,開發(fā)板上的WAN口就是它的網(wǎng)口,只有把”能連接外網(wǎng)的線”插它這個”網(wǎng)口”上才行。
插好以后,在系統(tǒng)中執(zhí)行:
root@OpenWrt:/# ifconfig eth0
這里eth0就是板子的WAN口,如果顯示已經(jīng)獲得了你現(xiàn)在網(wǎng)絡(luò)的內(nèi)網(wǎng)IP地址,就可以測試下外網(wǎng)連接是否有效了。
ping一下網(wǎng)絡(luò)是否通暢:
root@OpenWrt:/# ping www.sina.com
第一步:安裝驅(qū)動和工具包
在保證設(shè)備已經(jīng)能連接外網(wǎng)的情況下執(zhí)行以下指令
root@OpenWrt:/# opkg update
root@OpenWrt:/# opkg install kmod-usb-core kmod-usb-ohci kmod-usb-uhci kmod-usb2
root@OpenWrt:/# opkg install kmod-usb-storage kmod-usb-storage-extras kmod-fs-ext4 kmod-fs-vfat kmod-nls-utf8 kmod-nls-cp437
root@OpenWrt:/# opkg install usbutils mount-utils fdisk block-mount e2fsprogs blkid
執(zhí)行過程中會有很多提示,安裝包安裝狀態(tài),只要所有安裝包都安裝正確就不用理會。
重新啟動系統(tǒng)使相關(guān)驅(qū)動加載進入內(nèi)核:
root@OpenWrt:/# reboot
第二步: 檢測外置磁盤
檢測移動硬盤、U盤的方法一樣,直接插入存儲設(shè)備,等待片刻后執(zhí)行以下指令,即可看到(40GB 1.8寸移動硬盤為例):
root@OpenWrt:/# fdisk -l
Disk /dev/mtdblock0: 128 KiB, 131072 bytes, 256 sectors
…..
Disk /dev/sdb: 37.3 GiB , 40007759872 bytes, 78140156 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x13015f0b
….
檢測TF卡方式有點區(qū)別,TF卡沒有自動上電功能,首先給開發(fā)板斷電,然后插入TF卡,并且再給開發(fā)板上電,之后執(zhí)行以下指令(4GB TF卡為例):
root@OpenWrt:/# fdisk -l
Disk /dev/mtdblock0: 128 KiB, 131072 bytes, 256 sectors
……
Disk /dev/sda: 3.7 GiB , 3995074560 bytes, 7802880 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0×00000000
….
格式化和分區(qū)
hoowa剛剛使用的是4G容量的TF卡做演示,以后的章節(jié)涉及到存儲部分的也將使用這個TF卡。由于設(shè)備不同,每個設(shè)備在系統(tǒng)中的符號也不一樣。
在M150的板子上,設(shè)備符號總是以/dev/sd[X][N]方式顯示的。其中X表明設(shè)備符號,N表明分區(qū)符號。
第一步:對設(shè)備進行分區(qū)
TF卡在M150開發(fā)板上總是以/dev/sda存在,因此hoowa計劃分區(qū)如下形式:
1G SWAP交換內(nèi)存分區(qū)
3G 用來存儲數(shù)據(jù)實現(xiàn)/overlay的分區(qū)
使用linux最常見的fdisk指令進行操作,關(guān)于該指令與在x86電腦上使用相同:
root@OpenWrt:~# fdisk /dev/sda
Welcome to fdisk (util-linux 2.24.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
查看當前磁盤的分區(qū)情況:
Command (m for help): p
Disk /dev/sda: 3.7 GiB, 3995074560 bytes, 7802880 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0×00000000
Device Boot Start End Blocks Id System
/dev/sda1 8192 7802879 3897344 b W95 FAT32
刪除掉舊分區(qū)(如果有多個分區(qū),就要全部刪除掉):
Command (m for help): d
Selected partition 1
Partition 1 has been deleted.
創(chuàng)建分區(qū):
Command (m for help): n
|
上一篇: 極路由王者產(chǎn)品曝光:真是可惜了下一篇: 【硬創(chuàng)邦】跟hoowa學(xué)做智能路由(六下):擴充RAM和FLASH
|