Small Logo
Home
Chameleon 2.0 & You PDF Print E-mail
Written by Neonkoala   
Saturday, 20 February 2010 17:36

 

Chameleon is the open source bootloader derived from the boot-132 developed by David Elliott which came from Apple and was the final release of their bootcode which was originally developed for the Darwin project. Apple Macs have an EFI based system for booting OS X on an x86 system so when Darwin was still being maintained a bootloader was needed for BIOS based systems which could pass things like the device tree to the kernel. For more information on this see David Elliott's site here.

Until mid 2008 the best available bootloader was a modified boot-132 from netkas and others which provided rudimentary EFI emulation allowing the OS X system to 'see' the system as real and make use of an unmodified hardware on a compatible CPU. In June of 2008 David Elliott released an updated boot-132 source which allowed additional kexts (kernel extensions) to be loaded from a ramdisk based on the syslinux software available. This allowed hardware drivers to be loaded externally from an unmodified system effectively allowing the use of an unmodified DVD or install to be loaded, again if compatible hardware is present.

It is here the Chameleon project was born. An open source bootloader fork based upon Boot-132 designed to boot Mac OS X on generic x86 based systems with additional features added as time progressed.

 

Components

 

The essential components of Chameleon are just 3 files, boot0 which is written to the MBR and is compatible with both MBR and MBR/GPT configured partition tables. boot1h which is then loaded by boot0 and is written to the bootsector of a partition. As of Chameleon 2.0 this can be the EFI partition and works on both FAT32 and HFS+ formatted partitions. Finally the file boot is loaded from the root of the bootsector with boot1h installed. This is where most of the code resides including loading additional kexts and the themed GUI. One of the limitations of Chameleon 1.x was that boot could only be a maximum size of 64kb however this has been overcome in 2.0. For more information see the wikipedia article on MBR.

 

Features and Configuration

 

EFI Emulation

  • Perhaps the most important feature of Chameleon is it's ability to emulate an EFI system on a traditional BIOS only system. This includes generating an EFI system table which can then be passed to IOKit. David Elliott details this well on his boot-132 page.

Extra Extensions Loading

  • Chameleon supports loading additional Extensions from the location /Extra/Extensions in addition to the system directory /System/Library/Extensions. This allows certain kexts to be overriden or additional ones to be loaded without modifying the system extensions directory.
  • Kextcaches are also loaded from /Extra/Extensions.mkext
  • Please note: not all kexts can be loaded from /Extra/Extensions, some require that they be in a kextcache and in order to override system extensions the CFBundleVersion in Info.plist must be higher than that of the one in /System/Library/Extensions

DSDT Override

  • Originally developed by mackerintel this feature allows the DSDT table contained in the BIOS of every system to be overriden and replaced with a modified one designed to fix many problems encountered in OS X due to a badly or incompatibly configured DSDT table in the BIOS.
  • Chameleon will look to load a DSDT.aml file from /DSDT.aml or /Extra/DSDT.aml. Additionally Chameleon can be passed the DSDT flag to specify a different DSDT. On the command line it will look as such: "DSDT"="/Extra/randomdsdt.aml" This can also be specified in the com.apple.Boot.plist

com.apple.Boot.plist Loading

  • Chameleon will look in the default location of /Library/Preferences/SystemConfiguration/com.apple.Boot.plist but will override the default with one located in /Extra/com.apple.Boot.plist if found. This avoids editing the default system plist.

SMBIOS Patching

  • SMBIOS patching support from mackerintel allows various bits of information about the system to be configured, this can affect speedstep profiles, System Profiler information and other things.
  • smbios.plist is loaded from /Extra/smbios.plist by Chameleon
  • For a comprehensive guide on modifying your SMBIOS.plist see prasys' tutorial here.
To be continued...

 

Last Updated on Saturday, 17 April 2010 12:45
 
Acer Aspire Revo 3610 (R3610) and OS X Snow Leopard PDF Print E-mail
Written by Neonkoala   
Friday, 19 February 2010 17:14
Due to lack of available resources regarding installing OS X Snow Leopard on the Acer Aspire Revo 3610 I have decided to document my progress here. Much of this will apply to the R3600 and R1600 models and other nVidia ION based systems however I will focus on the Atom 330 based Revo.

Hardware

The exact components of my Revo 3610 are listed here to avoid confusion and also document it as lots of the important details such as audio codecs are missing from the specifications available.
Processor:

  • Intel Atom N330 1.60GHz
  • Dual core, 64-bit (x64) and hyperthreading enabled, also supports NX bit
  • Natively supported in Leopard and Snow Leopard 10.6.0 and 10.6.1, support removed in 10.6.2 and requires a patched kernel
Chipset:

  • nVidia ION (MCP79) chipset with integrated graphics
  • Natively supported in OS X as official Macs use this chipset too
  • SATA works fine in AHCI
Graphics:

  • nVidia 9400M integrated into the ION chipset
  • Standard nVidia card that can be enabled to support QE/CI by making use of on of the many enablers available; EFI strings, Chameleon 2.0, injector kexts or DSDT patch
Audio:
  • Integrated audio controller in the ION for HDMI audio - no known support as yet
  • Separate HDA codec for heaphone and microphone jacks aswell as SPDIF support
  • Realtek ALC662 codec (10EC:0662) - Supported by VoodooHDA, manually patched AppleHDA kexts may work too
Ethernet:

  • Integrated ethernet network controller from nVidia, supported natively by ION drivers for full Gigabit
Wireless:

  • Atheros AR5007EG B/G wireless adapter (mini PCI-E)
  • Unsupported by OS X, shares same device ID as the AR5006EG but has a different PHY package and as such the HAL is incompatible
USB:

  • EHCI handover is unreliable thus causing tempremental boot patterns
  • Legacy USB must be disabled in BIOS or by a specially patched Chameleon loader
  • Result: with patch USB booting is not possible, without the system may boot up about 1/10 times
  • Possibly fixable in DSDT
Resources

Chameleon 2.0 patch to turn off Legacy USB support at boot (allowing you to use USB keyboard in the bootloader rather than disabling in BIOS) - http://forum.voodooprojects.org/index.php?topic=866.0
My DSDT patched to fix hyperthreading support (must be disabled in BIOS otherwise) can be found here. Also contains patches to change the subvendor ID of the Wireless card to an Apple one should support ever be added for the AR5007EG.
Last Updated on Friday, 19 February 2010 17:57
 
Dell XPS M1530 OSx86 Resources PDF Print E-mail
Written by Neonkoala   
Thursday, 19 November 2009 14:26

M1530_Win_front_osx

This is just an article to collect together all the available resources for running Mac OS X on a Dell XPS M1530 laptop. I will include guides, documentation and any needed files in attempt to make things easier for those with this laptop.

 

Guides


Installing Leopard on an XPS M1330/M1530 Tutorial by wingrunr21


This is a very comprehensive guide that covers various methods of installing including retail and goes into detail how to get all your hardware working. This is the best starting place I can recommend. If you are looking to do a Snow Leopard install there are also many details on that in this thread.

Link: http://www.insanelymac.com/forum/index.php?showtopic=119654

 

DSDT Modification guide for the XPS M1330/M1530 by immo

 

A fantastic guide for those who wish to have as close to a retail install as possible by fixing things via DSDT. immo covers everything from enabling the nVidia graphics card to fixing that annoying IDE problem in Snow Leopard.

Link: http://www.insanelymac.com/forum/index.php?showtopic=190780

 

AppleHDA Solutions Thread by talisman

 

This contains the most up to date patched AppleHDA kexts for enabling sound for users with the SigmaTel 9228 found in the M1530 and M1330. With it you should be able to get internal speakers, outputs and microphones working so keep an eye on this for the latest fixes.

Link: http://www.insanelymac.com/forum/index.php?showtopic=142521

 

Common Problems and Solutions

 

nVidia Graphics are low resolution or do not have QE/CI

To fix this you need to enable the built in graphics kexts. You can do this in 4 different ways depending on what suits your needs.

  1. Using the Chameleon 2.0 RC2 and above bootloader. Grab it from here and enable GraphicsEnabler in your boot.plist.
  2. EFI strings. Use this utility from netkas and this VGA BIOS dump.
  3. You can use the earlier guide posted to get it working via the DSDT.
  4. Finally one can use one of the many enabler kexts such as NVEnabler.kext and NATIT.

Ethernet doesn't work or has the wrong MAC address

As of OS X Leopard 10.5.6 and Snow Leopard 10.6 ethernet is supported by the AppleYukon2.kext natively without modification. The kext can't however read the ROM of 88E8040 and will return a MAC address of 00:11:22:33:44:55. If necessary this can be fixed by hex editing the kext binary to replace it with your own. This will need to be done for each system update where the kext is updated however. See this thread for the latest on how to patch your MAC.

IOATAFamily.kext is causing a kernel panic on my system or my DVD drive doesn't work

The built in Snow Leopard IOATAFamily.kext can cause problems with Intel chipset based laptops that utilise IDE channels for the DVD drive due to the secondary IDE channel being disabled. The solution to get past the kernel panic is to remove the kext or apply a DSDT patch. To re-enable your DVD drive later you can replace the stock IOATAFamily.kext with a patched one or again utilise a DSDT patch.

The patched IOATAFamily can be found here and the guide for the DSDT fix can be found in the guide I posted earlier or in this thread.

WiFi doesn't work!

This is because the Intel WiFi cards are currently unsupported under OS X. However there may in the future be support thanks to a personal project undertaken by mercurysquad. Currently the 3945 is supported and the 4965 support is in the works. To follow this project see this blog.

Card Reader doesn't function

This can be enabled for SD/SDHC and MMC reading by installing VoodooSDHC for Snow Leopard, see here, or for Leopard by using the older IOSDHCIBlockDevice kext found here.

Fingerprint scanner support

Upek fingerprint scanners are supported under OS X and official drivers can be found on their site. See the download page for both Leopard and Snow Leopard support.

 

Last Updated on Thursday, 10 December 2009 12:59
 
Designed by Nick Dawson