I have a 4gb or an 8gb flash drive on it right now... so that's not an issue. As far as crawling around in a cmd line to upgrade, I'm fine with that as long as I got some confirmation that it was likely to work... otherwise I'll make arrangements to get over there at some point...
It's likely to work if you are careful and thorough. Since you haven't done this before (I'm guessing), you would find it easier if you had a local system to make your mistakes on, loaded up with the same sort of setup that you have on the inaccessible machine. I would say it's virtually required.
One little problem is that I really stopped needing to do this sort of stuff around FreeBSD 4, and a lot of the disk manipulation stuff has changed quite a bit. So I cannot give you an exact recipe. But I can give you some guidance.
You need a detailed list of what your disk looks like now, and what you need it to look like after. I suggest a reboot after each step to make sure things are "right." My current 2GB-FreeNAS-on-an-8GB-flash looks like
Code:
# fdisk da4
******* Working on device /dev/da4 *******
parameters extracted from in-core disklabel are:
cylinders=971 heads=255 sectors/track=63 (16065 blks/cyl)
parameters to be used for BIOS calculations are:
cylinders=971 heads=255 sectors/track=63 (16065 blks/cyl)
Media sector size is 512
Warning: BIOS sector numbering starts with sector 1
Information from DOS bootblock is:
The data for partition 1 is:
sysid 165 (0xa5),(FreeBSD/NetBSD/386BSD)
start 63, size 1930257 (942 Meg), flag 80 (active)
beg: cyl 0/ head 1/ sector 1;
end: cyl 890/ head 15/ sector 63
The data for partition 2 is:
sysid 165 (0xa5),(FreeBSD/NetBSD/386BSD)
start 1930383, size 1930257 (942 Meg), flag 0
beg: cyl 891/ head 1/ sector 1;
end: cyl 757/ head 15/ sector 63
The data for partition 3 is:
sysid 165 (0xa5),(FreeBSD/NetBSD/386BSD)
start 3860640, size 3024 (1 Meg), flag 0
beg: cyl 758/ head 0/ sector 1;
end: cyl 760/ head 15/ sector 63
The data for partition 4 is:
sysid 165 (0xa5),(FreeBSD/NetBSD/386BSD)
start 3863664, size 41328 (20 Meg), flag 0
beg: cyl 761/ head 0/ sector 1;
end: cyl 801/ head 15/ sector 63
Now I don't know offhand what partition 3 is, but partition 4 is /data, and will need to be bumped farther out on your disk. It might also be currently smaller than 20 MB. So your first act is to make a dump of /data ("dump 0sf 99999 /mnt/storagex/data.dmp /dev/ufs/FreeNASs4" or whatever). Then move partition 4 to the new location (3863664, 41328) and do a newfs on it, mount it, restore, and remove restoresymtable.
You can move partition 3 in the same manner. Mine's empty so probably no real worries except getting it located properly.
Now move and resize partition 2. This is the tricky bit; this will wind up being the new boot partition. It's probably all zeroes, or at least, mine seems to be. That's fine. Don't fret that there's nothing to dump. You need to get the latest "GUI upgrade" image that you want to cram on your FreeNAS, and uncompress it. You feed that file into the script "/root/updatep2". This may take a while as it has to write a gig of flash.
Now you hold your breath and reboot. If lucky, you'll be running the new FreeNAS. If not lucky, you'll be grabbing your jacket and an ISO to go visit your remote machine.
But you're not done yet. You also need to resize partition 1, after reboot (when you're now running on partition 2).
These are, of course, fairly general instructions. If you're uncomfortable, then probably don't try it. If it makes sense to you, then you probably have the necessary skills to pull it off.