달력

1

« 2025/1 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
2009. 12. 6. 19:24

Code injection via DSDT for NVIDIA graphics Hackintosh/DSDT2009. 12. 6. 19:24

Created by Team EvOSX86
In this third guide, board and add to our DSDT code, graphics injection that will enable us to stop using Efi strings or injectors
Nvidia video card.
* Note: We've had success with this technique for some GMA950, ATI X3100 and some of the series X1xxx but not yet in HD.
Tools needed:
Ioregistry explorer
Nvidia graphics card working 100% including video outputs needed (QE and Hardware CI).
Having previously read chapter one and two of the guide
Content:
1. How to recognize where our video card in the registry and its associated devices.
2. Decompilation file and added COFIG DSDT.aml chart.
2a. The loader code.
3. Comparison of our code with Ioreg added Nvcaps, reg and renamed.
4. Basic structure of video devices and the DSDT added to our code.
4a. Example portable.
4b. Example computer tower.
5. Compiling and testing.
APPENDIX: How to clean our DSDT video inputs nonfunctional
1. How to recognize where our video card and registration devices
partners.
After downloading the program Ioregistry explorer, executive, we walk the tree of entries until we find the reference for our
video card, usually tends to be quite clear:
This example is from a laptop with a 256MB Nvidia 8600GT using the latest patches as Nvinject video and injector.
Pic1

As you will see, is not marked in green line corresponds to the card, but the upper, and has an explanation: in the DSDT code does not find his name, but with
the device that houses it.
Let me explain a bit these devices:
Marked in red is the AGP device @ 1, which depends on PCI @ 0, this device houses a device called a sub-VID @ 0, which is our video card.
In turn, the device VID @ 0 contains other devices that do not see, such as LCD, VGA, etc.
2. Decompilation of the code and added dsdt.aml chart.

Assuming that prior to this guide you have got to have a fixed DSDT and operational (HPET and RTC patched etc ...) you make a backup file and DSDT.aml
We have to work on.
In previous guides we have spoken of the binary called "iasl" found inside the folder "tools" created by the patcher Fassler. I repeat the recommendation that
copieis this file in / usr / bin with this I will always be available when you open the terminal and not have to be Recordade where we have given, or drag it to the terminal
every time we change our archive dst.dsl
That said, having copied the binary to start with where we mentioned decompilation of DSDT.aml:
Open terminal as root logueamos us and agree to the folder where we alamacenado the DSDT (cd "path to the folder")
once inside type in "-d iasl dsdt.aml"
This will create DSDT.dsl, we make a copy for backup and have it move away from the tools folder to avoid overcrowding of.
Now prodeas DSDT.dsl edit using a text editor of our choice (suggested textmate)
For this example we will use a DSDT from a laptop.
Note: The code marked in red is not used.
   
The blue outlines the part that we must adapt to our video card.



CODE

Device (PEGP)  

  {

  Name (_ADR, 0x00010000)

  Device (GFX0)

  {

  Name (_ADR, Zero)

  Name (_SUN, One)

  Method (_DSM, 4, NotSerialized)

  {

  Store (Package (0x1A)

  {

  "@0,compatible",

  Buffer (0x0B)

  {

  "NVDA,NVMac"

  },

  "@0,device_type",

  Buffer (0x08)

  {

  "display"

  },

  "@0,name",

  Buffer (0x0F)

  {

  "NVDA,Display-A"

  },

  "@1,compatible",

  Buffer (0x0B)

  {

  "NVDA,NVMac"

  },

  "@1,device_type",

  Buffer (0x08)

  {

  "display"

  },

  "@1,name",

  Buffer (0x0F)

  {

  "NVDA,Display-B"

  },

  "NVCAP",   <----------------   Nuestro NVCAP para salidas múltiples extraído de IOREG.

  Buffer (0x18)

  {

  /* 0000 */   0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,

  /* 0008 */   0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

  /* 0010 */   0x00, 0x00, 0x00, 0x00

  },

  "NVPM",   <----------------   Nuestro NVPM (gestión de energía), normalmente no hay que cambiarlo, pero es bueno compararlo en IOREG.

  Buffer (0x20)

  {

  /* 0000 */   0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

  /* 0008 */   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

  /* 0010 */   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

  /* 0018 */   0x00, 0x00, 0x00, 0x00

  },

  "VRAM,totalsize",

  Buffer (0x04)

  {

     0x00, 0x00, 0x00, 0x20

  },

   "device_type",

  Buffer (0x0D)

  {

  "NVDA,GeForce"

  },

  "model",

     Buffer (0x1F)   <----------------   Dependerá de la longitud del nombre + los espacios + 1.

     {

  "Nvidia GeForce 8600M GS 256 MB"   <----------------   El nombre de nuestra tarjeta y su memoria (a vuestra elección).

  },

   "rom-revision",

  Buffer (0x20)

     {

  "DSDT ROM v.1a #irc.osx86.es (c)"

  },

  "reg",   <----------------   Nuestro REG extraído de IOREG.

   Buffer (0x78)

   {

  /* 0000 */   0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,

/* 0008 */   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

/* 0010 */   0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x01, 0x02,

/* 0018 */   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

/* 0020 */   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,

/* 0028 */   0x14, 0x00, 0x01, 0x42, 0x00, 0x00, 0x00, 0x00,

/* 0030 */   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

/* 0038 */   0x00, 0x00, 0x00, 0x10, 0x1C, 0x00, 0x01, 0x02,

/* 0040 */   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

/* 0048 */   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,

/* 0050 */   0x24, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00,

/* 0058 */   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

/* 0060 */   0x80, 0x00, 0x00, 0x00, 0x30, 0x00, 0x01, 0x02,

/* 0068 */   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

/* 0070 */   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00

  }

  }, Local0)

  DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))

  Return (Local0)

  }

  }

  }

    

Renowned for our card in the code outsider.
                                                     
If you look at the letters in blue is suggested, you will see that marked the buffer and the name of the card, why?, It is simple, you will have to change the name of the card
for yours, and the buffer indicating the number of characters (including spaces) is in the name quoted 1 if you change the name but not the buffer, the
compilation will fail.
How to find the buffer (which is also in hexadecimal).
It is very simple, we need a converter decimal to hexadecimal and vice versa.
A site that you can come very convenient is this:
http://www.parkenet.com/apl/HexDecConverter.html
or this:
http://www.paulschou.com/tools/xlate/
Well, he began:
Sample buffer for the line "Nvidia GeForce 8600M GS 256MB, the number of letters and spaces contained here is 30 (decimal), add 1 to the result (actually it
The problem is that the account number starts from zero), which gives us 31, using the websites listed above, we put 31 in decimal and as a result gives us 1F
hexadecimal, ie, the buffer used.
If we change the name to our card, we use the same approach to calculate the size of the buffer.

2a. The loader code.

We will give an overview of the concept of loader code already discussed in the previous guide.
Our code is not ACPI is a string of information that add to the ACPI code, and if we as-is, our record's not OSX not being charged this compatible
ACPI, so this is loaded, we must use a "shipper" which is nothing more than a bit of code that define our entry code and allow its load by
system.
Where to insert the "shipper"?
This is simple, you must seek with the text editor area code _WAK called, and when the definition of it, fit the loader code.
Charger Code:


CODE

Method (DTGP, 5, NotSerialized)

{

If (LEqual (Arg0, Buffer (0x10)

{

/* 0000 */ 0xC6, 0xB7, 0xB5, 0xA0, 0x18, 0x13, 0x1C, 0x44,

/* 0008 */ 0xB0, 0xC9, 0xFE, 0x69, 0x5E, 0xAF, 0x94, 0x9B

}))

{

If (LEqual (Arg1, One))

{

If (LEqual (Arg2, Zero))

{

Store (Buffer (One)

{

0x03

}, Arg4)

Return (One)

}

If (LEqual (Arg2, One))

{

Return (One)

}

}

}

Store (Buffer (One)

{

0x00

}, Arg4)

Return (Zero)

}


Cargo Area:
The code in this area will depend on the machine, and basically you have to find the end _WAK code, which ends:


CODE

Return (Package (0x02)

{

Zero,

Zero

})

}


I include below the code loader.
EXAMPLE:
More cargo area shipper:



CODE

Method (_WAK, 1, NotSerialized)

{

P8XH (One, 0xAB)

If (LOr (LEqual (Arg0, 0x03), LEqual (Arg0, 0x04)))

{

If (And (CFGD, 0x01000000))

{

If (LAnd (And (CFGD, 0xF0), LEqual (OSYS, 0x07D1)))

{

TRAP (0x3D)

}

}

}

If (LEqual (RP2D, Zero))

{

Notify (\_SB.PCI0.RP02, Zero)

}

If (LEqual (Arg0, 0x03)) {}

If (LEqual (Arg0, 0x04))

{

\_SB.PCI0.LPCB.EC0.SELE ()

}

P8XH (Zero, 0xCD)

Return (Package (0x02)

{

Zero,

Zero

})

}

Method (DTGP, 5, NotSerialized)

{

If (LEqual (Arg0, Buffer (0x10)

{

/* 0000 */ 0xC6, 0xB7, 0xB5, 0xA0, 0x18, 0x13, 0x1C, 0x44,

/* 0008 */ 0xB0, 0xC9, 0xFE, 0x69, 0x5E, 0xAF, 0x94, 0x9B

}))

{

If (LEqual (Arg1, One))

{

If (LEqual (Arg2, Zero))

{

Store (Buffer (One)

{

0x03

}, Arg4)

Return (One)

}

If (LEqual (Arg2, One))

{

Return (One)

}

}

}

Store (Buffer (One)

{

0x00

}, Arg4)

Return (Zero)

}


Salváis the file and compile to see if there were errors in the code.
Open the terminal, as root logueamos us and tune into the DSDT folder (cd "path to the folder) then type
iasl-f dsdt.dsl

If errors occur is that you put the wrong charger, if warnings occur, is that it may come before, not do them much attention now.
If no error occurs, delete the file that was generated DSDT.aml and continued work within DSDT.dsl
3. Comparison of our code with Ioreg added Nvcaps, reg and
renamed.
We now proceed to seek the necessary data on our IOREG for insertion into each unit in the code.
NVCAPS or seek first the configuration of the outputs of our video card and NVPM or energy management.
We opened the IOREG and seek our video card, pointing device and look for the entry child NVCAP and NVPM:


Pic2

Once we have NVCAP values and NVPM, amend our code.
Now look at the value of the input REG:


Pic 3

Change value of REG in the graphical code, so you get the real value is in our system.

4. Basic structure of video devices and the DSDT added
of our code.
4a. Example using a laptop.
Let's open the DSDT.dsl and look through the keyword "device" until we get to:



CODE

Device (AGP)




We will find the device tree in this way (different colors for each device):
In short without our code:


CODE

Device (AGP) (Dispositivo madre)

{

Nombre y dirección.

DEVICE VID0 (Dispositivo hijo)

{

   Nombre y dirección de VID0

Inicio del método

{

   Método

   }

   Device (TV)

Device (CRT)

   Device (LCD)

Device (DVI)

}

}



Briefly our code:


CODE

Device (AGP) (Dispositivo madre)

{

Nombre y dirección.

DEVICE VID0 (Dispositivo hijo)

{

   Nombre y dirección de VID0

Inicio del método

{

   Método

   }

   Device (TV)

Device (CRT)

   Device (LCD)

Device (DVI)

Device (GFX) <-------- Nuestro codigo.

}

}

Extended:



CODE

Device (AGP)

{

Name (_ADR, 0x00010000)

Device (VID)

{

Name (_ADR, Zero)

Method (_DOS, 1, NotSerialized)

{

Store (Arg0, MIS4)

SMI (0x9E, MIS4)

}

Method (_DOD, 0, NotSerialized)

{

Store (SMI (0x6D, Zero), Local0)

If (LEqual (Local0, One))

{

Return (Package (0x04)

{

0x00010100,

0x00010200,

0x00010110,

0x00010210

})

}

Else

{

Return (Package (0x04)

{

0x00010100,

0x00010200,

0x00010118,

0x00010120

})

}

}

Device (TV)

{

Method (_ADR, 0, NotSerialized)

{

Return (0x0200)

}

Method (_DCS, 0, NotSerialized)

{

Store (SMI (0x8E, 0x04), Local0)

Return (Local0)

}

Method (_DGS, 0, NotSerialized)

{

Store (SMI (0x99, 0x04), Local0)

Return (Local0)

}

Method (_DSS, 1, NotSerialized)

{

DSS (0x04, Arg0)

}

}

Device (CRT)

{

Method (_ADR, 0, NotSerialized)

{

Return (0x0100)

}

Method (_DCS, 0, NotSerialized)

{

Store (SMI (0x8E, 0x02), Local0)

Return (Local0)

}

Method (_DGS, 0, NotSerialized)

{

Store (SMI (0x99, 0x02), Local0)

Return (Local0)

}

Method (_DSS, 1, NotSerialized)

{

DSS (0x02, Arg0)

}

}

Device (LCD)

{

Method (_ADR, 0, NotSerialized)

{

Store (SMI (0x6D, Zero), Local0)

If (LEqual (Local0, One))

{

Return (0x0110)

}

Else

{

Return (0x0118)

}

}

Method (_DCS, 0, NotSerialized)

{

Store (SMI (0x8E, One), Local0)

Return (Local0)

}

Method (_DGS, 0, NotSerialized)

{

Store (SMI (0x99, One), Local0)

Return (Local0)

}

Method (_DSS, 1, NotSerialized)

{

DSS (One, Arg0)

}

Name (BTVL, 0x64)

Name (DBCL, Package (0x0A) {})

Method (_BCL, 0, NotSerialized)

{

SX10 ()

SX30 (0x19)

SX30 (Zero)

SX11 ()

Store (SX40 (), Index (DBCL, Zero))

Store (SX40 (), Index (DBCL, One))

Store (SX40 (), Index (DBCL, 0x02))

Store (SX40 (), Index (DBCL, 0x03))

Store (SX40 (), Index (DBCL, 0x04))

Store (SX40 (), Index (DBCL, 0x05))

Store (SX40 (), Index (DBCL, 0x06))

Store (SX40 (), Index (DBCL, 0x07))

Store (SX40 (), Index (DBCL, 0x08))

Store (SX40 (), Index (DBCL, 0x09))

SX12 ()

Return (DBCL)

}

Method (_BCM, 1, NotSerialized)

{

SX10 ()

SX30 (0x19)

SX30 (One)

SX30 (Arg0)

Store (Arg0, BTVL)

SX11 ()

SX12 ()

}

Method (_BQC, 0, NotSerialized)

{

SX10 ()

SX30 (0x19)

SX30 (0x02)

SX11 ()

Store (SX40 (), Local0)

Store (Local0, BTVL)

SX12 ()

Return (Local0)

}

}

Device (DVI)

{

Method (_ADR, 0, NotSerialized)

{

Store (SMI (0x6D, Zero), Local0)

If (LEqual (Local0, One))

{

Return (0x0210)

}

Else

{

Return (0x0120)

}

}

Method (_DCS, 0, NotSerialized)

{

Store (SMI (0x8E, 0x08), Local0)

Return (Local0)

}

Method (_DGS, 0, NotSerialized)

{

Store (SMI (0x99, 0x08), Local0)

Return (Local0)

}

Method (_DSS, 1, NotSerialized)

{

DSS (0x08, Arg0)

}

}

Device (GFX0) <------------- Comienzo de nuestro codigo

{

Name (_ADR, Zero)

Name (_SUN, One)

Method (_DSM, 4, NotSerialized)

{

Store (Package (0x1A)

{

"@0,compatible",

Buffer (0x0B)

{

"NVDA,NVMac"

},

"@0,device_type",

Buffer (0x08)

{

"display"

},

"@0,name",

Buffer (0x0F)

{

"NVDA,Display-A"

},

"@1,compatible",

Buffer (0x0B)

{

"NVDA,NVMac"

},

"@1,device_type",

Buffer (0x08)

{

"display"

},

"@1,name",

Buffer (0x0F)

{

"NVDA,Display-B"

},

"NVCAP",

Buffer (0x18)

{

/* 0000 */ 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,

/* 0008 */ 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

/* 0010 */ 0x00, 0x00, 0x00, 0x00

},

"NVPM",

Buffer (0x20)

{

/* 0000 */ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

/* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

/* 0018 */ 0x00, 0x00, 0x00, 0x00

},

"VRAM,totalsize",

   Buffer (0x04)

   {

0x00, 0x00, 0x00, 0x20

},

"device_type",

Buffer (0x0D)

{

"NVDA,GeForce"

},

"model",

Buffer (0x1F)

{

"Nvidia GeForce 8600M GS 256 MB"

},

"rom-revision",

Buffer (0x20)

{

"DSDT ROM v.1a #irc.osx86.es (c)"

},

"reg",

   Buffer (0x78)

{

/* 0000 */ 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,

   /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

   /* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x01, 0x02,

   /* 0018 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

   /* 0020 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,

   /* 0028 */ 0x14, 0x00, 0x01, 0x42, 0x00, 0x00, 0x00, 0x00,

   /* 0030 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

   /* 0038 */ 0x00, 0x00, 0x00, 0x10, 0x1C, 0x00, 0x01, 0x02,

   /* 0040 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

   /* 0048 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,

   /* 0050 */ 0x24, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00,

   /* 0058 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

   /* 0060 */ 0x80, 0x00, 0x00, 0x00, 0x30, 0x00, 0x01, 0x02,

   /* 0068 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

   /* 0070 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00

}

}, Local0)

DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))

Return (Local0)

}

   } <------------- Fin de nuestro codigo (No incluir esta reseña en el DSDT)

}

}


4b. Example using a computer tower.
We will seek to explore our IOregistry video card, and here we notice a difference with the code on the laptop, and is as follows:
In the computer tower, we will find the video devices that we saw in the previous example, LCD, CRT etc., except in cases of integrated graphics, we
ioreg to look at the site of our graph, usually it be under some PCI devices such as PC1, P0P1 etc. .. depends
motherboard manufacturer, but sometimes we do not see the device with a clear demarcation in ioreg and appears as PCI2BRIDGE or in this case PCIBRIDGE
add the entry directly into the ICP as all these devices have the device "mother" to the main PCI ..... In plates with integrated graphics
we can find something closer to the example of the laptop, but we must not fall into errors, the code must be added in the code
for the device that is located not on our card and the integrated video board.
Set in the PCI code.



CODE

Device (PCI0)

{

Name (_HID, EisaId ("PNP0A03"))

Name (_ADR, 0x00)

Name (_UID, 0x01)

Name (_BBN, 0x00)

Method (_S3D, 0, NotSerialized)

{

If (LEqual (OSFL, 0x02))

{

Return (0x02)

}

Else

{

Return (0x03)

}

}

   Method (_STA, 0, NotSerialized)

{

Return (0x0F)

}

Method (_CRS, 0, NotSerialized)

{

Name (BUF0, ResourceTemplate ()

{


The code continues much longer, but we will take this as a reference.
Here we would have our code added to the PCI video:



CODE

Device (PCI0)

{

Name (_HID, EisaId ("PNP0A03"))

Name (_ADR, 0x00)

Name (_UID, 0x01)

Name (_BBN, 0x00)

   Device (PEGP)

{

Name (_ADR, 0x00060000)

Device (GFX0)

{

Name (_ADR, Zero)

Name (_SUN, One)

Method (_DSM, 4, NotSerialized)

{

Store (Package (0x1C)

{

   "AAPL,slot-name",

   Buffer (0x0D)

   {

"PCI-E Slot-1"

}, },

"@0,compatible",

Buffer (0x0B)

{

"NVDA,NVMac"

},

"@0,device_type",

Buffer (0x08)

{

"display"

},

"@0,name",

Buffer (0x0F)

{

"NVDA,Display-A"

},

"@1,compatible",

Buffer (0x0B)

{

"NVDA,NVMac"

},

"@1,device_type",

Buffer (0x08)

{

"display"

},

"@1,name",

Buffer (0x0F)

{

"NVDA,Display-B"

},

"NVCAP",

Buffer (0x18)

{

/* 0000 */ 0x04, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00,

/* 0008 */ 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07,

/* 0010 */ 0x00, 0x00, 0x00, 0x00

},

"NVPM",

Buffer (0x20)

{

/* 0000 */ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

/* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

/* 0018 */ 0x00, 0x00, 0x00, 0x00

},

"VRAM,totalsize",

Buffer (0x04)

{

0x00, 0x00, 0x00, 0x20

},

"device_type",

Buffer (0x0D)

{

"NVDA,GeForce"

},

"model",

Buffer (0x22)

{

"POV Nvidia GeForce 8800 GT 512 MB"

},

"rom-revision",

Buffer (0x23)

{

"DSDT ROM v.1a by #irc.osx86.es (c)"

},

"reg",

Buffer (0x78)

{

/* 0000 */ 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,

/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

/* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x01, 0x02,

/* 0018 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

/* 0020 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,

/* 0028 */ 0x14, 0x00, 0x01, 0x42, 0x00, 0x00, 0x00, 0x00,

/* 0030 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

/* 0038 */ 0x00, 0x00, 0x00, 0x10, 0x1C, 0x00, 0x01, 0x02,

/* 0040 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

/* 0048 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,

/* 0050 */ 0x24, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00,

/* 0058 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

/* 0060 */ 0x80, 0x00, 0x00, 0x00, 0x30, 0x00, 0x01, 0x02,

/* 0068 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,

/* 0070 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00

}

}, Local0)

DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))

Return (Local0)

}

}

}

Method (_S3D, 0, NotSerialized)

{

If (LEqual (OSFL, 0x02))

{

Return (0x02)

}

Else

{

Return (0x03)

}

}

Method (_STA, 0, NotSerialized)

{

Return (0x0F)

}


5. Compiling and testing.

Now we only save the file and compile it to check for syntax errors or not.
Open the terminal, as root logueamos us and tune into the folder where we have our DSDT (cd "path to folder") Keyboards
iasl dsdt.dsl

If errors occur is that you put the wrong charger, if warnings occur, is that it may come before, not do them much attention now.
If you have them, make certain that brackets have not been orphaned, or deleted.
If not, you can rename the file you have in DSDT.aml the root of the system to "DSDTold.aml" and copy the new (to open created when compiling) to the root of the disk.
We delete the injector that we are using (Nvkush, Nvinject or NVdarwin) or EFI string if we use this method and proceed to reboot. If our site has
been right and proper coding of our graphics should be fully recognized and activated yet.
If you fail the new DSDT.aml (eg freezes the system), you can boot the system using the command DSDTold.aml DSDT = (introducidlo when you see the boot
chameleon by pressing F8 and selecting the installation of Leopard).
We hope that this third guide on the possibilities of DSDT system has been of your liking.
We will be updating the guidelines as new data have ....


ANNEX
In this annex, see how to optimize a laptop, removing the graphic code is not used by OSX, obtaining with this a greater fluidity in the video
because the register is only the code that is functional, our code added.
In the summary view can better see the tree of devices, so we can determine who should stay and who must not be erased to useful code and
prepare for the inclusion of our code of video.
In summary, our code should look like in after deleting unnecessary devices:
BEFORE:



CODE

Device (AGP)

{

Nombre y dirección.

Cabezera de VID0

{

   Nombre y dirección de VID0

Inicio del método

{

   Método

   }

   Device (TV)

Device (CRT)

   Device (LCD)

Device (DVI)

}

}


LATER:



CODE

Device (AGP)

{

Nombre y dirección.

Cabezera de VID0

{

   Nombre y dirección de VID0

Inicio del método

{

   Método

   }

   }

}

}


Extended BEFORE:



CODE

Device (AGP)

{

Name (_ADR, 0x00010000)

Device (VID)

{

Name (_ADR, Zero)

Method (_DOS, 1, NotSerialized)

{

Store (Arg0, MIS4)

SMI (0x9E, MIS4)

}

Method (_DOD, 0, NotSerialized)

{

Store (SMI (0x6D, Zero), Local0)

If (LEqual (Local0, One))

{

Return (Package (0x04)

{

0x00010100,

0x00010200,

0x00010110,

0x00010210

})

}

Else

{

Return (Package (0x04)

{

0x00010100,

0x00010200,

0x00010118,

0x00010120

})

}

}

Device (TV)

{

Method (_ADR, 0, NotSerialized)

{

Return (0x0200)

}

Method (_DCS, 0, NotSerialized)

{

Store (SMI (0x8E, 0x04), Local0)

Return (Local0)

}

Method (_DGS, 0, NotSerialized)

{

Store (SMI (0x99, 0x04), Local0)

Return (Local0)

}

Method (_DSS, 1, NotSerialized)

{

DSS (0x04, Arg0)

}

}

Device (CRT)

{

Method (_ADR, 0, NotSerialized)

{

Return (0x0100)

}

Method (_DCS, 0, NotSerialized)

{

Store (SMI (0x8E, 0x02), Local0)

Return (Local0)

}

Method (_DGS, 0, NotSerialized)

{

Store (SMI (0x99, 0x02), Local0)

Return (Local0)

}

Method (_DSS, 1, NotSerialized)

{

DSS (0x02, Arg0)

}

}

Device (LCD)

{

Method (_ADR, 0, NotSerialized)

{

Store (SMI (0x6D, Zero), Local0)

If (LEqual (Local0, One))

{

Return (0x0110)

}

Else

{

Return (0x0118)

}

} If (LEqual (Local0, One))


Method (_DCS, 0, NotSerialized)

{

Store (SMI (0x8E, One), Local0)

Return (Local0)

}

Method (_DGS, 0, NotSerialized)

{

Store (SMI (0x99, One), Local0)

Return (Local0)

}

Method (_DSS, 1, NotSerialized)

{

DSS (One, Arg0)

}

Name (BTVL, 0x64)

Name (DBCL, Package (0x0A) {})

Method (_BCL, 0, NotSerialized)

{

SX10 ()

SX30 (0x19)

SX30 (Zero)

SX11 ()

Store (SX40 (), Index (DBCL, Zero))

Store (SX40 (), Index (DBCL, One))

Store (SX40 (), Index (DBCL, 0x02))

Store (SX40 (), Index (DBCL, 0x03))

Store (SX40 (), Index (DBCL, 0x04))

Store (SX40 (), Index (DBCL, 0x05))

Store (SX40 (), Index (DBCL, 0x06))

Store (SX40 (), Index (DBCL, 0x07))

Store (SX40 (), Index (DBCL, 0x08))

Store (SX40 (), Index (DBCL, 0x09))

SX12 ()

Return (DBCL)

}

Method (_BCM, 1, NotSerialized)

{

SX10 ()

SX30 (0x19)

SX30 (One)

SX30 (Arg0)

Store (Arg0, BTVL)

SX11 ()

SX12 ()

}

Method (_BQC, 0, NotSerialized)

{

SX10 ()

SX30 (0x19)

SX30 (0x02)

SX11 ()

Store (SX40 (), Local0)

Store (Local0, BTVL)

SX12 ()

Return (Local0)

}

}

Device (DVI)

{

Method (_ADR, 0, NotSerialized)

{

Store (SMI (0x6D, Zero), Local0)

If (LEqual (Local0, One))

{

Return (0x0210)

}

Else

{

Return (0x0120)

}

}

Method (_DCS, 0, NotSerialized)

{

Store (SMI (0x8E, 0x08), Local0)

Return (Local0)

}

Method (_DGS, 0, NotSerialized)

{

Store (SMI (0x99, 0x08), Local0)

Return (Local0)

}

Method (_DSS, 1, NotSerialized)

{

DSS (0x08, Arg0)

}

}

   }

   }



Extended LATER:



CODE

Device (AGP)

{

Name (_ADR, 0x00010000)

Device (VID)

{

Name (_ADR, Zero)

Method (_DOS, 1, NotSerialized)

{

Store (Arg0, MIS4)

SMI (0x9E, MIS4)

}

Method (_DOD, 0, NotSerialized)

{

Store (SMI (0x6D, Zero), Local0)

If (LEqual (Local0, One))

{

Return (Package (0x04)

{

0x00010100,

0x00010200,

0x00010110,

0x00010210

})

}

Else

{

Return (Package (0x04)

{

0x00010100,

0x00010200,

0x00010118,

0x00010120

})

}

}

   }

}



Obviously, if we are to compile after erasing all those devices, we report a number of errors will disappear as many references as well
that we look for the lines marked as errors and remove them as follows:


CODE

Errores generados al compilar cuando eliminamos el device "LCD":

/Users/xxx/Desktop/pruebas dsdt/Tools/DSDToriginal.dsl 721: Notify (\_SB.PCI0.AGP.VID.LCD, 0x86)

Error 4063 - Object does not exist ^ (\_SB.PCI0.AGP.VID.LCD)

/Users/xxx/Desktop/pruebas dsdt/Tools/DSDToriginal.dsl 726: Notify (\_SB.PCI0.AGP.VID.LCD, 0x87)

Error 4063 - Object does not exist ^ (\_SB.PCI0.AGP.VID.LCD)



We move to the line 721 and 726 as shown and we find:

CODE

If (LGreaterEqual (OSID (), 0x20))

{

If (And (Local0, 0x04))

{

Notify (\_SB.PCI0.AGP.VID.LCD, 0x86)

Notify (\_SB.PCI0.VID.LCD, 0x86)

}

If (And (Local0, 0x02))

{

Notify (\_SB.PCI0.AGP.VID.LCD, 0x87)

Notify (\_SB.PCI0.VID.LCD, 0x87)

}

}



If we remove those two entries, and compile again, the errors are gone.

CODE

If (LGreaterEqual (OSID (), 0x20))

{

If (And (Local0, 0x04))

{

Notify (\_SB.PCI0.VID.LCD, 0x86)

}

If (And (Local0, 0x02))

{

Notify (\_SB.PCI0.VID.LCD, 0x87)

}

}


It is recommended to compile every time you delete an entry, so you can gradually correct our code.
Guide by: Roisoft and Pere

'Hackintosh > DSDT' 카테고리의 다른 글

DSDT 생성  (4) 2010.06.19
8600 GTS 256 MB DSDT  (0) 2010.02.18
Fix'y DSDT for ASUS P5W DH Deluxe and Snow & Leopard  (0) 2009.11.06
Windows용 DSDT 추출 및 Patcher  (0) 2009.10.30
Enabling ACPI, EIST, etc for ASUS P5W DH DELUXE  (0) 2009.10.25
:
Posted by Ritz®™
2009. 12. 6. 14:53

DELL M1210 OS X SETUP Hackintosh/NoteBook2009. 12. 6. 14:53

First of all, Thanks joshms83 and others,

Original Posts is in here

This guide references an image of setup files which I have made available here:

DELL M1210 OS X SETUP IMAGE: http://www.mediafire.com/?jmwxxyo1tht (MediaFire)

Note: The following is also provided as a nicely formatted read-me within the DELL M1210.dmg file attached to this post. The DELL M1210.dmg file also contains all of the patches/kexts/apps you need to follow the steps outlined below.

To help any desperate googlers:

Keywords: dell M1210 osx86 Geforce 7400 go External Monitor Dual Monitor Enable QE/QI Bluetooth Sigmatel 9221 Vanilla 9.0.6 10.5.6

rev. March, 2009.

The files included in this image were used to successfully configure a DELL M1210 Laptop using iDeneb v1.4 10.5.6 distribution and Vanilla 9.6.0 kernel. That is not to say however, that all or any of these files won't work for other configurations...

I've provided a summary of installation options used to get OSx86 running on a properly journaled partition, as well as a series of final install/patch steps to follow once you are successfully booted into OS X.

These files and instructions are simply a collection of other people's work organized and consolidated into a package that is (hopefully) easy to use and follow. I've attempted to provide credit to as many of those people as possible, but I may have missed some given this stuff was collected over several weeks of trial-and-error.

References:
http://www.insanelymac.com/forum/index.php?showtopic=41775 (M1210 Dual Boot Guide)
http://www.insanelymac.com/forum/index.php?showtopic=97966 (Dell Post Installer)

DELL M1210:
- Intel Centrino Duo T7200 @ 2Ghz
- 4GB DDR SDram @ 667Mhz
- NVidia Geforce 7400 Go (64Mb/192Mb)
- Sigmatel 9221 Audio
- Dell Bluetooth 355 2.0 +EDR (Broadcom)
- Dell 1390 (Broadcom) Wireless B/G

Resulting Working Feature Set:
This is a list of hardware/features that your system will support at the end of this process.
- Dual Cores (No need for cpus=1)
- GeForce 7400 QE/QI Enabled, Hardware Acceleration, Internal + External (Dual) Display
- Sigmatel 9221 Audio (Not Choppy)
- Internal Microphone
- Full Bluetooth Support
- Full USB Support
- Full Firewire Support
- Full Airport Wireless Support
- Full Laptop/Battery Support
- Full Intel Speedstep Support
- 5-in-1 Card Reader Support
- System will properly Sleep / Wake.
- Support for Apple Software Update

Issues:
- Intel 3945 A/B/G Wireless card is not supported (as of March 3rd 2009). You must replace it with a Dell 1390 card from Ebay (EASY - approx. $12)
- Shutdown command does not fully shutdown the system. I have identified this to be an issue with the Sigmatel 9221 audio patch and nothing else.
- Internal monitor does not properly recover when the system puts the display to sleep as a result of energy preferences (full system sleep works fine).
- Memory bank/DIMM_B is reporting a speed of 0 MHz. The system however, is reporting all 4GB of RAM.
- Logitech Quickcam (PID:0x08c6) is detected as a USB device by the system profiler, but is not yet supported.
Quickcam Drivers under development @ http://webcam-osx.sourceforge.net/cameras/index.php

Untested:
- ExpressCard Slot


OSx86 - iDeneb v1.4 10.5.6:
Vanilla 9.6.0 Kernel (Default)

Patches (Ready)
Chipset
- ICHx Fixed

Network / Ethernet
- AppleBC440x

Fix
- cpus=1 fix (Temporary)
- BatterManager
- Power_Off Fix

Video / NVidia
-NVKush (Temporary)

Apps
- ASU
- BetterZip
- OSx86 Tools
- Transmission

(OPTIONAL) NTFS Read/Write Support:
Note: While this step is listed as optional, if you are installing any of the provided patches directly from an NTFS partition, it is highly advised that you install full Read/Write support for NTFS drives before proceeding. It is also ideal for dual boot scenarios where you would like full control of your xp/vista partition from within OS X.

1. Install MacFUSE 2.0.3 (Mount and install from the .dmg file provided in the root of this setup image)
2. Install NTFS-3G (Mount and install from the .dmg file provided in the root of this setup image)

*Restart*

Patch Sigmatel Audio:
This step is required for OSX to fully support your Sigmatel 9221 audio and microphone.

1. Install AppleHDAPatcher (Copy AppleHDAPatcher v1.12 app provided in the root of his setup image into your Applications folder)
2. Apply Sigmatel9221 HDA Patch (Drag Sigmatel9221.txt provided in the root of this setup image onto the installed AppleHDAPatcher icon. (takes a while to run))

*Restart*

Install Modified NVinjectGO Extension:
The NVinjectGO v0.2.0 extension provided in this setup image has been modified to provide full QE/Hardware Acceleration/Dual Display support for the GeForce7400 Go. Graphics memory will read 512MB in system profiler, but this does not appear to have any adverse effects on system performance.

Note: "Mirror" mode will not work. Also, attempting to use the [Fn] + [F8] key combination (display mode toggle) will halt the system.

1. Delete NVKush.kext (Drag file to Trash - System/Library/Extensions/NVKush.kext )
2. Launch OSx86 Tools (Applications/iDeneb App/OSx86 Tools)
3. (OSx86 Tools) Install NVinjectGO.kext (Provided in this setup image (modified v0.2.0))
4. (OSx86 Tools) Enable Quartz GL
5. (OSx86 Tools) Run System Maintenance (Set Extensions Permissions, Clear Extensions Cache -> Run Tasks)

*Restart*

Enable Support for Both Cores:
This step will allow us to remove the "cpus=1" and "-f " kernel boot flags from apple.com.Boot.plist enabling and synchronizing both cores. Removing "cpus=1" enables both cores. Removing "-f" appears to correct kernel panic upon resume from sleep.

1. Launch OSx86 Tools (Applications/iDeneb App/OSx86 Tools)
2. (OSx86 Tools) Install Kernel ("mach_kernel" provided in this setup image under "/mach_kernel [DELL M1210] [Vanilla 9.6.0] [Dual Core]/mach_kernel")
3. (OSx86 Tools) Run System Maintenance (Repair Permissions, Set Extensions Permissions, Clear Extensions Cache -> Run Tasks)

*Restart*

4. Install pList Edit Pro (Mount and install from the .dmg file located on this setup image)
5. Open com.apple.Boot.plist (Library/Preferences/com.apple.Boot.plist)
6. Remove "cpus=1 -f" from kernel flags (Under <Kernel> change "<string>cpus=1 -f</string>" to "<string></string>")

*Restart*

If you system boots up normal, with no jittery mouse or sound, you are running properly with dual core support. While you shouldn't experience any problems, in the event that do, you can restart again, press any key during the darwin boot countdown and provide "cpus=1 -f" flags to boot back into stable system and undo the changes to your com.apple.Boot.plist file.


Install 5-in-1 Card Reader Support:
This kext installs support for the 5-in-1 card reader. I have used it to successfully mount a 4GB SD Card.

1. Launch OSx86 Tools (Applications/iDeneb App/OSx86Tools)
2. Install IOSDHCIBlockDevice.kext (Located in the 5-in-1 Card Reader directory included with this setup image)
3. Run System Maintenance (Set Extension Permissions, Clear Extensions Cache -> Run Tasks)

*Restart*

(OPTIONAL) Install Apple Software Update Support:
Notes originally provided with this mention needing chameleon 1.0.11 installed or higher prior to installing this feature. I did not try to update without this feature, but I did successfully patch my OS X installation using Apple Software Update after installing it.

1. Launch OSx86 Tools (Applications/iDeneb App/OSx86 Tools)
2. Install AppleDecrypt.kext (Located in the Apple Updater Support directory included with this setup image)
2. Install Disabler.kext (Located in the Apple Updater Support directory included with this setup image)
3. Run System Maintenance (Set Extension Permissions, Clear Extensions Cache -> Run Tasks)

*Restart*


(OPTIONAL) Install Intel Speedstep Extension:
I'm 50% sure that Speedstep is working without this step. Applying this step however, does not have any adverse effect on system performance, and allows you to visually confirm speedstep functionality via the included SpeedStep GUI application.

1. Launch OSx86 Tools (Applications/iDeneb App/OSx86 Tools)
2. Install IntelEnhancedSpeedStep.kext (Located in the SpeedStep Support directory included with this setup image)
3. Run System Maintenance (Set Extension Permissions, Clear Extensions Cache -> Run Tasks)
4. Install SpeedStep Application (Drag the SpeedStep included with this setup image into your Applications folder)

*Restart*

5. Launch SpeedStep Application (Run the installed SpeedStep app from your Applications folder to confirm working SpeedStep)

If you experience any problems (Kernel Panic, etc...) after installing IntelEnhancedSpeedStep.kext, press any key during the darwin boot countdown and provide the boot flag "-x". This will boot you into OS X "Safe Boot" and allow you to uninstall IntelEnhancedSpeedStep.kext from your system/library/extensions folder (by dragging it into the trash).

(OPTIONAL) Install Clamshell Display:
This step installs an extension that will put the system to sleep when you close the lid. It works 100%, but I'm not sure how I feel about it - so I marked it optional.

1. Launch OSx86 Tools (Applications/iDeneb App/OSx86Tools)
2. Install ClamshellDisplay.kext (Located in the Clamshell Display directory included with this setup image)
3. Run System Maintenance (Set Extension Permissions, Clear Extensions Cache -> Run Tasks)

*Restart*

If you decide you don't like this. You can remove it by dragging the ClamshellDisplay.kext file located in your System/Library/Extensions folder into the trash and restarting.


At this point you should have a pretty functional OS X setup.

Dual Boot Preferences/Notes:

- You can assign a more windows like behavior to your [CTRL] and [ALT] keys by swapping their key functions in System Preferences.
(Located under System Preferences -> Keyboard and Mouse -> Keyboard -> Modifier Keys)

- If you are using a bluetooth keyboard and mouse, they can be configured to work in both Vista and OS X without the need to constantly re-pair them:
1. "Connect" (not "Pair") to your device in vista (I use BlueSoleil v6 Bluetooth Stack).
2. In OS X, set up/connect your mouse using the "mouse" option (as you normally would) within bluetooth preferences.
3. In OS X, set up/connect to your keyboard using the "Any Device" option.
4. On the device locater screen, click "Passkey Options" and select "Do not use a passkey"
5. Proceed with the connection... select "use this as a remote control for my computer"
6. Future connection requests from your keyboard should be automatically accepted by OS X.

Note: I performed this with a Logitech MX5000 keyboard and Logitech MX1000 mouse (both bluetooth).


DELL M1210 OS X SETUP IMAGE: http://www.mediafire.com/?jmwxxyo1tht (MediaFire)



'Hackintosh > NoteBook' 카테고리의 다른 글

Samsung Q210-FS02  (0) 2009.12.15
Sony Vaio CR11z, CR21z, CR31z with ATI X2300 and Snow Leopard  (0) 2009.12.07
HP 2133 with OSX?  (0) 2009.11.22
HP CQ40  (0) 2009.11.05
Toshiba Satellite A300-1N8  (0) 2009.10.29
:
Posted by Ritz®™
2009. 11. 22. 09:08

Chameleon-2.0-RC3-r658-bin Hackintosh/Chameleon2009. 11. 22. 09:08

1. download in ✒here.

    download pkg ✒here.  

2. Some guide as followings.

About the new options

SMBIOS
Finally you can specify your smbios.plist location using a device selector prefix like “SMBIOS=rd(0,0)/Extra/smbios.plist”.

VideoROM
You can pass an alternate video ROM image file to the system.

VBIOS
Using this boolean switch, you can control the injection of your video BIOS to device-properties. We got various reports if this switch is really needed to make your graphics device handled correctly by the system.

You can use the same booter partition for both Leopard and the recent Snow Leopard; to do that you can put your OS version specific KEXTs/MKEXT this way:
/Extra/10.(5|6)/Extensions[.mkext]

3.So I make a following folder for switching Windows, Snow and Leopard OSX even Linux.

* 다음 그림과 같이 폴더를 만들어주면 부트로더 하나로 Leopard와 Snow Leopard를  멀티부팅할수 있다.

4. Boot Helper

The boot: prompt waits for you to type advanced startup options.

If you don't type anything, the computer continues starting up normally. It

uses the kernel and configuration files on the startup device, which it also

uses as the root device.


Advanced startup options use the following syntax:


   [device]<kernel> [arguments]


Example arguments include


device: rd=<BSD device name> (e.g. rd=disk0s2)

   rd=*<IODeviceTree path> (e.g. rd=*/PCI0@0/CHN0@0/@0:1)


kernel: kernel name (e.g. "mach_kernel" - must be in "/" )


flags: -v (verbose) -s (single user mode),

   -x (safe mode) -F (ignore boot configuration file)


"Graphics Mode"="WIDTHxHEIGHTxDEPTH" (e.g. "1024x768x32")


kernel flags (e.g. debug=0x144)

io=0xffffffff (defined in IOKit/IOKitDebug.h)


Example: mach_kernel rd=disk0s1 -v "Graphics Mode"="1920x1200x32"


If the computer won't start up properly, you may be able to start it up using

safe mode. Type -x to start up in safe mode, which ignores all cached

driver files.


Special booter hotkeys:

F5 Rescans optical drive.

F10 Scans and displays all BIOS accessible drives.

Special booter commands:

?memory Displays information about the computer's memory.

?video Displays VESA video modes supported by the computer's BIOS.

?norescan Leaves optical drive rescan mode.


Additional useful command-line options:

config=<file> Use an alternate Boot.plist file.


Options useful in the com.apple.Boot.plist file:

Wait=Yes|No Prompt for a key press before starting the kernel.

"Quiet Boot"=Yes|No Use quiet boot mode (no messages or prompt).

Timeout=8 Number of seconds to pause at the boot: prompt.

"Instant Menu"=Yes Force displaying the partition selection menu.


"Default Partition" Sets the default boot partition,

   =hd(x,y) where 'x' is the disk number, 'y' the partition number.


GUI=No Disable the GUI (enabled by default).

"Boot Banner"=Yes|No Show boot banner in GUI mode (enabled by default).

"Legacy Logo"=Yes|No Use the legacy grey apple logo (disabled by default).

GraphicsEnabler=Yes|No Automatic device-properties generation for graphics cards.

VideoROM=<file> Use an alternate ROM image (default path: /NVIDIA.ROM).

VBIOS=Yes|No Inject VBIOS to device-properties.


EthernetBuiltIn=Yes|No Automatic "built-in"=yes device-properties generation

   for ethernet interfaces.


USBBusFix=Yes Enable the EHCI and UHCI fixes (disabled by default).

EHCIacquire=Yes Enable the EHCI fix (disabled by default).

UHCIreset=Yes Enable the UHCI fix (disabled by default).


Wake=No Disable wake up after hibernation (enbaled by default).

ForceWake=Yes Force using the sleepimage (disabled by default).

WakeImage=<file> Use an alternate sleepimage file

   (default path is /private/var/vm/sleepimage).


DropSSDT=Yes Skip the SSDT tables while relocating the ACPI tables.

DSDT=<file> Use an alternate DSDT.aml file

   (default path: /DSDT.aml /Extra/DSDT.aml)


SMBIOS=<file> Use an alternate smbios.plist file

   (default path: /smbios.plist /Extra/smbios.plist

   bt(0,0)/Extra/smbios.plist).


SMBIOSdefaults=No Don't use the Default values for SMBIOS overriding

   if smbios.plist doesn't exist, factory

   values are kept.


"Scan Single Drive" Scan the drive only where the booter got loaded from.

   =Yes|No Fix rescan issues when using a DVD reader in AHCI mode.

Rescan=Yes Enable CD-ROM rescan mode.

"Rescan Prompt"=Yes Prompts for enable CD-ROM rescan mode.



3. Installation
Open the Terminal and command as Followings

$ sudo dd if=boot1h of=/dev/rdisk0s2

$ sudo cp boot /

$ sudo cp -Rf i386 /usr/standalone/

If you used MBR Partition, you need install boot0 to the MBR, additionally:

$ sudo fdisk -f boot0 -u -y /dev/rdisk0

Followings is com.apple.Boot.plist:

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">

<plist version="1.0">

<dict>

<key>Graphics Mode</key>

<string>1280x960x60</string>

<key>GraphicsEnabler</key>

<string>Yes</string>

<key>Kernel</key>

<string>mach_kernel</string>

<key>Kernel Flags</key>

<string></string>

<key>SMBIOS</key>

<string>/Extra/smbios.plist</string>

<key>USBBusFix</key>

<string>Yes</string>

<key>VBIOS</key>

<string>Yes</string>

<key>VideoROM</key>

<string>nVidia8600GTS.rom</string>

</dict>

</plist>


When Chameleon loaded kexts following is the procedure.
➊ - /Extra/Extensions/
➋ - /Extra/0.(5/6)/extensions.mkext.  It depends on OS Version.
➌ - It finally load /System/Library/Extensions.mkext



:
Posted by Ritz®™
2009. 11. 21. 07:58

Lizard & BootCDMaker in DARWINx86 software Hackintosh/Tool2009. 11. 21. 07:58



1. Lizard

Advanced edition

Manage chameleon boot parameters and smbios informations with Lizard’s UI

Simple ISO Creator

Build Your custom ISO with a simple files drag’n’drop

Learn

Lizard brings a full informative help for all parameters and some others usefull features...
Preview on Youtube

Thanks sonotone for Guide.

Include:

- com.apple.Boot.plist interface

- smbios.plist interface (the app follow your custom smbios.plist path if needed)

- Chameleon version Check

- Save parameters without modifying permissions access

- Themes management (read the excellent Blackosx's post about themes here: http:/ / forum.voodooprojects.org/index.php/topic,388.0.htmlact=post&do=new_post&f=157)

- Intuitive edition (disable incompatible fields...etc)

- Bootlable ISO creator ( drag'n'drop, the app analyze your files and import settings into the ISO)

- Detailled Help files

You can also:

- Specify if you want to work with /Extra/com.apple.Boot.plist or /Library/Preferences/SystemConfiguration/com.apple.Boot.plist (for RAID users)

- Indicate to the app where is your Extra folder

- backup files

* Yea, it still in Beta stage, so you can encounter bugs in here.

* EFI Partition still don't support, probably people who are using "efi" partition love terminal.


2. BootCDMaker

First of all, Thanks Trauma for guide.

BootCDMaker is simple utility to rapidly create Chameleon BootCD. This application use a mix of bash & osascript (AppleScript).

Using BootCDMaker is really easy and simple:

2-1. Grab your Mkext / smbios.plist / DSDT.aml / mach_kernel and drop them in "BootCD Contents" folder. (be sure to respect standard file syntax)
2-2. If you don't add you com.apple.boot.plist to "Extra Contents" it will be generated automatically.
2-3. BootCDMaker features :

- Automatic NVIDIA graphics injection
- Ethernet built-in injection
- EHCIacquire (USB2) fix
- UHCIreset (USB1.1) fix
- Skip the SSDT tables while relocating the DSDT table
- Use the legacy grey apple logo
- Custom kernel flags edition
- Custom device-properties edition
- Legacy mode : this will create an old fashioned boot cd, known as BOOT-132 CD, but powered by the latest release of chameleon. This should fix BIOS incompatibility with chameleon built in Eltorito loader.
- Mkext creation utility
- ISO Burning utility

2-6. BootCDMaker will automatically backup the previous BootCD.iso build to the "Desktop/BootCDMaker-Out/Previous-BootCD" folder.

What mode should you use :

Default : if you have a recent computer you should try this.
Legacy : if Default is not loading (hang at boot) try this.

Version history :

- "0.7" include the latest build of chameleon's cdboot (r658)

- "0.8" Added support for automatic custom kernel loading. Simply drop your kernel with other files. The kernel file must be named "mach_kernel" in order to be included automaticly in the boot.plist file. If not you will have to edit the plist yourself.

- "1" Added Legacy / Default options, selection of GraphicsEnabler and EthernetBultIn options et original ArtWorks. Also some code cleaning and optimizing.

- "1.1" Added Erase/Burning features, more chameleon options, code refactoring & optimizations, GUI enhancements. BootCDMaker is now fully compatible with 10.5 & 10.6. tongue.gif

- "1.1f" Added choice to Burn or Erase & Burn. Previous version was always erasing and then burning...

- "1.2" The app now supports spaces in path, BootCDMaker should now run from mostly everywhere. Added plist correction in case you remove DSDT, Kernel or smbios.plist from "Extra Contents" but leave the boot.plist. Added device-propeties edition and an options to remove chameleon GUI. Removing chameleon GUI should fix EBIOS errors for everyone, i hope wink.gif

- "1.5" Now with COCOA GUI and a lot more options, bootloader updated to PCEFI v10.3.

- "1.6" EBIOS errors fixed, Disable CHameleon GUI has been removed. ISO should works fine from all type of media now. (Thanks to iNDi)

- "1.6.1" Fixed a bug who was preventing GraphicsEnabler to work properly, thx to stellarolla who has noticed that bug. BootCDMaker will also check if you've made a bad configuration to prevent GraphicsEnabler and or EthernetBuiltin injection to fail. I've also improved the legacy ISO part, no more EBIOS errors in this mode too. And now every features of the software should work fine with spaces in paths names.


Enjoy this little piece of software


http://darwinx86.org/software/darwinx86_software.html

'Hackintosh > Tool' 카테고리의 다른 글

Theme Changer  (0) 2010.07.06
DSDT simple editor V1.3.6 (Extended tables support)  (0) 2009.11.25
Path Finder  (0) 2009.11.10
EvOToolsX V1.1.0 EvOToolsX for Snow Leopard  (0) 2009.11.02
DARWINx86 software  (0) 2009.10.30
:
Posted by Ritz®™
이 방법보다는 다음링크를 참조하여 "Graphic Enabler" 를 이용하여 설정하여 본다음 안된다면 차선책으로 이용하세요.


 

Requirement:

우선 Leopard가 설치되어 있다는 전제하에 GTS 250 그래픽 카드를 설정하여 주는 방법입니다.

Snow Leopard, 10.6.2 에서는 적용 안되는 경우도 있습니다.

그리고 nvidia 그래픽 카드의 드라이버는 원본 파일 그대로를 사용합니다.

혹여 그래픽 카드를 위해 해킨용 그래픽 카드 드라이버(NVInject, NVKush, Natit.kext 등)를 설치하였다면 제거하여 주시고 또는 원본이미지에서 추출하여 설치하여 주십시요.

당근 9800 계열 그래픽 카드도 마찬가지 방법입니다만, 9800 계열은 아래 링크된 툴이 달라지므로 아래 GFX String은 다운로드 하지 마시고 9800전용으로 받으시면 됩니다.

당근 10.5.7 버전 이후부터 이 방법을 사용합니다. 10.5.8 권고.

기존에 이것저것 잡다하게 Nvidia 관련 설치한 드라이버가 있었다면 다 제거하여 주시고 순수한 Retail 드라이버를 이용하셔야 합니다.

준비물.

- GFX String 다운로드 받기 << GTS-250용 EFI String, 자기 카드에 맞는 드라이버를 다운로드 하세요.

- GFX String 다운로드 받기 << GTS-260용 EFI String, 자기 카드에 맞는 드라이버를 다운로드 하세요.

- GFX String 다운로드 받기  << GTS-280용 EFI String

- Files for Quadro FX 4500 512mb cards:Click to Download

- Path Finder



1. 다운로드 받은 파일을 적당한 곳에 풀어주면 다음과 같은 화일이 보일 것입니다.


2. 터미널을 이용하여 다음과 같이 명령어를 실행합니다. 그래픽 카드가 장착된 pci 슬롯을 확인하기 위한 작업입니다.

Open a terminal and enter commands

./gfxutil -f display



3. 터미날에서 DevicePath 부분의 “PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)” 부분만 복사하여 in.plist 화일의 아래 그림과 같이 해당하는 부분에 붙여준다.

Text Editor를 사용해도 좋습니다.


4. 다음은 in.plist 화일 하단의 Model Name등을 다음과 같이 원하는 값으로 수정하여 줍니다. Text Editor를 사용해도 좋습니다.

<key>model</key>

<string>NVIDIA GeForce GTS 250 1024MB</string>

<key>name</key>

<string>NVDA,Parent</string>

<key>rom-revision</key>

<string>3172a</string>



5. in.plist 화일 수정을 마치고 나면 EFI-String 값을 얻기 위하여 다음과 같은 명령어를 입력합니다.

Open a terminal and enter commands


./gfxutil -i xml -o hex ./in.plist ./output.hex


6. 새로이 만들어진 out.hex 화일을 텍스트 에디터 등으로 열어 확인하고 내용을 복사(CMD+C)합니다.


7. /Library/Preferences/SystemConfiguration/com.apple.Boot.plist 화일을 vi나 텍스트 에디터등으로 열어봅니다.

다음은 일반적인 화일내용입니다.

###############################################################

<key>Kernel Flags</key>

<string>Yes</string>



8. /Library/Preferences/SystemConfiguration/com.apple.Boot.plist 화일을 vi나 텍스트 에디터등으로 열어 다음과 같이 device-properties 항목을 추가하여 줍니다.



Reboot!


:
Posted by Ritz®™
2009. 11. 13. 11:46

Network Setup!! Hackintosh/Lan Card2009. 11. 13. 11:46

1. 부팅시에 f8을 누르거나 Chameleon 같은 경우 스페이스 바를 눌러 부팅옵션을

"-v -f" 로 주어 부팅하여 다음 그림과 같이 실행합니다.




:
Posted by Ritz®™

Upgrade from Leopard to Snow Leopard, 10A432?

It can be upgraded from 10.5.7 to 10A432.

Try to install Existing Leopard Hard Disk. It just upgrade from 10.5.7 to 10.6.0

Then update 10.6.1 by software Update.

But, you have to replace Sleepenabler.kext from Netkas' site when you update to 10.6.2.

It sometimes did not working GFX-String in 10.6.2, especially nVidia 7xxx series, 8xxx series.

if you have black screen after booting followed by lord_webi's guide.


delete following prefs/plists if existing in directory (boot with -x):

/Library/Preferences/ByHost/com.apple.preference.display*
/System/Library/Preferences/ByHost/com.apple.preference.display*
/Users/YOURUSER/Library/Prefereneces/ByHost/com.apple.preference.display*

same to *loginWindow* prefs/plists ... in all that directories if existing ...

restart and your EFI string will work again ...

:
Posted by Ritz®™
2009. 11. 7. 11:04

Intel D945G Series Hackintosh/Mainboard2009. 11. 7. 11:04

Install : Snow Leopard Retail and Rebel EFI CD

945GC Atom D945GSEJT File:running_man.png
D945GCLF2D File:green.png
D945GCLF2 File:running_man.png
D945GCLF File:running_man.png


'Hackintosh > Mainboard' 카테고리의 다른 글

Leopard on Dell XPS 420  (0) 2009.11.21
i7 + 10.5.7 Working Great!!  (0) 2009.11.12
Gigabyte GA-EX58-UD5 (core i7) USB v3.0  (0) 2009.11.04
10.5.7 on an Asus P5QL/EPU  (0) 2009.10.25
MSI P43 Neo3-F  (0) 2009.10.22
:
Posted by Ritz®™