One step at a time walkthru...... Reboot your router, so that everything is clean. Telnet into the router and log in. username is "root", password is whatever you've set it to. Default is "admin" [On your windows box, open up a command window and type: telnet 192.168.1.1] Plug in the flash stick with the tgz file into the router. Type "mount" and see where it got mounted. You should see a line that looks something like this: /dev/discs/disc0/part1 on /tmp/mnt/disc0_1 type vfat (rw,noatime) Verify the tar file is there: > ll /mnt/disc0_1/ you should see: -rwxrwxrwx 1 0 0 174942 Feb 6 12:13 tomato_dskutils-v2.tgz* Now cd to /tmp and untar it. > mkdir /tmp/dskutils > cd /tmp/dskutils > tar xzf /mnt/disc0_1/tomato_dskutils.tgz Now you can execute the programs. Here is a script of me setting up a disk with one Linux ext2 partition and one swap partition. Two things to take note of: 1) While doing this disk setup, you must turn off the "automount USB drives" option in Tomato. This is on the "USB and NAS" / "USB Support" configuration web page. When you are finished, you can turn automount back on. 2) You must be exactly sure of the USB drive device names. These may change evry time, since the Linux UDB sub-system will dynamically create new USB device names when they are plugged in and unplugged. The easiest way to get the right name is to type the command "cat /proc/partitions" BEFORE plugging in the target drive, then plug it in, wait 5-10 seconds, and do the cat again. You should see that something is new (or different). That is almost certainly the one you just plugged in. In my case, this is what showed up: > cat /proc/partitions major minor #blocks name 8 0 3948544 scsi/host0/bus0/target0/lun0/disc 8 1 3948512 scsi/host0/bus0/target0/lun0/part1 8 16 64000 scsi/host1/bus0/target0/lun0/disc 8 17 56196 scsi/host1/bus0/target0/lun0/part1 > fdisk /dev/scsi/host1/bus0/target0/lun0/disc Command (m for help): o Building a new DOS disklabel. Changes will remain in memory only, until you decide to write them. After that, of course, the previous content won't be recoverable. Warning: invalid flag 0x00,0x00 of partition table 4 will be corrected by w(rite) Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 1 First cylinder (1-7, default 1): Using default value 1 Last cylinder or +size or +sizeM or +sizeK (1-7, default 7): 5 Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 2 First cylinder (6-7, default 6): Using default value 6 Last cylinder or +size or +sizeM or +sizeK (6-7, default 7): Using default value 7 Command (m for help): t Partition number (1-4): 1 Hex code (type L to list codes): 83 Command (m for help): t Partition number (1-4): 2 Hex code (type L to list codes): 82 Changed system type of partition 2 to 82 (Linux swap) Command (m for help): p Disk /dev/scsi/host1/bus0/target0/lun0/disc: 65 MB, 65536000 bytes 255 heads, 63 sectors/track, 7 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/scsi/host1/bus0/target0/lun0/part1 1 5 40131 83 Linux /dev/scsi/host1/bus0/target0/lun0/part2 6 7 16065 82 Linux swap Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks. > ./mkswap -L Swap1 /dev/scsi/host1/bus0/target0/lun0/part2 Setting up swapspace version 1, size = 16446 kB > ./mkfs.ext2 -LPocketDrive /dev/scsi/host1/bus0/target0/lun0/part1 mke2fs 1.38 (30-Jun-2005) Filesystem label=PocketDrive OS type: Linux Block size=1024 (log=0) Fragment size=1024 (log=0) 10040 inodes, 40128 blocks 2006 blocks (5.00%) reserved for the super user First data block=1 5 block groups 8192 blocks per group, 8192 fragments per group 2008 inodes per group Superblock backups stored on blocks: 8193, 24577 Writing inode tables: done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 33 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override. > ./tune2fs -c 0 -i 0 /dev/scsi/host1/bus0/target0/lun0/part1 tune2fs 1.38 (30-Jun-2005) Setting maximal mount count to -1 Setting interval between check 0 seconds > ./e2fsck -vfp /dev/scsi/host1/bus0/target0/lun0/part1 11 inodes used (0%) 0 non-contiguous inodes (0.0%) # of inodes with ind/dind/tind blocks: 0/0/0 1285 blocks used (3%) 0 large files 0 regular files 2 directories 0 character device files 0 block device files 0 fifos 0 links 0 symbolic links (0 fast symbolic links) 0 sockets-------- 2 files