[Openwrt 项目开发笔记]:USB挂载& U盘启动(三)
[Openwrt項(xiàng)目開發(fā)筆記]系列文章傳送門:http://www.cnblogs.com/double-win/p/3888399.html
正文:
在上一篇中,我結(jié)合Netgear Wndr3700講解了如何對(duì)Openwrt進(jìn)行必要的配置。接下來,我們就想要在Openwrt上安裝必要的軟件了。可是這時(shí)候新的問題又來了:當(dāng)安裝一些軟件之后,存儲(chǔ)空間不足了。這時(shí)候該怎么辦呢?以4M的Flash為例,當(dāng)大家講Openwrt固件刷到自己的路由器后,大家會(huì)發(fā)現(xiàn)剩余的空間往往只剩下不到2M。當(dāng)我們需要安裝許多Openwrt本身不帶的軟件時(shí),就會(huì)發(fā)現(xiàn)如此小的空間實(shí)在是太寒酸了。那么,該如何解決這樣的問題呢?
一、 添加USB擴(kuò)展(注:本文默認(rèn)大家的路由器是自帶USB接口的,如果主板上本身不帶USB接口的,可以考慮對(duì)硬件進(jìn)行改動(dòng)。由于我對(duì)于硬件不太懂,此處就不擴(kuò)展講解了,大家可以在網(wǎng)上尋求方法)
1. 更新路由器軟件源(注:路由器需要聯(lián)網(wǎng))
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支持
此時(shí),可以插上U盤測(cè)試一下。
ls -l /dev |grep sda
顯示結(jié)果
root@Openwrt:/#ls -l /dev |grep sda brw-r--r-- 1 root root 8, 0 Jan 1 1970 sda
觀察里面是否出現(xiàn)sda sda1 sda2 sda3等字樣,sda說明是名為sda的設(shè)備,而sda1是它的第一個(gè)分區(qū),后面依次類推。
二、U盤分區(qū)
為何要對(duì)U盤進(jìn)行分區(qū)呢?
第一,方便管理文件。我們希望從U盤啟動(dòng)openwrt,因此將系統(tǒng)鏡像運(yùn)行在U盤上,從而獲得更多的空間用于存放各種文件。為了加強(qiáng)管理,必要的分區(qū)是有用的。
第二,創(chuàng)建Swap交換分區(qū)。我們需要在U盤上開辟部分空間用于Swap交換。通過Swap提升RAM的吞吐率,從而防止,部分軟件需要大量調(diào)用RAM時(shí),系統(tǒng)掛掉(例如,Transmission脫機(jī)下載服務(wù))。
那么,如何進(jìn)行U盤分區(qū)呢?我們需要進(jìn)行如下操作:
1. 準(zhǔn)備工作,添加必要軟件
opkg install kmod-fs-ext3 #添加ext3文件系統(tǒng)支持 opkg install fdisk #添加分區(qū)工具 opkg install e2fsprogs #添加格式化和檢測(cè)工具
2. 對(duì)U盤進(jìn)行分區(qū)
(1)使用下面操作,查看U盤情況。
fdisk -l #以列表的形式,列出當(dāng)前掛載盤的情況
顯示結(jié)果
說明:由于我的U盤已經(jīng)進(jìn)行了分區(qū),所以有上面的結(jié)果。(注:其中sda1為系統(tǒng)盤,相當(dāng)于Windows系統(tǒng)的C盤;sda2為交換分區(qū),用于內(nèi)存交換;sda3為存儲(chǔ)區(qū),主要放置較大文件,F(xiàn)TP,Transmission服務(wù)器,以及物聯(lián)網(wǎng)web服務(wù)器Log文件均存放在改分區(qū)下)
(2)分區(qū)操作
fdisk /dev/sda
此處選擇“n”,然后依次添加各個(gè)分區(qū),分完區(qū)之后記得選擇“w”,進(jìn)行保存退出。創(chuàng)建分區(qū)之后,是沒有格式化的,因此接下來需要進(jìn)行格式化操作。
(3) 格式化各分區(qū)
mkfs.ext3 /dev/sda1 #將第一個(gè)分區(qū)格式化為ext3格式 mkswap /dev/sda2 #將第二個(gè)分區(qū)格式化為swap交換分區(qū) mkfs.ext3 /dev/sda3 #將第三個(gè)分區(qū)格式化為ext3格式
(4)顯示分區(qū)后的結(jié)果
三、添加U盤啟動(dòng)
1. 將系統(tǒng)鏡像移動(dòng)到U盤第一個(gè)分區(qū)下:
mkdir /tmp/root #在/tmp目錄下創(chuàng)建一個(gè)臨時(shí)目錄,用于放置系統(tǒng)鏡像 mount /dev/sda1 /mnt #將/dev/sda1 掛載到/mnt目錄下 mount -o bind / /tmp/root #將根目錄"/"制作鏡像,并將其掛載到“/tmp/root”下 cp /tmp/root/* /mnt -a #將/tmp/root/ 目錄下的所有內(nèi)容復(fù)制到/mnt下,相當(dāng)于將/mnt/root下的所有內(nèi)容復(fù)制到/dev/sda1下 umount /tmp/root #解除掛載 /tmp/root
2. 修改分區(qū)表
進(jìn)入/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分區(qū)掛載為系統(tǒng) # option target /mnt #選擇將sda1分區(qū)掛載到當(dāng)前系統(tǒng)的哪一個(gè)文件目錄下,此處可以選擇默認(rèn)
option device /dev/sda1 #需要掛載的設(shè)備,/dev/sda1 option fstype ext3 #文件系統(tǒng)格式ext3 option options rw,sync #讀寫,以及同步權(quán)限 option enabled 1 #是否需要啟動(dòng) option enabled_fsck 0 #是否需要啟動(dòng)檢查
option is_rootfs 1 #是否作為根文件系統(tǒng)
config swap #把sda2分區(qū)掛載為交換分區(qū) option device /dev/sda2 option enabled 1 config mount option target /mnt #把sda3分區(qū)掛載在mnt文件夾上,作為存儲(chǔ)網(wǎng)站和文件的地方
option device /dev/sda3 #需要掛載的設(shè)備,/dev/sda3
option fstype ext3 #文件系統(tǒng)格式ext3
option options rw,sync #讀寫、同步權(quán)限
option enabled 1 #啟動(dòng)該設(shè)備
保存上述修改,執(zhí)行如下命令使其生效
/etc/init.d/fstab enable /etc/init.d/fstab restart
重啟設(shè)備,等待設(shè)備重啟之后,進(jìn)入shell,查看是否分區(qū)成功
df -h #查看系統(tǒng)掛載情況,檢查文件系統(tǒng)的磁盤空間占用情況。
free #查看內(nèi)存使用情況,可以用于查看swap是否正常啟動(dòng)
正常分區(qū),并以U盤啟動(dòng)的情況
ok,到此為止,我們成功解決了存儲(chǔ)的問題。那么,下面我們?cè)侔惭b其他軟件的時(shí)候,對(duì)于存儲(chǔ)條件,可以不用像之前苛求到kb了。
---------------------------------------------------------------------------------------------------------
預(yù)告,下一篇文章,我將介紹如何安裝vsFTP以及Samba局域網(wǎng)文件共享。
轉(zhuǎn)載請(qǐng)注明出處: http://www.cnblogs.com/ 謝謝!
總結(jié)
以上是生活随笔為你收集整理的[Openwrt 项目开发笔记]:USB挂载& U盘启动(三)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 客服弹出框
- 下一篇: 电商第一季函数笔记(1)