PROGRAM: NetNuke LICENSE: GNU/GPLv3 PURPOSE: Erases all storage media deteced by the system AUTHOR: Joseph Hunkeler EMAIL: jhunk@stsci.edu, jhunkeler@gmail.com BUGS ---- - SCSI devices require a larger block size to wipe at any decent speed. 64 kilobytes (-bs 65536) works well. The cause of this problem is unknown. IDE devices wipe at the correctly speed based on a given block size. I also recommend using a minimum of 2 passes (-p 2) at this block size. Submissions via email would help greatly. OPERATING SYSTEMS SUPPORTED --------------------------- BSD: FreeBSD - Works OpenBSD - Not Tested, and will not work yet. NetBSD - Not Tested, and will not work yet. Linux: 2.4 - Not Tested, and may not work 2.6 - Works, but needs more testing GENERAL INFORMATION ------------------- NetNuke is a custom build of FreeBSD 7.2-RELEASE that resides entirely in a memory filesystem. Minimal modification should be needed to boot NetNuke over PXE (in case you're thinking about it). The application itself is written entirely in C, and mostly from scratch. Only one large chunk of code was pulled from NetBSD's libutil. Linux support may be dropped in order to clean up the code in the coming weeks because FreeBSD's SCSI subsystem is far superior to Linux's implementation. SUN Solaris support on the other hand may make an appearance soon depending on the demand to natively wipe their media. Just remember that NetNuke was designed to DESTROY DATA. There are no failsafes in place to preserve your precious bits. The only thing that stands between you and the total annihilation of your data is the "--disable-test" flag. What that said, please use NetNuke responsibly. Anything attached to the machine prior to running the program will be DESTROYED. TIPS ---- 1. /usr/bin/nn has no user confirmation routine. Be sure that your data is backed up BEFORE you run this command. 2. Alt+F[1-7] are virtual terminals. Login as "root" (and the there is no password). 3. To reset/rescan the SCSI bus: # camcontrol reset all # camcontrol rescan all 4. To cold swap an IDE device: # atacontrol detach 0 # <- First channel # (Remove the old device, and put the new one in) # atacontrol attach 0 5. Once NetNuke has loaded the filesystem completely into memory you may remove the boot media. 6. NetNuke will attempt to automatically skip a failed device. If this fails to work, you can manually skip the current device by issuing the command (from a virtual terminal): # killall -SIGUSR1 netnuke OPTION REFERENCE ---------------- --help Display NetNuke application options, and exit. --write-mode [s] or -w [s]: Accepts a 32-bit integer value. 0: Synchronous Data is immediately committed to the disk. 1: Asynchronous Data is buffered, and is committed to the disk over time. (Very fast) Default: 0 --nuke-level [n] or -nl [n] Accepts a 32-bit integer value. 0: Zero out - Write zeros across all devices. 1: Static patterns - One of the 24 patterns are selected per device (or per write pass). Pattern table is as follows: 0xA0, 0xB0, 0xC0, 0xD0, 0xE0, 0xF0, 0xA1, 0xB1, 0xC1, 0xD1, 0xE1, 0xF1, 0xA2, 0xB2, 0xC2, 0xD2, 0xE2, 0xF2, 0xA3, 0xB3, 0xC3, 0xD3, 0xE3, 0xF3 2: Fast random - A random buffer is generated, and the data is written across all devices. 3: Slow random (regenerate random buffer) - A random buffer is regenerated every 128 completed write operations. 4: Ultra-slow re-writing method - NOT IMPLEMENTED (defaults to static pattern method) Default: 1 --passes [n] or -p [n] Accepts a 32-bit integer value. This options defines the number of full passes NetNuke should perform on a single device during its operation. Default: 1 --disable-test USE WITH EXTREME CAUTION! Test-mode is disabled, and all write operations are allowed to begin. Default: NetNuke writes all test iterations to /dev/null --block-size [n] or -b [n] Accepts a 32-bit integer value. This option defines the number of device blocks NetNuke should attempt to wipe. Default: 512 --verbose or -v Enables verbose messages Default: off --verbose-high or -vv Enables a high degree of verbose messages. The output will obstruct any usable human-readable data, as well as cause the write operation to slow down to a crawl. Default: off --version or -V Display NetNuke's version and license, then exit.