A while ago we were faced with a 2800-series router with no software in its CF card. As all 2800-series routers have USB slots, I started investigating whether you could boot the IOS image from an USB flash token. The product documentation states you can't, but as always, reality changes quicker than documentation in Ciscosphere.
To support IOS boot from USB token, you need a newer version of 2800-series ROMMON which you'll get from the ROMMON download page (registered CCO users only). You need ROMMON release 12.4(13r)T (description: C2800 ROMMON Upgrade; adds boot from usb flash drive capability).
After you've downloaded the file onto a USB token, upgrade the router ROMMON with the upgrade rom-monitor file usbflash0:C2800NM_RM2.srec.124-13r.T command (requires router reboot).
Test the upgraded ROMMON with the dev command. You should see the USB flash devices:
rommon 1 > dev
Devices in device table:
flash: compact flash
bootflash: boot flash
You can use USB token-resident IOS releases in two ways:
- As an emergency boot mechanism when you have problems with the CF card. Remove the CF card, insert USB token, restart the router and use the boot rommon command, for example boot usbflash0:c2800nm-advipservicesk9-mz.124-11.T1.bin.
- As a regular boot image. Use the boot system global configuration command to specify the USB token image to use, for example boot system usbflash0:c2800nm-advipservicesk9-mz.124-11.T1.bin. The router will not boot off USB token without the boot system command ... and, obviously, you should never remove the USB token from the router.