Re: DSDT Database: Supermicro Atom 330 Server
This is the DSDT which I developed and am using on my Supermicro 330 Atom 1U server product on Lion 10.7.2 and Server Lion 10.7.2 (retail versions, as purchased from the Apple Store).
It has been extensively tested with both. Also, obviously, Lion 10.7 and Server Lion 10.7.
No sound device is provided as the Supermicro Atom 330 Server doesn't have an on-mobo codec.
However, I'm sure you could provide sound using a USB 2.0 dongle.
Video is by the product's on-mobo GMA950 and it works with all resolutions and CI and QE. Video quality actually appears to be better than some 8400GSes. I always run 1920 x 1200 and 60 Hz on my displays.
The Guide is as follows:
Guide for Installing Lion On a Supermicro Atom 330 Server
(X7SLA-H is preferred as it has dual gigabit E-net LANs and other features), but this Guide will probably work for others, too.
1) Find and download tonymacx86's UniBeast 1.0.0,
2) Build the USB flash drive according to instructions,
3) Find and download mach_kernel_atom.10.7.1,
4) Use showallfiles application and select SHOW,
5) Move mach_kernel_atom.10.7.1 to root of USB flash drive (do not touch mach_kernel),
6) Move my Supermicro Atom 330 DSDT to the /Extra folder within the USB flash drive,
7) Edit org.chameleon.Boot.plist, as required, to include the following …
<key>Kernel</key>
<string>mach_kernel_atom.10.7.1</string>
<key>Kernel Flags</key>
<string>arch=i386 npci=0x2000 PCIRootUID=1</string>
<key>GraphicsEnabler</key>
<string>No</string>
<key>Instant Menu</key>
<string>Yes</string>
<key>Legacy Logo</key>
<string>Yes</string>
<key>EthernetBuiltIn</key>
<string>Yes</string>
<key>GenerateCStates</key>
<string>Yes</string>
<key>GeneratePStates</key>
<string>Yes</string>
8) Use showallfiles application and select HIDE,
9) Boot the Supermicro Atom 330 using the modified USB flash drive (this may take a LONG time),
10) Use Disk Utility to partition the hard drive; a 1 GB, 1.5 GB or 2 GB hard drive is recommended; initially define two 20 GB partitions as Server Lion and Server Lion Backup and the entire remainder as Server Lion Data; all should be Mac OS Extended (Journaled),
11) Install MacOS X Lion on the first partition,
12) after MacOS X installation has completed, restart into the BIOS,
13) Select the just installed hard drive partition and boot it using the USB flash drive as a "helper" partition,
14) Run the MultiBeast for Lion application; select whatever options make the most sense to you, but be sure to select the Lnx2Mac gigabit E-net driver (the X7SLA-H has two of these),
15) Move the mach_kernel_atom.10.7.1 to the root of the target system and make the same changes to the org.chameleon.Boot.plist as were made before,
16) Optionally, run the 10.7.2 Combo Update,
17) Remove the UniBeast flash drive and reboot into the hard drive,
18) The installation is completed.
19) Launch the (Lion) Server application to install the Server Lion upgrade, if desired (this may take a LONG time, too).
Enjoy!
P.S. The Supermicro Atom 330 1U Server product is available from NewEgg as ...
http://www.newegg.com/Product/Product.a ... 6816101262
... and NewEgg also stocks the dual 2.5" hard drive bracket which mounts in the space of the 3.5" drive and replaces it. These items may be available elsewhere.
This product is occasionally available as an "open box" item for about one-half the stated price. I built my Supermicro Atom 330 Server using just such an "open box" item. The SKU for an "open box" item is N82E16816101262R.
The Supermicro Atom 330 has a 945GC Northbridge which theoretically supports 4 GB, but the DSDT which Supermicro supplies only supports 2 GB. Plugging 2 x 2 GB = 4 GB into the Supermicro will result in the BIOS recognizing the 4 GB, but MacOS X will not POST. I am presently working on a possible DSDT enhancement to support 4 GB. No promises, however. 1 x 2 GB = 2 GB or 2 x 1 GB = 2 GB do work, however.
The Supermicro Atom 330 also has an ICH7R Southbridge and four usable SATA ports, two of which are usable internally and the remaining two which could be used externally with the proper iSATA-to-eSATA cable and bracket kit, available elsewhere. The ICH7R supports RAID configurations.
Update: the supplied DSDT is correct for 2 GB of RAM, as that is the Supermicro specified system environment.
However, it is theoretically possible to configure 1 GB, 2 GB, 3 GB or 4 GB as the Supermicro's 945GC Northbridge is one of the rare 945-type Northbridges which actually supports more than 2 GB.
This particular DSDT hard-codes the amount of RAM for at least the OS RAM and possibly also for the VRAM, which is shared with the OS RAM.
It is the best practice to install the maximum configuration which you intend to operate with, then then use Ubuntu to grab the "raw" DSDT and then, and only then, to install the mods which are necessary for MacOS X Lion support.
The first part takes care of the "physical" aspects of a Supermicro Atom 330 Hackintosh. The second part takes care of the "logical" aspects of a Supermicro Atom 330 Hackintosh.
As expected, the "physical" aspects can change with the physically installed, or specified, configuration. Also as expected, the "logical" aspects do not change.
Should you use my DSDT and then install other than 2 GB (supported are 1 x 2 GB = 2 GB or 2 x 1 GB = 2 GB, then this distinction really doesn't matter), you may be courting serious problems, namely failure to successfully boot MacOS X Lion.
However, I can absolutely report that the 945GC chip, which Intel states supports up to 4 GB, actually DOES support 4 GB, and it can be made to support 4 GB on MacOS X Lion.
Heck, it probably also supports 1 GB and 3 GB as well, but I did not test those configurations, and my DSDT does not support those configurations nor the 4 GB configuration, either.
The DSDT is complete in each and every respect for MacOS X Lion and Server Lion, any version, using the mach_kernel_atom.10.7.1.
However, it is correct only for 2 GB of RAM, either 2 x 1 GB = 2 GB or 1 x 2 GB = 2 GB.
Testing with 2 x 2 GB = 4 GB resulted in a (/) icon (MacOS X boot failed).
This failure was traced to one statement, only, within the DSDT and the fix is very easy, and has been proven at least for both 2 GB and 4 GB configurations.
Here are the known good values for 64 MB of shared VRAM (each one has been tested):
1) for 2 GB, the very first OperationRegion statement should specify 0x7F7AE064,
2) for 4 GB, the very first OperationRegion statement should specify 0xDF7AE064,
3) for 1 GB, the very first OperationRegion statement should specify 0x3F7AE064 * , and
4) for 3 GB, the very first OperationRegion statement should specify 0xBF7AE064 * .
NO OTHER CHANGES are necessary to the Supermicro Atom 330 DSDT as I have provided it, above.
* Corrected 11/18/2011.
Update for 1GB RAM and 2 GB RAM.
I have now tested 1GB and 3 GB configurations, and the results are positive.
1 GB works, but is probably too small for general purpose use and, of course, 3 GB will also inhibit dual-channel mode as the two sticks are of disparate size.
I have provided downloadable 1 GB, 2 GB, 3 GB and 4 GB DSDTs for the Supermicro Atom 330 Server product, each of which has been tested, and I am concluding my testing at this point.
I have tested the various 2 GB configurations (claimed by both Supermicro AND NewEgg as the maximum possible configuration) and the 4 GB configuration (claimed, without proof, by Intel as the maximum possible configuration, but confirmed by my testing) and each works without any issues.
This "hack" is, therefore, completed, in my eyes.
FWIW, I have all four DSDTs in my /Extra folder.
To boot with 1 GB installed, add the boot argument DSDT="1GB-dsdt.aml".
To boot with 2 GB installed, add the boot argument DSDT="2GB-dsdt.aml".
To boot with 3 GB installed, add the boot argument DSDT="3GB-dsdt.aml".
To boot with 4 GB installed, add the boot argument DSDT="4GB-dsdt.aml".
Of course, this will require renaming the various DSDTs.
As 4 GB is my standard configuration, the default DSDT, dsdt.aml, is the 4 GB DSDT.
Were 2 GB to be my standard configuration, the default DSDT, dsdt.aml, would be the 2 GB DSDT.
For FUTURE reference, it is the best practice to grab the "raw" DSDT using the intended physical configuration, lest one get bitten in the a$$ by this or a similar issue. For each RAM configuration (1 GB, 2 GB, 3 GB or 4 GB), the very first OperationRegion statement is different.