1. 适用于openwrt 14版本的设置方式

  • 由于703n刷完openwrt直邮400k可用空间,所以格式化的程序就不安装到703n上了,自己把U盘预先格式化为ext3格式.
  • 以自己U盘为例,分为两个区,一个7G作为系统分区,另外一个作为swap交换分区;
    因为在win下格式化,遇到个问题,只有一个分区能格式化为ext3,另一个只能是win下的格式;无所谓,先格一个,另外的交换分区稍后再说.

安装挂载需要的程序

opkg update && opkg install block-mount kmod-fs-ext4 kmod-usb-storage
#block-mount      挂载使用
#kmod-fs-ext4     ext3 ext4格式支持
#kmod-usb-storage 大容量存储设备支持
#block info查看挂载的设备
#block detect 查看挂载的配置

复制所有文件到U盘,重启下系统

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

启用swap

mkswap /dev/sda2
swapon

修改 /etc/conf/fstab的mount项

config 'mount'
    option target /
    option device /dev/sda1
    option fstype ext3
    option options rw,sync
    option enabled 1
    option enabled_fsck 0
    option is_rootfs 1

config 'swap'
    option  device  '/dev/sda2'
    option  enabled '0'

知识扩展

关于更详细的交换分区 swap 的说明,可参照 linux下的交换分区–swap

2. 适用于openwrt 15版本的设置方式

  • 关于格式化存储卡及挂载缓存分区的方式没变,依旧可以成功
  • 在15.0x版本后extroot方式试了很多次都不成功,从日志看到总是 extroot:cannot found device,需要使用挂载 /overlay 的方式

安装挂载需要的程序

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

复制 overlay

mount /dev/sda1 /mnt ; tar -C /overlay -cvf - . | tar -C /mnt -xf - ; umount /mnt

创建fstab配置文件

block detect > /etc/config/fstab; \
   sed -i s/option$'\t'enabled$'\t'\'0\'/option$'\t'enabled$'\t'\'1\'/ /etc/config/fstab; \
   sed -i s#/mnt/sda1#/overlay# /etc/config/fstab; \
   cat /etc/config/fstab;

关于overlay

openwrt的一种透明挂载技术, 它会将/rom挂载为/根文件,然后用/overlay覆盖根目录/,这样,当你对文件系统进行修改时,实际操作的其实是overlay,而rom是不变的.

参考引用