由于路由的ROM不大,装完OPENWRT之后基本上就所剩无几了。为了更方便的折腾,就需要使用U盘扩大系统的容量。下面就分享一下我的扩容过程。

事先说明,由于我是按着703n的OpenWrt配置二:U盘扩容的教程来的,所以基本上代码会和上头的差不多。这里要感谢作者写出这么好的教程出来。

putty连接路由之后安装一些比较的软件

opkg update
opkg install block-mount kmod-fs-ext4 kmod-usb-ohci kmod-usb-storage

如果你需要在OPENWRT上对U盘进行格式化的话则需要安装(建议放在本机上对U盘进行格式化,e2fsprogs这个软件好像不小,几百K就没了):

opkg install e2fsprogs

下面需要对U盘进行分区,我的U盘是SanDisk的16GU盘,直接按照教程给的配置分的区。其中ext4分区512M,linux-swap分区128M,其余的则为NTFS分区。分区的话推荐在Linux中用Gparted软件,操作基本上和Windows下的各种分区软件类似。

格式化好后插上U盘。

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1            2048     1050623      524288   83  Linux
/dev/sda2         1050624     1312767      131072   82  Linux swap / Solaris
/dev/sda3         1312768    31266815    14977024    7  HPFS/NTFS/exFAT

以上是插上后U盘的信息,一般来说/dev/sdax就是你的U盘了。继续执行如下命令:

mount /dev/sda1 /mnt
mkdir /tmp/cproot
mount --bind / /tmp/cproot
tar -C /tmp/cproot -cvf - . | tar -C /mnt -xvf -
sync
umount /tmp/cproot  

同时设置好交换空间

mkswap /dev/sda2
swapon /dev/sda2

原教程下一步使用了block命令,我发现在我的系统中无法使用,所以我就直接复制了原教程中的代码。

首先使用blkid命令查到自己U盘的UUID:

root@CodeMonkey:/www# blkid
/dev/mtdblock2: TYPE="squashfs"
/dev/sda1: UUID="69628ab4-0778-49f4-88b2-c198d5ee3473" TYPE="ext4"
/dev/sda2: UUID="2f346aea-3255-4425-a08a-5e64b2339f0c" TYPE="swap"
/dev/sda3: UUID="21DC3ED5024F5266" TYPE="ntfs"

复制以下代码到/etc/config/fstab

config 'global'
        option  anon_swap       '0'
        option  anon_mount      '0'
        option  auto_swap       '1'
        option  auto_mount      '1'
        option  delay_root      '0'
        option  check_fs        '0'
config 'mount'
        option  target  '/mnt'
        option  uuid    '7d3abfaf-493a-46bb-9730-1d793ecb9783'
        option  enabled '1'
config 'swap'
        option  uuid    '76d36596-5710-4b77-a3a7-02a66d469750'
        option  enabled '1'

将其中的/mnt修改为/,同时将两个uuid修改为自己的(刚才已经记录了)。

保存退出之后重启路由后你就会发现容量增加啦!

root@CodeMonkey:/www# df -h
Filesystem                Size      Used Available Use% Mounted on
rootfs                  510.0M     55.6M    428.8M  11% /
/dev/root                 2.0M      2.0M         0 100% /rom
tmpfs                    30.1M    712.0K     29.4M   2% /tmp
tmpfs                   512.0K         0    512.0K   0% /dev
/dev/sda1               510.0M     55.6M    428.8M  11% /
/dev/mtdblock2            2.0M      2.0M         0 100% /mnt/mtdblock2
/dev/sda1               510.0M     55.6M    428.8M  11% /mnt/sda1
/dev/sda3                14.3G     86.2M     14.2G   1% /mnt/sda3
03-05 22:38