[Openwrt 項目開發筆記]:USB掛載& U盤啓動(三)

[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/ 謝謝!

 

相關文章
相關標籤/搜索