I'm developing a kernel driver for a client who is selling it to a client who is selling it to the final customer. The final customer is not only 3 times removed from me contractually, but also many thousands of miles and a dozen time zones away. Therefore I have no direct access to their test environment.
Everything is testing fine on the several machines and several different versions of OS X that I'm testing with, and I cannot duplicate a few issues they appear to be experiencing.
I have a tiny suspicion that they may be testing on a hackintosh, and while I'm working on their reported issues from angles assuming that their test setup is correct, I would like to put my suspicion to rest by adding code to the next build which will help me understand if they are running on real Apple hardware or not.
Right now I'm collecting the system profile, kernel.log, console.log, and USB profile. If the answer can be found in one of those, that would be even better, but I'm assuming that it won't be so simple.
- What are my options for determining whether the computer my driver is running on consists of real Apple hardware or not?
Again, I have code both in user space and in the kernel, so I have complete access to the machine, though I'd prefer a user space solution. The user space code is running as root, and starts running at boot, before the apple logo shows. While it would be nice to support multiple versions of OS X, 10.6.8 is the specific version I need to target for this case.