How can I clone my entire OS to a bootable USB stick?

There's Clonezilla, a small linux live distribution which is doing exactly this task:

Somebody explained it in this answer on AskUbuntu:

Steps:

  1. Download Clonezilla from http://clonezilla.org/downloads/download.php?branch=stable (download the ISO)

  2. Download Live Linux USB Creator (Lili) from http://www.linuxliveusb.com/en/download

  3. Create a bootable Clonezilla (Live Clonezilla) on USB by running Live Linux USB Creator.

  4. Configure your Source desktop / laptop to boot from a USB drive

  5. Insert both, the destination external hard drive or destination USB Flash drive in 1 USB Slot and the Clonezilla Live USB drive in other slot and boot.

  6. Clonezilla will take some time to read partition info When the Clonezilla UI appears, select default menu entries.

  7. [With Caution] select Source Partition info and Destination partition info It may be noted that Clonezilla would require space on destination USB Flash drive or external hard disk which is equivalent of the source Hard disk and it will erase all data from the destination USB Flash drive / external hard drive.

  8. Once all is selected, Clonezilla will create a live OS on the destination drive / flash drive

  9. Test the cloned OS by removing Clonezilla Live USB drive and booting from the Live OS which has been cloned onto the destination External drive / USB Flash drive.