[Nexus One Android Development] bofslime:
Fastboot is not a command you execute ON your phone, its done from your computer/laptop connected TO your phone via usb. You must have the SDK installed to obtain these tools, and I strongly recommend you make them apart of your $PATH (this allows you to run the command anywhere). Most people just need the tools, and don't have to worry about git, java, eclipse etc, which you will find reference to everywhere instructions on installing the SDK are (because thats what its really for). You can run fastboot from its installed directory, linux users know this well and its as simple as cd to the dir and type ./fastboot. However if you're in windows, you can right click the install folder, and there's an option to 'run command window here'. now you can type fastboot and it will run it.

To verify your computer can see your phone, run the following:

fastboot devices

If you don't get this far, you won't be able to flash the radio. Retrace your steps when you originally unlocked your phone, this is the same place you ran 'fastboot oem unlock' to do that.

Not everything gets a huge writeup. Because fastboot is such a basic component of modding any android phone, its use needs to be understood before people jump in. Everything on the phone is organized into partitions, 'radio' is one of those partitions (data, cache, boot, system, sdcard to name some others) This concept leads me into fastboot's tooltip help:

C:\>fastboot
usage: fastboot [ <option> ] <command>

commands:
update <filename> reflash device from update.zip
flashall flash boot + recovery + system
flash <partition> [ <filename> ] write a file to a flash partition
erase <partition> erase a flash partition
getvar <variable> display a bootloader variable
boot <kernel> [ <ramdisk> ] download and boot kernel
flash:raw boot <kernel> [ <ramdisk> ] create bootimage and flash it
devices list all connected devices
reboot reboot device normally
reboot-bootloader reboot device into bootloader

options:
-w erase userdata and cache
-s <serial number> specify device serial number
-p <product> specify product name
-c <cmdline> override kernel commandline
-i <vendor id> specify a custom USB vendor id
-b <base_addr> specify a custom kernel base address

Most (and probably all windows like, since windows lacks a man page system) command based programs have help menu's that get printed when you just input the command, these provide usage rules. Notice next to the sub command flash it indicates its looking for the partition name, followed by the file name. Thus you get:

fastboot flash radio [radio.img]

or

fastboot flash radio C:\users\BOFslime\Downloads\Radio_20100203_2_Signed_PASSION.img

If you want to make life easy you can move the radio.img into your android_sdk tool directory (folder) and then run the command from that directory and you won't have to specify the full path to the radio.img. I'm explaining it multiple ways so people can actually visualize and get that "ah-ha" moment when they understand whats actually going on, and not just copy/past a command someone wrote up as a walkthrough (because you should never copy and past something that you do not understand what it does! Otherwise dangerous commands like rm -rf and deltree get run, and people get upset :) ).

Hope this helps.