上次我们已经刷入了OpenWrt、开启了wifi,并接入了网络。接下来,我们要给路由安装USB存储的支持。
之前,我们使用Telnet登录路由器,为了路由的安全我们将设置root的密码,并使用SSH登录路由。
telnet 192.168.1.1
接下来修改密码
passwd root
输入两次新密码,关闭命令提示符。
至此,路由的Telnet服务就关闭了,并开启了SSH服务。SSH的客户端推荐使用PuTTY。使用SSH登录路由以后我们先更新一下软件包列表。
opkg update
一切正常的话我们将得到以下反馈。
Downloading http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/Packages.gz.
Updated list of available packages in /var/opkg-lists/barrier_breaker.
下面,我们就可以安装系统中所缺少的软件了。
opkg install kmod-usb-storage #USB存储支持
opkg install kmod-fs-ext4 #ext文件系统支持,向下兼容
opkg install kmod-nls-utf8 #UTF-8字符支持
opkg install block-mount #USB挂载支持,USB启动支持
安装完成后,插入Ext3或者Ext4格式的U盘,系统将会自动识别出来。
ls /dev
能够看到类似sda、sda1、sda2这样的命名。
mount /dev/sda1 /mnt #将sda1分区挂载到/mnt
cd /mnt #打开/mnt
这样就成功挂载了U盘。
接下来,我们要让系统从U盘启动,来扩展下可怜的不到4M的空间。
mount /dev/sda1 /mnt #挂载sda1到mnt
mkdir /tmp/root #创建根文件夹镜像
mount -o bind / /tmp/root #绑定根目录到镜像文件夹
cp /tmp/root/* /mnt -a #复制根文件夹所有文件到/mnt
echo Boot from U-Disk >> /mnt/etc/banner #写入一个提示用于表示这是U盘启动
umount /tmp/root #卸载
umount /mnt #卸载
U盘启动所需要的文件已经准备好了,接下来要让系统启动时自动挂载U盘并从U盘启动。
vi /etc/config/fstab #编辑fstab配置文件
添加以下内容(#为注释内容,可以不添加)
config ‘mount’
# option target ‘/overlay’ #挂载到/overlay
option device ‘dev/sda1’
# option fstype ‘ext3’ #推荐ext3格式
# option options ‘rw, sync’ #模式选项
# option enabled_fsck ‘1’ #检查修复磁盘错误
option enabled ‘1’
option is_rootfs ‘1’
运行以下内容
/etc/init.d/fstab enable #开机启动fstab
reboot #重启
按此配置,一切正常的话,当重启完成登录SSH后就会看到最后一行提示为
Boot from U-Disk
好了,系统挂载在U盘启动到此完成。