[Openwrt項目開發筆記]系列文章傳送門:http://www.cnblogs.com/double-win/p/3888399.htmlhtml
正文:web
在上一篇中,我結合Netgear Wndr3700講解了如何對Openwrt進行必要的配置。接下來,咱們就想要在Openwrt上安裝必要的軟件了。但是這時候新的問題又來了:當安裝一些軟件以後,存儲空間不足了。這時候該怎麼辦呢?以4M的Flash爲例,當你們講Openwrt固件刷到本身的路由器後,你們會發現剩餘的空間每每只剩下不到2M。當咱們須要安裝許多Openwrt自己不帶的軟件時,就會發現如此小的空間實在是太寒酸了。那麼,該如何解決這樣的問題呢?shell
1、 添加USB擴展(注:本文默認你們的路由器是自帶USB接口的,若是主板上自己不帶USB接口的,能夠考慮對硬件進行改動。因爲我對於硬件不太懂,此處就不擴展講解了,你們能夠在網上尋求方法)服務器
1. 更新路由器軟件源(注:路由器須要聯網)工具
opkg update
2. 添加USB支持測試
opkg install kmod-usb-core #可選 opkg install kmod-usb-uhci opkg install kmod-usb-storage opkg install kmod-usb2 opkg install kmod-usb-ohci
3. 添加usb掛載,熱插拔,以及boot支持網站
opkg install block-mount #掛載 opkg install block-hotplug #熱插拔 opkg install block-extroot #boot支持
此時,能夠插上U盤測試一下。spa
ls -l /dev |grep sda
顯示結果rest
root@Openwrt:/#ls -l /dev |grep sda brw-r--r-- 1 root root 8, 0 Jan 1 1970 sda
觀察裏面是否出現sda sda1 sda2 sda3等字樣,sda說明是名爲sda的設備,而sda1是它的第一個分區,後面依次類推。code
2、U盤分區
爲什麼要對U盤進行分區呢?
第一,方便管理文件。咱們但願從U盤啓動openwrt,所以將系統鏡像運行在U盤上,從而得到更多的空間用於存放各類文件。爲了增強管理,必要的分區是有用的。
第二,建立Swap交換分區。咱們須要在U盤上開闢部分空間用於Swap交換。經過Swap提高RAM的吞吐率,從而防止,部分軟件須要大量調用RAM時,系統掛掉(例如,Transmission脫機下載服務)。
那麼,如何進行U盤分區呢?咱們須要進行以下操做:
1. 準備工做,添加必要軟件
opkg install kmod-fs-ext3 #添加ext3文件系統支持
opkg install fdisk #添加分區工具
opkg install e2fsprogs #添加格式化和檢測工具
2. 對U盤進行分區
(1)使用下面操做,查看U盤狀況。
fdisk -l #以列表的形式,列出當前掛載盤的狀況
顯示結果
說明:因爲個人U盤已經進行了分區,因此有上面的結果。(注:其中sda1爲系統盤,至關於Windows系統的C盤;sda2爲交換分區,用於內存交換;sda3爲存儲區,主要放置較大文件,FTP,Transmission服務器,以及物聯網web服務器Log文件均存放在改分區下)
(2)分區操做
fdisk /dev/sda
此處選擇「n」,而後依次添加各個分區,分完區以後記得選擇「w」,進行保存退出。建立分區以後,是沒有格式化的,所以接下來須要進行格式化操做。
(3) 格式化各分區
mkfs.ext3 /dev/sda1 #將第一個分區格式化爲ext3格式 mkswap /dev/sda2 #將第二個分區格式化爲swap交換分區 mkfs.ext3 /dev/sda3 #將第三個分區格式化爲ext3格式
(4)顯示分區後的結果
3、添加U盤啓動
1. 將系統鏡像移動到U盤第一個分區下:
mkdir /tmp/root #在/tmp目錄下建立一個臨時目錄,用於放置系統鏡像 mount /dev/sda1 /mnt #將/dev/sda1 掛載到/mnt目錄下 mount -o bind / /tmp/root #將根目錄"/"製做鏡像,並將其掛載到「/tmp/root」下 cp /tmp/root/* /mnt -a #將/tmp/root/ 目錄下的全部內容複製到/mnt下,至關於將/mnt/root下的全部內容複製到/dev/sda1下 umount /tmp/root #解除掛載 /tmp/root
2. 修改分區表
進入/etc/config/目錄下,修改fstab文件
config global automount
option from_fstab 1
option anon_mount 1
config global autoswap
option from_fstab 1
option anon_swap 0
config mount #把sda1分區掛載爲系統 # option target /mnt #選擇將sda1分區掛載到當前系統的哪個文件目錄下,此處能夠選擇默認
option device /dev/sda1 #須要掛載的設備,/dev/sda1 option fstype ext3 #文件系統格式ext3 option options rw,sync #讀寫,以及同步權限 option enabled 1 #是否須要啓動 option enabled_fsck 0 #是否須要啓動檢查
option is_rootfs 1 #是否做爲根文件系統
config swap #把sda2分區掛載爲交換分區 option device /dev/sda2 option enabled 1 config mount option target /mnt #把sda3分區掛載在mnt文件夾上,做爲存儲網站和文件的地方
option device /dev/sda3 #須要掛載的設備,/dev/sda3
option fstype ext3 #文件系統格式ext3
option options rw,sync #讀寫、同步權限
option enabled 1 #啓動該設備
保存上述修改,執行以下命令使其生效
/etc/init.d/fstab enable
/etc/init.d/fstab restart
重啓設備,等待設備重啓以後,進入shell,查看是否分區成功
df -h #查看系統掛載狀況,檢查文件系統的磁盤空間佔用狀況。
free #查看內存使用狀況,能夠用於查看swap是否正常啓動
正常分區,並以U盤啓動的狀況
ok,到此爲止,咱們成功解決了存儲的問題。那麼,下面咱們再安裝其餘軟件的時候,對於存儲條件,能夠不用像以前苛求到kb了。
---------------------------------------------------------------------------------------------------------
預告,下一篇文章,我將介紹如何安裝vsFTP以及Samba局域網文件共享。
轉載請註明出處: http://www.cnblogs.com/ 謝謝!