Site Tools


usb_formatting_with_swap_partition

This is an old revision of the document!


USB formatting with swap partition

It is highly recommended to make some form of permanent storage available for FreshTomato. A swap partition can prevent several types of insufficient RAM symptoms, such as system instability, failing processes, and in very severe cases, even spontaneous reboots. All this will depend largely on the network load and on FreshTomato's configuration. Some functions require much more RAM than others, and higher network traffic will put more load on the router and require more RAM than lower traffic. USB storage is an excellent way of providing swap space.

This example assumes you are using either an ARM or MIPS build with USB support. It is also assumes that you have already have USB support enabled. If you're not sure how to enable USB support, check the USB Support wiki page.

For this example we used a 16GB USB flash drive which is seen in the system as device sda.

Automatic method

This assumes your drive device device name is sda ! If it's not, make sure to change the following commands consistent with your drive's device name.

The echo 1000M statement below defines the size of the swap partition (in MB). You may want to adjust that, according to your needs.

Then enter:

device=/dev/sda
partition=$device'1'
nvram set usb_automount="0"
(echo o; echo n; echo p; echo 2; echo ; echo +1000M; echo t; echo 82; echo n; echo p; echo 1; echo ; echo ; echo w) | fdisk $device
mkfs.ext2 -L USB $partion
mkswap /dev/sda2
swapon /dev/sda2
mkdir /mnt/sda1 && mount /dev/sda1 /mnt/sda1
nvram set usb_automount="1"

Manual method:

From the Web interface, disable the Automount checkbox in the USB Support menu.


Then, logon via SSH or Telnet and delete any existing partitions:

fdisk /dev/sda

o

At this point your USB flash drive is unpartitioned. Now let's create the necessary partition table:

n

p

2

ENTER

+1000M (Essentially 1 GB will used for swap)

t

82

n

p ENTER

ENTER

l (to verify)

w (write to save changes and exit fdisk)



At this point you should have two unformatted partitions on your USB flash drive:


sda1 ~14GB (fs-type ext2/3/4)
sda2 ~1GB (fs-type swap)

Now, let's format the partitions. NOTE: it is suggested you use ext2 filesystem for USB flash drives and ext3 for hard disks/SSDs.

mkfs.ext2 -L USB /dev/sda1
mkswap /dev/sda2

Now, mount the partitions

swapon /dev/sda2
mkdir /mnt/sda1 && mount /dev/sda1 /mnt/sda1

You can now re-enable USB Automount on the USB and NAS menu.

Final setup

The USB flash drive is now formatted. Your USB and NAS page settings should look like this:

Under Attached Devices, you should see something similar to this:

To verify the swap partition is working well, check the Overview menu. You should see information related to swap space:

usb_formatting_with_swap_partition.1629149745.txt.gz · Last modified: 2021/08/16 22:35 by hogwild