Cyclone About

Jump to: navigation, search

Please contact me if you are using/interested in using it! cyclone@ <this domain>

What is it

Cyclone is a high speed imaging system, made up of several parts. Click the link to find out more details about each part.

  • The server hosting the images / drivers / web server / logging
  • The client imaging OS (tiny linux) that gets booted on the target machine wanting to be imaged with its final OS
  • The final OS images
  • The scripts that run on the client running the imaging process
  • The drivers (from inserted into the final OS to match it's hardware, if running in that mode
  • The scripts that run on the client in the final operating system to tweak it as desired

Design Goals

  • As automated as possible, in every way.
  • Run at the maximum wire speed available to it, (but it could very easily be throttled if you wished from the client or server end)
  • Highly configurable. Every aspect of it is changeable/customisable
  • Run over the internet
  • Simple to rework/customise
  • Quick and simple to update drivers


  • It will run across the internet using only HTTP traffic (port 80). You could image a pc, in a remote location, with no user interaction.
  • Secure, the server only needs web traffic allowed as if it was a normal run-of-the-mill web server.
  • It runs on Linux and is completely free
  • The server can be anything you already have, needs minimal hardware - it could even be an old laptop.
  • The syslinux menu system is auto generated from the database
  • To add new images or schemas is done via the database so you dont need to worry about breaking the script editing thing
  • It is currently designed to image machines with Windows XP or Windows 7 but could just as easily do anything else.
  • It images the machine with a final operating system either using a
    • universal image - drivers are automatically pulled down that match the client machines hardware, on the fly, without any prior knowledge as to the client machines hardware.
    • automatically matching a pre-made machine image to a machines hardware
    • forcibly specified.
  • Client runs using simple to edit bash script, the post OS (Windows) simple to edit batch scripts.

Custom Features

Auto Label Printing

A Dymo labelwriter printer is hooked up to the server via USB and running though CUPS. The client sends out a little LPR job during the imaging process to it which prints a custom label with machine identification, MAC address etc and a QR barcode encoding all the details (for quick physical auditing in the future). (This is the only feature not using HTTP port 80, but printing a label is only used locally to the server so I did not change it. Ways around this - The logging could be modified to do this so the print job is generated on the server from some PHP. Alternatively the client could send the print job to a specified local printer)

Future Additions

Security tagging - write original machine ID, company address or special code to the space between the first sector and the first partition & the final sector of the disk which will be unused and unlikely to be erased even on a repartition and reformat. It could then be easily proven that the property belonged to you. This could be easily achieved by adding a few lines to the script...