一、在配置U盤啓動前首先配置路由器可以上網,通過超級終端(本人常用Xshell)登錄路由器,可以通過opkg update來更新安裝包源,如果不可以,那就參照其它教程進行設置。
二、安裝需要的軟件包:
opkg install kmod-usb-storage kmod-usb-uhci kmod-usb2 block-mount block-hotplug block-extroot kmod-fs-ext3
說明:kmod-usb2對應USB2.0
kmod-usb-uhci對應部分intel和VIA的usb控制器
實現USB存儲設備自動掛載並從USB啓動,需要用到的包:block-mount、block-hotplug(這兩個是自動掛載用的)和block-extroot(這個是USB啓動用的)
kmod-fs-ext3是文件系統支持,我是把U盤格式化爲ext3文件系統使用的,不安裝文件系統支持的話,不能mount。
注意:安裝block-extroot後,可能會出現一個錯誤:“Collected errors: * resolve_conffiles: Existing conffile /etc/config/fstab is different from the conffile in the new package. The new conffile will be placed at /etc/config/fstab-opkg.”這個錯誤是由於原來/etc/config下的配置文件fstab和安裝block-extroot後生成的新fstab衝突。因此,使用命令:mv fstab fstab.bak ;mv fstab-opkg fstab;這個文件在接下來的配置中需要用到。
三、本人U盤只有一個分區(注意:該分區應設置爲主分區primary),插上U盤後,可以使用“fdisk -l”命令來查詢,如果需要分兩個或者兩個以上分區的話,可以查詢其它資料進行分區。
mount /dev/sda1 /mnt #掛載U盤第一個分區到/mnt
mkdir /tmp/root #在/tmp目錄下創建名叫root的一個目錄
mount -o bind / /tmp/root #掛載並同步系統根目錄“/”到 /tmp/root
cp /tmp/root/* /mnt -a #拷貝/tmp/root下所有文件到 “/mnt”,這個其實就是你的U盤了
umount /tmp/root 卸載 /tmp/root#
四、修改/etc/config/fstab。
修改前:config mount
option target /home
option device /dev/sda1
option fstype ext3
option options rw,sync
option enabled 0
config swap
option device /dev/sda2
option enabled 0
修改後:
config mount
# option target /home 這一行要不要無所謂了,我一般是去掉或者在前面加一個“#”
option device /dev/sda1
option fstype ext3
option options rw,sync
option enabled 1
option is_rootfs 1
config swap
option device /dev/sda2
option enabled 0
紅色字體爲修改或者添加的內容。
五、添加標識來識別是否從U盤啓動;
vi /mnt/etc/banner
在最後一行添加:Boot from Upan
再次啓動後效果如下:
Connecting to 192.168.1.1:22...
Connection established.
To escape to local shell, press 'Ctrl+Alt+]'.
BusyBox v1.15.3 (2012-01-31 02:23:09 CST) built-in shell (ash)
Enter 'help' for a list of built-in commands.
_.-"._
_-: () ":_
_-"'. '. _" :-_
-" '.-.'-. .' "-_
|"_() _').:(.' () -"|
J "_ .' .''. '. -" F
L "_ .' () '. '_-" o J
| o ' "-_ _:": |
"_ L ' "-.-" | J _-"
"| J F ()J :-"
"| () J :-"
"-_ | _"
"-"
Openwrt-Dreambox(2012, r365) --------------------
* Base on Openwrt Backfire
* lintel([email protected]).
* yuef zhu([email protected]).
* XEyE([email protected]).
* Vcore([email protected]).
* emongxx([email protected]).
---------------------------------------------------
Boot from Upan
---------------------------------------------------
使用“df -h”查詢結果:
Filesystem Size Used Available Use% Mounted on
/dev/root 9.1M 9.1M 0 100% /rom
tmpfs 14.5M 100.0K 14.4M 1% /tmp
tmpfs 512.0K 0 512.0K 0% /dev
/dev/sda1 14.7G 201.3M 13.7G 1% /overlay
mini_fo:/overlay 9.1M 9.1M 0 100% /
出現紅色字體,說明已經從U盤啓動了。