package_install での例の通り、本体のみでもある程度のパッケージの導入が可能です。
セルフ環境での開発もできますが、更新部分を本体RAMの tmpfs 領域に確保する必要がありますので、
パッケージの追加には、
上記それぞれの制限を受けることになります。
といった要望に応えるため、SDカード1)をファイルシステムの拡張領域として用いることができるようになっています。
本機能を導入する際は、WebUIサービスを停止した状態で運用してください。 
各種カスタマイズとWebUIの同時運用は推奨しません。十分評価を行った上でご使用ください
拡張領域に使用するためのSDカードを準備します。 32GB SDHC規格までのSDカードが利用可能です。
市販されているSDカード(MLC2)のものがほとんどです)でも、試験的な運用には使用することができますが、
開発や実運用に利用する場合は書替寿命の問題がありますので、SLC3)のSDカードの利用をお勧めします。
SpreadRouter に、準備したSDカードを “拡張領域” として利用させるため、SDカードに設定ファイルを作成する必要があります。
Windows PCなどにSDカードを挿入し、“devel” というファイルを作成します。
設定はこれだけでOKです。
のいずれかの小さい方の容量のイメージファイルを自動的に作成し、拡張領域として利用します。
といった場合には、後述するマニュアル設定を行う必要があります。
準備したSDカードを、SpreadRouterのSDカードスロットに挿入し、NAND Flashをrootfsとするモードで起動します。
自動的に拡張領域を確保して利用します。
Begin: Running /scripts/init-bottom ...
       root-overlay:  Setting up aufs on /root as root file system
MMC Filesystem: vfat detected.
'devel' file found.
create loopback image file (1531 [MiB]) ...[   36.275969] random: nonblocking pool is initialized
1531+0 records in
1531+0 records out
done.
creating ext4 filesystem on image file...done.
[  123.746246] EXT4-fs (loop0): mounted filesystem with ordered data mode. Opts: (null)
下記の通り、1.5GiB程度 /rw, / に mount されていることがわかります。
root@plum:~# df Filesystem 1K-blocks Used Available Use% Mounted on rootfs 1510304 2484 1491436 1% / udev 503824 4 503820 1% /dev tmpfs 102644 236 102408 1% /run /dev/mtdblock8 55296 55296 0 100% /ro overlay-tmpfs 513212 22608 490604 5% /rw.tmpfs /dev/mmcblk0p1 1960960 1567756 393204 80% /rw.tmpfs/mnt/mmc <-- SDカード全体の80%利用中 /dev/loop0 1510304 2484 1491436 1% /rw <-- 拡張領域 /dev/loop1 1024 1024 0 100% /ro/lib/modules /dev/loop2 21504 21504 0 100% /ro/usr/lib/jvm overlay 1510304 2484 1491436 1% / <---- aufsにより / の上にかぶせてmount中 overlay.log 513212 22608 490604 5% /var/log overlay.kmod 1510304 2484 1491436 1% /lib/modules overlay.jvm 1510304 2484 1491436 1% /usr/lib/jvm ubi0:overlay 40292 116 38116 1% /rw.tmpfs/.overlay none 4 0 4 0% /sys/fs/cgroup none 5120 0 5120 0% /run/lock none 513212 0 513212 0% /run/shm none 102400 0 102400 0% /run/user root@plum:~#
このモードで起動しているときは、『SDカードを利用中』を表すために、SpreadRouter本体の“POWER” LEDが 緑+赤 の点灯となります。
“devel” ファイルに作成したいイメージファイルのサイズを KiB 単位で書いておくことで、
イメージファイルのサイズをマニュアルで設定することができます。
サイズを指定する際は、数値だけでなく上の例の通りシェルスクリプトで計算可能な数式での指定も可能です。
この設定ファイルを保存したSDカードを使用した場合、下のとおり 1GiB の拡張領域を作成して利用します。
この方法では、FATファイルシステムのファイルサイズ上限 4GiB までの拡張領域を利用することができます。
SDカードにイメージファイルを作成し、ループバックマウントして利用する方式をとっている関係上、
前述の通りイメージファイルのサイズはベースとなるSDカードのファイルシステムの制限を受けることになります。
4GiB以上の拡張領域を利用する場合、SDカードを ext4 ファイルシステムでフォーマットする必要があります。
作業は SpreadRouter で可能です。手順は下記のとおりとなります。
root@plum:~# fdisk /dev/mmcblk0  
Command (m for help): p
Disk /dev/mmcblk0: 7969 MB, 7969177600 bytes
221 heads, 20 sectors/track, 3521 cylinders, total 15564800 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
        Device Boot      Start         End      Blocks   Id  System
/dev/mmcblk0p1            8192    15564799     7778304    b  W95 FAT32
Command (m for help): t
Selected partition 1
Hex code (type L to list codes): L
 0  Empty           24  NEC DOS         81  Minix / old Lin bf  Solaris        
 1  FAT12           27  Hidden NTFS Win 82  Linux swap / So c1  DRDOS/sec (FAT-
 2  XENIX root      39  Plan 9          83  Linux           c4  DRDOS/sec (FAT-
 3  XENIX usr       3c  PartitionMagic  84  OS/2 hidden C:  c6  DRDOS/sec (FAT-
 4  FAT16 <32M      40  Venix 80286     85  Linux extended  c7  Syrinx         
 5  Extended        41  PPC PReP Boot   86  NTFS volume set da  Non-FS data    
 6  FAT16           42  SFS             87  NTFS volume set db  CP/M / CTOS / .
 7  HPFS/NTFS/exFAT 4d  QNX4.x          88  Linux plaintext de  Dell Utility   
 8  AIX             4e  QNX4.x 2nd part 8e  Linux LVM       df  BootIt         
 9  AIX bootable    4f  QNX4.x 3rd part 93  Amoeba          e1  DOS access     
 a  OS/2 Boot Manag 50  OnTrack DM      94  Amoeba BBT      e3  DOS R/O        
 b  W95 FAT32       51  OnTrack DM6 Aux 9f  BSD/OS          e4  SpeedStor      
 c  W95 FAT32 (LBA) 52  CP/M            a0  IBM Thinkpad hi eb  BeOS fs        
 e  W95 FAT16 (LBA) 53  OnTrack DM6 Aux a5  FreeBSD         ee  GPT            
 f  W95 Ext'd (LBA) 54  OnTrackDM6      a6  OpenBSD         ef  EFI (FAT-12/16/
10  OPUS            55  EZ-Drive        a7  NeXTSTEP        f0  Linux/PA-RISC b
11  Hidden FAT12    56  Golden Bow      a8  Darwin UFS      f1  SpeedStor      
12  Compaq diagnost 5c  Priam Edisk     a9  NetBSD          f4  SpeedStor      
14  Hidden FAT16 <3 61  SpeedStor       ab  Darwin boot     f2  DOS secondary  
16  Hidden FAT16    63  GNU HURD or Sys af  HFS / HFS+      fb  VMware VMFS    
17  Hidden HPFS/NTF 64  Novell Netware  b7  BSDI fs         fc  VMware VMKCORE 
18  AST SmartSleep  65  Novell Netware  b8  BSDI swap       fd  Linux raid auto
1b  Hidden W95 FAT3 70  DiskSecure Mult bb  Boot Wizard hid fe  LANstep        
1c  Hidden W95 FAT3 75  PC/IX           be  Solaris boot    ff  BBT            
1e  Hidden W95 FAT1 80  Old Minix      
Hex code (type L to list codes): 83
Changed system type of partition 1 to 83 (Linux)
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: If you have created or modified any DOS 6.x
partitions, please see the fdisk manual page for additional
information.
Syncing disks.
root@plum:~# 
root@plum:~# mkfs.ext4 -m 0 /dev/mmcblk0p1 mke2fs 1.42.8 (20-Jun-2013) Discarding device blocks: done Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 486720 inodes, 1944576 blocks 0 blocks (0.00%) reserved for the super user First data block=0 Maximum filesystem blocks=1992294400 60 block groups 32768 blocks per group, 32768 fragments per group 8112 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632 Allocating group tables: done Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done root@plum:~#
root@plum:~# mount /dev/mmcblk0p1 /mnt/sd root@plum:~# df Filesystem 1K-blocks Used Available Use% Mounted on rootfs 513212 120 513092 1% / udev 503824 8 503816 1% /dev tmpfs 102644 244 102400 1% /run /dev/mtdblock8 55296 55296 0 100% /ro overlay-tmpfs 513212 22760 490452 5% /rw.tmpfs overlay-persist 513212 120 513092 1% /rw /dev/loop0 1024 1024 0 100% /ro/lib/modules /dev/loop1 21504 21504 0 100% /ro/usr/lib/jvm overlay 513212 120 513092 1% / overlay.log 513212 22760 490452 5% /var/log overlay.kmod 513212 120 513092 1% /lib/modules overlay.jvm 513212 120 513092 1% /usr/lib/jvm ubi0:overlay 40292 120 38112 1% /rw.tmpfs/.overlay none 4 0 4 0% /sys/fs/cgroup none 5120 0 5120 0% /run/lock none 513212 0 513212 0% /run/shm none 102400 0 102400 0% /run/user /dev/mmcblk0p1 7525000 17088 7491528 1% /mnt/sd <----
4GiB の拡張領域を作成する例です。
root@plum:~# echo "4*1024*1024" > /mnt/sd/devel root@plum:~# cat /mnt/sd/devel 4*1024*1024
root@plum:~# reboot root@plum:~# Broadcast message from root@plum (/dev/pts/0) at 16:11 ... The system is going down for reboot NOW!
再起動後の状態は下記のようになります。
4GiBの拡張領域が作成されていることがわかります。