HG255d通过U盘搭载php服务器,转:利用block-extroot,让你的openwrt运行在USB设备上。...

一、我需要这个功能吗?

如果你对跑openwrt的设备的要求仅仅是可以上上网,那下面的可以不用看了。

openwrt运行在USB设备上的好处:

可以安装openwrt官方的N多软件了(但官方暂时没有mysql,郁闷),象P2P类的transmision-daemon、amule、web服务器类的lighttpd/apache、ftp服务器类的vsftpd等等,还可以再安装其他驱动程序包驱动摄像头、USB声卡、显卡等等。这部分功能optware也可以实现,各论坛的教程多数是基于optware的。

二、需要的设备及环境:

1、可以运行openwrt的设备;

2、带USB接口;

3、openwrt要版本比较新,往前哪个版本可以,我不知道,新版本的trunk版(最新的开发版)、Backfire版(最新的稳定版)都可以。

三、步骤:

1、实现USB存储支持,已实现此功能的此步骤可略。需要用到的包:

kmod-usb-ohci、kmod-usb2、kmod-usb-uhci、kmod-usb-storage

复制代码

说明:

kmod-usb-ohci对应usb1.1

kmod-usb2对应USB2.0

kmod-usb-uhci对应部分intel和VIA的usb控制器

(这3个可能不必全部都安装,像7231-4P等只支持USB1.1的设备应该只安装kmod-usb-ohci即可)

kmod-usb-stroage对应USB硬盘设备,如U盘、USB移动硬盘。

为了方便新手(其实我也是个新手,汗……),将详细命令也写一下:

opkg update

opkg install kmod-usb-storage kmod-usb-ohci kmod-usb2

kmod-usb-uhci

复制代码

2、实现USB存储设备自动挂载并从USB启动,需要用到的包:block-mount、block-hotplug(这两个是自动挂载用的)和block-extroot(这个是USB启动用的)

opkg update

opkg install block-mount block-hotplug block-extroot

复制代码

3、安装linux文件系统支持,ext2、ext3、ext4以及其他文件系统众多,用哪个看个人爱好了,推荐经典传统的ext2/ext3。我用ext4遇到过问题,后来上openwrt果然有人报到这个bug。另,在linux下,尽量少用或者放弃fat32/ntfs

opkg install kmod-fs-ext3

复制代码

说明:不安装文件系统支持的话,分区不能mount。

有人会问,你为何不一下子opkg

install了,当然可以,我分开来是为了帮助新手了解一下linux下设备驱动、功能包、文件系统支持的一些简单概念。

完成以上步骤后,openwrt默认设置下,U盘插上还不能识别,openwrt有默认设置模板,但此时还是关闭U盘自动挂载功能的。

4、准备USB硬盘及拷贝根目录所有文件。以下均以插一个U盘的情况为例:

4.1前3个步骤完成后,你最好重启一下设备,插上U盘(USB移动硬盘)。

4.2 准备U盘为linux分区及linux文件系统,需要用到的包:e2fsprogs,如果你在其他系统里准备分区并格式化为ext2/ext3,应该也可以

准备分区这个步骤略过不表了,默认一个分区也可以用,如果有人想多分几个区,请看其他教程。

opkg update

opkg install e2fsprogs

复制代码

ls

/dev/sd*,应该有sda sda1 字样(这是只有一个U盘一个分区的情况,如果有多个U盘,会有sdb

sdc……)

4.3 格式化U盘为ext2或ext3……,以ext3为例,。

在命令行下执行:

mkfs.ext3 /dev/sda1

复制代码

3.4 拷贝root根目录下的所有文件到U盘,过程:mount设备,复制文件,以一个U盘的为例,在tmp目录下创建一个目录(本例是“root”)、mount U盘到这个目录、拷贝/tmp/root目录里的所有文件到U盘。

“#”后面为注释,粘贴命令的话,不要复制粘贴。

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#

复制代码

修改/mnt/etc/config/banner,添加一点点标识,方便你以后知道是不是从U盘启动了。(此步非必须)

vi /mnt/etc/config/banner

我添加了一行: Boot from USB ROOT

注意:还有一个是/etc/config/banner,这个是系统默认的,在flash闪存上的。

4.3 修改/etc/config/fstab。以插了一个U盘的为例:

修改前(openwrt默认设置):

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

5、我怎么知道我已经运行在USB下了呢?

方法一:修改u盘上etc/config/banner文件,添加标识

BusyBox v1.16.1 (2010-04-17 04:55:14 EDT) built-in shell

(ash)

Enter 'help' for a list of built-in commands.

_______ ________ __

| |.-----.-----.-----.| | | |.----.| |_

| - || _ | -__| || | | || _|| _|

|_______|| __|_____|__|__||________||__| |____|

|__| W I R

E L E S S F R E E D O

M

KAMIKAZE (bleeding edge, r20950)

------------------

* 10 oz Vodka Shake well

with ice and strain

* 10 oz Triple

sec mixture into 10 shot

glasses.

* 10 oz lime

juice Salute!

Boot

from USB root!

---------------------------------------------------

方法二:用df -h命令查看挂载点,查看 mini_fo:/overlay是否为 '/"

根目录。

Filesystem Size Used Available Use% Mounted on

/dev/root 6.8M 5.6M 1.2M 82%

/rom

tmpfs 30.3M 216.0K 30.1M 1% /tmp

tmpfs 512.0K 0 512.0K 0% /dev

/dev/sdb1 118.6M 32.3M 80.2M 29%

/overlay

mini_fo:/overlay 6.8M 5.6M 1.2M 82%

/

/dev/sda1 36.7G 29.9G 4.9G 86%

/mnt

(我这台设备上装了2个USB存储设备)

2010年10月2日补充说明:

如果按教程操作无效,建议直接编译一个自己的openwrt固件,编译时把上述的几个添加进去。

补:openwrt的许多设置都在/etc/config/里,很多设置都是option enable

0/1,改一下0、1就打开关闭某项功能了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
华为HG255D刷机工具及固件大全,全套共计,40个固件,最新的神雕、博爱固件,内附刷机教程,亲测可用! 文件目录: ├ │ ├0508-openwrt-ramips-rt305x-hg255d-squashfs-By_shcl.bin │ ├1102-0x20000_hg255d-squashfs-tftp.checksum2.bin │ ├httpd-uboot.bin │ ├ralink.bin │ ├tftp.exe │ ├tftp2.exe │ ├Tftpd32.exe │ ├tftpd-uboot.bin │ ├u-boot-web.bin │ ├WinHex.exe │ ├不拆机更换HG255D的U-BOOT并刷OPENWRT.doc │ └固件IP.txt ├ │ ├(电信原版u-boot)h255d_tel_uboot.bin │ ├适合于电信原本的uboot的OpenWrt固件-.rar │ ├ │ │ ├新建 Microsoft Word 文档.doc │ │ ├ │ │ │ ├HG255d35.bin │ │ │ ├HG255dV100R001C01B035版本本地升级指导书.dot │ │ │ ├新建 文本文档.txt │ │ │ └中国升级页面.html ├ │ ├0219openwrt-ramips-rt305x-hg255d-squashfs-sysupgrade.bin │ ├0702-DreamBox-ramips-rt305x-hg255d-squashfs-tftp.bin │ ├0909-DreamBox-ramips-rt305x-hg255d-squashfs-litel.bin │ ├1019-DreamBox-ramips-rt305x-hg255d-squashfs-sysupgrade.bin │ ├1119-openwrt-ramips-rt305x-hg255d-squashfs-sysupgrade.bin │ ├1123-openwrt-ramips-rt305x-hg255d-squashfs-sysupgrade.bin │ ├1128-openwrt-ramips-rt305x-hg255d-squashfs-sysupgrade.bin │ ├1201-openwrt-ramips-rt305x-hg255d-squashfs-sysupgrade.bin │ ├1204-openwrt-ramips-rt305x-hg255d-squashfs-sysupgrade.bin │ ├1226-openwrt-ramips-rt305x-hg255d-squashfs-sysupgrade (1).bin │ ├131028-石像鬼-hg255d-by可乐.bin │ ├140708-纯净版-Flash_16M_openwrt-ramips-rt305x-hg255d-squashfs-sysupgrade.bin │ ├20121029-Dreambox-ralink-hg255d-squashfs-Alpha.bin │ ├2013-08-03-0840-openwrt-ramips-rt305x-hg255d-squashfs-sysupgrade.bin │ ├2013-08-04-0920-openwrt-ramips-rt305x-hg255d-squashfs-sysupgrade.bin │ ├20130822-openwrt-hg255d-PIN码专用.bin │ ├2013-10-26-1538-openwrt-ramips-rt305x-hg255d-squashfs-sysupgrade多功能版.bin │ ├20131101-1615-op-hg255d-by可乐.bin │ ├HG255D dd-wrt固件.bin │ ├HG255D博爱固件-2015.bin │ ├OP-0402-Gargoyle.zip │ ├OP-0413汉化-Gargoyle初始密码 password .zip │ ├OP-0828迷你版.bin │ ├OP-最新版0413-Gargoyle初始密码 password .zip │ ├PandoraBox-ralink-hg255d-r189-20141020(hg255d

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值