Cyclone About
Please contact me if you are using/interested in using it! cyclone@ <this domain>
Contents
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 driverpacks.net) 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
Features
- 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...