A large problem with collecting used hardware for redistribution to developing countries is to register and test the equipment. In this context, a bootfloppy that detects the hardware is needed. There are some DOS based utilities that do this, like those at simtel.net, but, at least in the case presented above, it is important to have tools that are Free as Free Speech.
Following a request on the RULE mailing list by Vegard Munthe of FAIR, Michael Fratoni merged detect with slinky, the RULE installer. The result is slinky-detect, a bootable hardware detection floppy. Originally, slinky-detect was hosted on Michael’s server. As of 2004/06/14. everything at that URL has been copied in a dedicated folder of the RULE download area.
How to use slinkydetect
In Linux, the bootable floppy can be created with this command:
>dd if=slinky-detect.img of=/dev/fd0 bs=1440k
The just boot the computer with it. Once the floppy starts, it runs detect, and writes the output to the boot floppy (as report.txt). The system can then be powered down, as no disks are mounted. Overall startup to shutdown should be about 1 or 2 minutes. (We are booting from a floppy, after all.)
Just to have an idea of the potential of slinkydetect, here is the report.txt file generated on a test system:
# This report has been generated by detect 0.9.72 # CPU:GenuineIntel:Pentium II (Deschutes):350:[HAS_FPU:HAS_MMX]:699.59:(none) MEMORY:256744:249436:0:76:3068:0:0 BRIDGE:PCI:Intel Corporation:440BX/ZX - 82443BX/ZX Host bridge:ignore BRIDGE:PCI:Intel Corporation:440BX/ZX - 82443BX/ZX AGP bridge:ignore BRIDGE:PCI:Intel Corporation:82371AB PIIX4 ISA:unknown IDE:PCI:Intel Corporation:82371AB PIIX4 IDE:unknown USB:PCI:Intel Corporation:82371AB PIIX4 USB:usb-uhci DISK:ATAPI/IDE:Unknown:WDC AC26400B:/dev/hdb:12594960:240:63:833 DISK:ATAPI/IDE:Unknown:WDC AC310200R:/dev/hda:20033055:255:63:1247 FLOPPY:Floppy Drive Controller:Unknown:1.44MB 3.5":/dev/fd0 CDROM:ATAPI/IDE:Unknown:COMPAQ CRD-168P:/dev/hdc VIDEO:PCI:S3 Inc.:Trio64 (generic) 86c764/765 [Trio32/64/64V+]:[Card:S3]:256:(null):(null) MOUSE:PS/2:Unknown:Unknown:/dev/psaux SERIAL:/dev/ttyS0:COM0 OTHER:80867113:PCI:Intel Corporation:82371AB PIIX4 ACPI:ignore
How to associate to each report a unique HW identifier
To make the data gathering discussed below easier, Michael added to version 0.0.2 so that the machine is now assigned what should, for our purposes, be a unique identifier. The report is also saved using the same identifier. What is used is the output of ‘date +%s’ or “linux time” (seconds since `00:00:00 1970-01-01 UTC’) It prints this data to the console, so the person running the test can easily mark the machine. The data are still saved to the floppy, of course, so if the screen says:
Detection complete, data saved to floppy. Machine ID: machine-1043448889
The report is saved to the floppy as “machine-1043448889″ Before writting to floppy, a test for available space is run as well. If space is getting low, the user is warned, but the file is still written. The warning will pop up when space on the floppy drops below 5k, which should be more than enough to write several more reports. (The disk has about 195k available, it’ll take well over 100 reports to fill that.)