Monday, July 2, 2012

More about Mac OS X and Hackintosh


To understand more about the OS, I've compiled a few basics that is fundamentel for Hackintosh. Hope you enjoy.

What is a kernel ? 
A kernel is in short terms the “core” of the operating system. It controls basically all low level operating functions. Kernels exist in all Linux and UNIX based systems, including Mac OS X. In Mac OS X the kernel is located in the root of your hard drive (/) and is named “mach_kernel” by default. 


What is kext ?
Kext is a particular driver for OS X Kernel, is a kernel extension (kext). They’re generally used for device drivers and other things that needs to run in the kernel (OS core) environment. 

All drivers/kext are installed to '/System/Library/Extensions/'.  The driver allow for extra hardware support and and in the case of Hackintosh, to replace Appleʼs original drivers with ones that are optimized for use on PCs. 

At boot time the relevant kext are uploaded from Extensions.mkext this is a cache folder that contains kext related to the installed hardware. If you loves your hackintosh then take a full backup of your kexts because some kexts may disappear after the update procedure.

They’re not the same as classic Mac OS extensions, as many of the things that classic Mac OS extensions did are done differently in Mac OS X.Since kernel extensions aren’t protected by Mac OS X’s memory protection, developers are encouraged to stay away from writing them unless they absolutely have to. Even then, Mac OS X can dynamically load them, so chances are you’d rarely have to add anything to Mac OS X’s Extensions folder.


What is DSDT ?
DSDT is a part of ACPI. Actually DSDT tells OS how to interract with the hardware (simplified way of telling it). OSX has an incomplete ACPI implementation which supports only a subset of DSDT. By replacing DSDT we can declare essentially the same interface but in the way that OSX understands. This potentially can solve nearly any ACPI-related problem (except if OSX bypasses ACPI). Other usage case is emulating by the means of DSDT features or hardware components not present on your system. But this is limited to devices that use ACPI.

What is DSDT patching? 
This is an area very rarely delved into, and is something that some of even the most experienced users dare not venture. In reality, its not dangerous, it just can be painfully hard at times. DSDT is a table found in your computerʼs BIOS that controls ACPI (power, time, etc.) functions. Starting at OS X 10.5.6 Apple decided to start checking for faulty DSDTs when it boots. Obviously the PCs DSDT comes back as faulty so it will not boot. The only way to counteract this is to make a dump of the DSDT in the BIOS and patch it properly.  

DSDT pacht:
  1. You need a modified bootloader that will support DSDT override.
  2. You need a patched DSDT file that will be copied to / dsdt.aml. 
  3. To create DSDT dumps you can use the DSDT Patcher (also included in the Extras folder) but this is an advanced method, and often UOI plugins will include a DSDT file that you can install easily with this installer. However beware, even if you have the same motherboard DSDTʼs can vary by BIOS version so try to make sure that you have the same BIOS version as what is specified in the plugin.

Difference between SMC & RTC ?
The SMC is basically System Management Controller. By resetting the SMC you can resolve some computer issues such as not starting up, not displaying video, sleep issues, fan noise issues, and blah-2. While The Real Time Clock (RTC) is a chip on the logic board that controls the date and time functions of the computer. If the computer is experiencing a booting issue, resetting the RTC may resolve it.

What is a vanilla compatible system ?
A vanilla compatible system is a computer capable of running OS X with minimal modifications (no patched kernel, compatible with Apple software updates). You have a vanilla capable system if you have a Core 2 based processor. 

What is EFI emulation ?
EFI is the Extensible Firmware interface found in real macs. EFI is basically the “BIOS” of a Mac. For a computer to be properly recognized as a mac and to have the most compatibility it must have EFI. The problem here is that PCs do not have EFI. Developers have counteracted this problem by using EFI emulation which enables basic EFI function calls through a specially modified bootloader. 

Nearly all OSx86 installs have some form of EFI emulation installed, so this is not necessarily something to worry about. 

EFI emulation is required to use vanilla (unpatched) kernels and kexts, and to use GUID partition maps and EFI strings.



 Source’s PCWIZ , Insanelymac , Netkas , Leo4all, Vinay

No comments:

Post a Comment