Nach der OpenWRT Installation auf dem Router steht für zusätzliche Software nur sehr wenig Speicher zur Verfügung. Wer einen Router mit USB- Port hat, kann OpenWRT einen USB- Stick für das Rootfs und eine Swap Partition verwenden.
Der Einfachheit halber werden die Partitionen und das Dateisystem mit dem PC auf dem Stick angelegt. Verwendet wird ein Stick mit 1GB Speicherkapazität.
Für die Partitionierung des USB- Sticks habe ich fdisk verwendet. Auf die Verwendung von fdisk gehe ich hier nicht näher ein.
Für das Rootfs und Swap ist der USB- Stick wiefolgt partitioniert worden:
Nach dem man sich per SSH auf dem OpenWRT Router angemeldet müssen die notwendigen Pakete block-mount, block-extroot, block-hotplug, kmod-fs-ext3, kmod-usb-core, kmod-usb-storage und kmod-usb2 installiert werden.
In OpenWRT Backtrack existiert ein Bug, der beim Systemstart das autom. Mounten der Rootfs Partition verhindert. Als Workaround editiert man das Script /etc/init.d/fstab und kommentiert die Zeile
echo 'WARNING: this is an auto ....
mit # aus.
Danach folgt die Änderung der /etc/config/fstab:
config global automount
option from_fstab 1
option anon_mount 1
config global autoswap
option from_fstab 1
option anon_swap 1
config mount
option target /overlay
option device /dev/sda1
option fstype ext3
option options rw,sync
option enabled 1
option enabled_fsck 1
option is_rootfs 1
config swap
option device /dev/sda2
option enabled 1
ACHTUNG: Wenn man als target nicht /overlay verwendet, dann wird /dev/sda1 nicht für das Rootfs verwendet.
Anschließend kann die Rootfs- Partition des Sticks gemountet und die Daten des bestehenden Rootfs auf den Stick kopiert werden.
mount /dev/sda1 /mnt cp -a /overlay/* /mnt umount /dev/sda1
Nach dem Reboot des Router sollte die Ausgabe von mount in etwa so aussehen:
rootfs on / type rootfs (rw) /dev/root on /rom type squashfs (ro,relatime) proc on /proc type proc (rw,relatime) sysfs on /sys type sysfs (rw,relatime) tmpfs on /tmp type tmpfs (rw,nosuid,nodev,relatime) tmpfs on /dev type tmpfs (rw,relatime,size=512k,mode=755) devpts on /dev/pts type devpts (rw,relatime,mode=600) /dev/sda1 on /overlay type ext3 (rw,sync,relatime,errors=continue,data=writeback) mini_fo:/overlay on / type mini_fo (rw,relatime) debugfs on /sys/kernel/debug type debugfs (rw,relatime) none on /proc/bus/usb type usbfs (rw,relatime)
/dev/sda1 ist in /overlay eingehängt worden und wird von mini_fo als Rootfs Overlay verwendet. Die Ausgabe von free gibt Auskunft darüber, ob die Swap-Partition verwendet wird. Wenn in der Zeile Swap 0 steht wird die Swap- Partition nicht verwendet und kann mit
swapon
aktiviert werden.