Custom boot volume
This is the boot image that we will run on test boxes in the context of Inventory tracking database.
Current participants[edit]
Tools[edit]
- https://github.com/organizations/freegeek-seattle
- http://en.wikipedia.org/wiki/SUSE_Studio SuSE Studio
- https://launchpad.net/ubuntu-builder/
Requirements[edit]
- small enough boot image to work on older hardware
- kernel with full module set to detect as much hardware as possible
- one image, updatable, that can be used to generate PXE images or ISO
- X, basic desktop environment, hardware testing suite
Components[edit]
Kernel[edit]
init scripts[edit]
I'm envisioning a script that fires once X is up and running, prompts the user for a few things and then runs lshw and / or live hardware testing (could just run dmesg, but lshw gives us nice structured output.) Output from all these is then sent to curl for upload. If X fails then the script should still run at whatever level userland falls back to. It might be useful to make a separate frontend for X so that the tester can see if things are working ok.
Prompts[edit]
- Donor information
- Name
- not sure what else
- Unique-ish human readable name
- This serves to identify individual boxen in a way that doesn't require people to memorize UUIDs. I envision a series of names cycling through the alphabet at the first letter and last letter as follows:
- Anna
- Ahab
- Alec
- Arid
- ... up to Azaz, and then
- Bubba
- Barb
- Boinc
- Brad
- ... and so on down the line. They don't have to be 4 letters, I just made those up.
- This may be more trouble than it's worth. If we use it, it should be automated. The scheme as shown only generates 436 unique names; it might be better just to assign names from a long list of place-names or something- MySQL wordlist tables are easy to find and download. I regard this as an optional feature, so won't try to implement it until I get core functions working. Maybe we could use something like shelf locations instead?
- This serves to identify individual boxen in a way that doesn't require people to memorize UUIDs. I envision a series of names cycling through the alphabet at the first letter and last letter as follows:
- Tester information
- Name or ID
- Presumably the testing volunteer should know his or her ID. Is this a realistic expectation?
- Name or ID
I think this should be enough information for the tester to enter. My idea is to automate as much as possible. Probably the interactive part should come last among the information-gathering steps. That way the tester can enter a description of any problems observed which the other tests didn't catch.
What the script will launch[edit]
- lshw or hwinfo to gather structured hardware data
- Checkbox or other hardware tester
- interactive prompts for non-automated data gathering (as described above_
- curl or other non-interactive uploader to push data to server