淘宝上买的openwrt路由器基本上都是用rg100a改装出来的,这个路由器的flash只有16m大小,安装好了openwrt之后剩余的空间只有7m左右,根本无法安装什么较大的软件了,但是openwrt的不同之处就是在于有这很多很多的软件,那么如何解决这个问题了?我在openwrt的论坛上找到了解决的方法,那就是从U盘启动系统,现在这里附上解决过程:
opkg update
opkg install kmod-usb-ohci kmod-usb2 kmod-fs-ext3
opkg install kmod-usb-storage
reboot
mount /dev/sda1 /mnt
mkdir /tmp/root
mount -o bind / /tmp/root
cp /tmp/root/* /mnt -a
umount /tmp/root
echo Booted from internal rom >> /etc/banner
opkg update
opkg install block-extroot
然后修改/etc/config/fstab文件如下:
config mount
# option target /mnt
option device /dev/sda1
option fstype ext3 (根据你的分区的文件系统进行修改)
option options rw,sync
option enabled 1
option enabled_fsck 1
option is_rootfs 1
然后输入一下命令:
echo option force_space >> /mnt/etc/opkg.conf
umount /mnt
reboot
OK,使用linbux系统的同学都能看懂这些bash命令的意思吧,什么你不是Linux用户?好吧我来解说一下各个命令的大概含义.
opkg update:很简单,更新软件源列表
opkg install kmod-usb-ohci kmod-usb2 kmod-fs-ext3|opkg install kmod-usb-storage:这两个命令含义是安装kmod-usb-ohci kmod-usb2 kmod-fs-ext3 和kmod-usb-storage软件包
reboot:很简单,重启路由器(其实不重启也是可以的)
mount /dev/sda1 /mnt:挂载sda1分区到mnt文件夹(sda1是你要把系统放到的U盘的分区(注意这里最好使用ext2,3,4分区))
mkdir /tmp/root:创建/tmp/root文件夹
mount -o bind / /tmp/root:挂载根目录到/tmp/root文件夹
cp /tmp/root/* /mnt -a:复制/tmp/root文件夹下的所有内容到/mnt文件夹下
umount /tmp/root|umount /mnt:卸载/tmp/root和/mnt文件夹
echo Booted from internal rom >> /etc/banner:把Booted from internal rom写入到/etc/banner文件(这不随便你进不进行,这个只是知道到底是从U盘还是flash启动)
opkg update|opkg install block-extroot:参照之前的介绍.
好了,现在我们可以大胆的安装软件了,不会再有什么限制了.