由于路由的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