Jump to content

Chameleon RC4 is out!


Poco

Chameleon Logo

 

In addition to the many patches a fixes included in this new version, a few new features for the bootloader made this cut.

We’re back again with this new RC4 version. Since the last RC3 release, we received many patches and fixes, and also backported some important features like ATI graphics device injection, EFI64 tables and PCI root configuration. Also added a new boot option for hiding unwanted foreign partitions from the boot menu.

 

Hide Partition

Using this option you can enumerate all your partitions what you would like to remove from the boot menu, the syntax is similar to the Default Partition option but here you can specify many volumes in your com.apple.Boot.plist:

 

 

PciRoot

This is a similar option what you can find in PC_EFI, but we’re doing this a bit different: The default value is still 0 but you can set to any arbitrary value.

 

Visit http://chameleon.osx86.hu for more info and download links.

 

Credit goes to:

Developers: Crazor, Dense, fassl, iNDi, Kabyl, kaitek, mackerintel, mercurysquad, munky, Turbo, zef

Thanks to: bumby, cosmo1t, dfe, Galaxy, kalyway, netkas, sckevyn, XyZ

 

Installer

Dr.Hurt has put together an installer package which is available for download here

As mentioned please do not report problems related to the installer to the Voodoo Team


User Feedback

Recommended Comments



I'm probably being a bit slow but while I do get a HardwareUUID appearing in SystemProfiler it is not like the value I put with the SystemID flag

 

Again?!

 

This is the expected behavior. Read Post #22 and post #60.

Link to comment
Share on other sites

Hi folks,

 

I want to announce it at Forum too. I've made some bufixes/ modifications to Chameleon RC4. Normally I'm posting only at the (ex ;-) efixusers.com forum. So for the lastest development and more complete infos check over there.

 

New Features:

  1. Dynamic memory parameter detecting and injecting like Frequency, Type (DDR2, DDR3), Manufactor, Partnumber, Serialnumber. You can remove all memory related stuff from smbios.plist.
  2. You can build Chameleon with GUI-support without the need of an embedded theme (Never understood why this should be necessary). The Booter is a lot smaller now. Only 160 kBytes.
  3. Platform UUID is taken from the BIOS (UUID from SMBIOS Table 1). You can remove PlatformUUID.kext, SMUUID from smbios.plist and also System-ID from com.apple.Boot.plist.
  4. Dynamic PCI-Root-UID detection from PCEFI 10.5
  5. Duvell300's FACP Restart Fix added (from here)

 

Bugfixes:

  1. First of all I fixed the stupid bug with the fixed Platform UUID.
  2. Fixed a bug regarding PCI-Root-UID different than 0
  3. Fixed a bug regarding the detection of the CPU
  4. Fixed dozens of possible buffer overflows
  5. and all the bugs I forgot to mention

 

Changes:

  1. Filenames configured in com.apple.Boot.plist (DSDT=..., SMBIOS=...) must be given with the full path. The Booter does not check automatically the Extra Folder. So if you used DSDT=mydsdt.aml and the mydsdt.aml file is in the Extra folder, then you must use now DSDT=/Extra/mydsdt.aml.
  2. ATI and nVidia Video-ROM-Files must be renamed to <deviceid>_<vendorid>.rom and must be put into the Extra folder. vendorid and deviceid as 4-digit hex values without a leading 0x. For instance, a nVidia 9400 GT (55nm) has the vendorid "0x10DE" and the deviceid "0x0641", so the filename must be "10de_0641.rom".

 

The memory parameter detecting should work with P35/X38/X48/P45 memory controllers and the builtin memory controllers of the Core i5/i7 CPU's. Reading of memory SPD (Serial Presence Detect EEPROM) data should work on P55, ICH10® and ICH9. You must remove all memory related keys from smbios.plist (SMmemmanufacter_X, SMmempart_X, SMmemserial_X, SMmemspeed & SMmemtype).

 

If you use the Booter without the embedded theme, then you must supply a Theme in Extra/Themes/ to have GUI support. The default theme name is "Default". You can configure the theme to be used with Theme="Name" in com.apple.Boot.plist.

 

Platform UUID is setup by injecting /efi/platform/system-id property. The UUID value from SMBIOS table 1 is used as system-id (it's mac-address based => it's unique). No need for SystemID/RandomID in com.apple.Boot.plist or PlatformUUID.kext... If your BIOS does not provide an UUID (I've never seen a BIOS so far, which does not provide a UUID), then you can configure the UUID with SMUUID in smbios.plist. If you set EfiPlatformSystemID=No in com.apple.Boot.plist, then the system-id is not injected into the IORegistry. Use this if you want/need to use PlatformUUID.kext or something similar.

 

Dynamic PCI-Root-UID should work if your DSDT defines the UID like this: Name (UID, <value>). Default PCI-Root-UID is 0. You can configure the PCI-Root-UID to be used with PCIRootUID=<value> in com.apple.Boot.plist (-pci0, -pci1, PciRoot... does not work anymore).

 

FACP RestartFix is enabled with RestartFix=Yes in com.apple.Boot.plist.

Booter_AsereBLN_v1.1.zip

AsereBLN_Booter_v1.1.patch.zip

Link to comment
Share on other sites

I want to announce it at Forum too. I've made some bufixes/ modifications to Chameleon RC4.

Hi Asere

 

I just want to confirm that everything works well for me. Good work ;)

Link to comment
Share on other sites

@Asere,

 

Would you please be so kind to attach the source code here (also) so that I don't have to sign up for an another account? Thank you.

Link to comment
Share on other sites

Hi folks,

 

I want to announce it at Forum too. I've made some bufixes/ modifications to Chameleon RC4. Normally I'm posting only at the (ex ;-) efixusers.com forum. So for the lastest development and more complete infos check over there.

 

This is absolutely wonderful.

Your boot loader automatically injects the MAC address as a system ID. You've also removed the default theme. Thanks for the much needed clean up.

 

I have a little problem though. My Memory information is not detected (G945/ICH7). I hope you include support for it in the next release.

 

Also, if you could enable the restart fix by default, and make an option to disable it for those who want to (ie. RestartFix=No).

 

Thanks in advance.

vielen Dank

Link to comment
Share on other sites

@Asere,

 

Would you please be so kind to attach the source code here (also) so that I don't have to sign up for an another account? Thank you.

 

Done

 

 

This is absolutely wonderful.

Your boot loader automatically injects the MAC address as a system ID. You've also removed the default theme. Thanks for the much needed clean up.

 

I have a little problem though. My Memory information is not detected (G945/ICH7). I hope you include support for it in the next release.

 

Also, if you could enable the restart fix by default, and make an option to disable it for those who want to (ie. RestartFix=No).

 

Thanks in advance.

vielen Dank

 

 

Can I ask you to run Booter with debugs and make a photo of each Bootstep (Press a key to continue...)? This would be very helpful to bringup 945/ICH7 support too.

 

@all: What do you think about an enabled RestartFix by default? I can implement it easy and of course only for those chipset, which are supporting the Reset Control Register (P55/ICH10®/ICH9...).

Link to comment
Share on other sites

@all: What do you think about an enabled RestartFix by default? I can implement it easy and of course only for those chipset, which are supporting the Reset Control Register (P55/ICH10®/ICH9...).

Yes, I would favour it.

Link to comment
Share on other sites

Done

Danke vielmals Asere. But why do I see image data instead of a simple file name?

 

@all: What do you think about an enabled RestartFix by default? I can implement it easy and of course only for those chipset, which are supporting the Reset Control Register (P55/ICH10®/ICH9...).

I would even go as far as asking: "Why not?".

 

p.s. Master Chief wrote in the GigaByte thread that ACPI 2.0 only needs: fadt_mod->Flags |= 0x400;

 

Edit: Master Chief also mentioned a quick way of getting the PCI bus number, by reading the MCFG table, at offset 0x2c to get an address. The first device should be the DMA controller by Intel (86 80). If not the PCI bus is located at 1. What do you think?

Link to comment
Share on other sites

@all: What do you think about an enabled RestartFix by default? I can implement it easy and of course only for those chipset, which are supporting the Reset Control Register (P55/ICH10®/ICH9...).

 

All boards with Intel chipsets should be able to use that reset register, other chipsets might have problems. Yes as default seems as a better option.

Link to comment
Share on other sites

Danke vielmals Asere. But why do I see image data instead of a simple file name?

 

Hmmm... I don't understand you? It's a patch against Chameleon RC4 and I can unzip, open and apply the patch.

Link to comment
Share on other sites

Hmmm... I don't understand you? It's a patch against Chameleon RC4 and I can unzip, open and apply the patch.

I unpacked the archive and get this:

diff -Naur Chameleon-2.0-RC4-r684-src/artwork/themes/default/logo.png AsereBLN_v1.1_clean/artwork/themes/default/logo.png
--- Chameleon-2.0-RC4-r684-src/artwork/themes/default/logo.png	2009-07-18 18:34:42.000000000 +0200
+++ AsereBLN_v1.1_clean/artwork/themes/default/logo.png	2009-11-24 10:33:14.000000000 +0100
@@ -1,40 +1,69 @@
âPNG

With a large block with logo.png data and then this:

\ No newline at end of file
diff -Naur Chameleon-2.0-RC4-r684-src/i386/boot0/boot0.s AsereBLN_v1.1_clean/i386/boot0/boot0.s
--- Chameleon-2.0-RC4-r684-src/i386/boot0/boot0.s	2009-11-22 17:31:14.000000000 +0100
+++ AsereBLN_v1.1_clean/i386/boot0/boot0.s	2009-12-13 21:41:36.000000000 +0100
@@ -55,7 +55,7 @@
;
; Set to 1 to enable verbose mode
;
-VERBOSE				EQU  1
+VERBOSE				EQU  0
...

Which is more what I expect.

Link to comment
Share on other sites

I unpacked the archive and get this:
diff -Naur Chameleon-2.0-RC4-r684-src/artwork/themes/default/logo.png AsereBLN_v1.1_clean/artwork/themes/default/logo.png
--- Chameleon-2.0-RC4-r684-src/artwork/themes/default/logo.png	2009-07-18 18:34:42.000000000 +0200
+++ AsereBLN_v1.1_clean/artwork/themes/default/logo.png	2009-11-24 10:33:14.000000000 +0100
@@ -1,40 +1,69 @@
âPNG

With a large block with logo.png data and then this:

\ No newline at end of file
diff -Naur Chameleon-2.0-RC4-r684-src/i386/boot0/boot0.s AsereBLN_v1.1_clean/i386/boot0/boot0.s
--- Chameleon-2.0-RC4-r684-src/i386/boot0/boot0.s	2009-11-22 17:31:14.000000000 +0100
+++ AsereBLN_v1.1_clean/i386/boot0/boot0.s	2009-12-13 21:41:36.000000000 +0100
@@ -55,7 +55,7 @@
;
; Set to 1 to enable verbose mode
;
-VERBOSE				EQU  1
+VERBOSE				EQU  0
...

Which is more what I expect.

 

Ahhh... this is the "different" logo I used. Just remove the first hunk from the patch.

Link to comment
Share on other sites

This is absolutely wonderful.

Your boot loader automatically injects the MAC address as a system ID. You've also removed the default theme. Thanks for the much needed clean up.

 

I have a little problem though. My Memory information is not detected (G945/ICH7). I hope you include support for it in the next release.

 

Also, if you could enable the restart fix by default, and make an option to disable it for those who want to (ie. RestartFix=No).

 

Thanks in advance.

vielen Dank

 

@Dr. Hurt. Please tryout this Booter with debugs and send my the photos of every Booter step (lspci, cpu, mem, spd...). It has already some 945/ICH7 support, but I need more infos.

Link to comment
Share on other sites

Made a new version. Changes:

  1. FACP RestartFix enabled by default if you have an Intel CPU
  2. Jedec Memory Manufactor Code Lookup for some common vendors (OCZ, G.Skill, Crossair, GeIL, Kingston)

Link to comment
Share on other sites

Made a new version. Changes:

  1. FACP RestartFix enabled by default if you have an Intel CPU
  2. Jedec Memory Manufactor Code Lookup for some common vendors (OCZ, G.Skill, Crossair, GeIL, Kingston)

hi Asere,

please don't forget that all chameleon fork and modification must come with sources or diff file

Link to comment
Share on other sites

I have tried version 1.1.1 from efix forums and the results were better than before. Restart works default now, so thanks.

Memory information is partly detected. Look at the screenshot below.

 

It detects the information for one memory slot, and puts the serial number in place of the part number, and I don't know what that other number in the serial is. Or maybe I'm confusing the serial number with the part number?!

 

Here is my SMBIOS extract before removing it.

		<key>SMmemmanufacter_1</key>
    	<string>Kingston Technology</string>
        <key>SMmemmanufacter_2</key>
        <string>Kingston Technology</string>
       <key>SMmempart_1</key>
        <string>KVR800D2N6/1G</string>
        <key>SMmempart_2</key>
        <string>KVR800D2N6/1G</string>
        <key>SMmemserial_1</key>
       <string>99U5316</string>
       <key>SMmemserial_2</key>
        <string>99U5318</string>

 

How do I enable debug mode?

I'll post pics as soon as I have time because I'm at school now.

post-21972-1263022861_thumb.png

Link to comment
Share on other sites

Dr. Hurt, please upload (ex. mediafire) or post here the boot file version 1.1.

 

thanks.

 

you can get it from efixusers forum for the time being until the download link is back from this site.

 

I have tried version 1.1.1 from efix forums and the results were better than before. Restart works default now, so thanks.

Memory information is partly detected. Look at the screenshot below.

 

It detects the information for one memory slot, and puts the serial number in place of the part number, and I don't know what that other number in the serial is. Or maybe I'm confusing the serial number with the part number?!

 

here's how mine is detected Team Elite DDR2 1066 ram

 

post-345318-1263024883_thumb.png

Link to comment
Share on other sites

Thanks Asere, grabbed latest from here before it was pulled (account got no priveleges, can't DL, at efix). Works nicely - memory info detected:

 

BANK1/DIMM1:

 

Size: 2 GB

Type: DDR2 SDRAM

Speed: 1066 MHz

Status: OK

Manufacturer: OCZ

Part Number: OCZ2G10662G

Serial Number: 0x00000000

 

spot on, good job.

Link to comment
Share on other sites

hi Asere,

please don't forget that all chameleon fork and modification must come with sources or diff file

 

I've released the source, except for the memory stuff at the moment.

 

BTW you wrote that you have fixed the cpu detection bug. Looking at your source, then it's not fixed.

 

I will explain you why: cpuid(4) needs in ECX the cache level to query. BUT ECX is NOT initialized at all!!! Therefore is completely random whether it works or not. Only EAX is initialized. Disassemble your platform.o and you will see it.

 

I have tried version 1.1.1 from efix forums and the results were better than before. Restart works default now, so thanks.

Memory information is partly detected. Look at the screenshot below.

 

It detects the information for one memory slot, and puts the serial number in place of the part number, and I don't know what that other number in the serial is. Or maybe I'm confusing the serial number with the part number?!

 

How do I enable debug mode?

I'll post pics as soon as I have time because I'm at school now.

 

You're indeed confused about serial number and part number.

 

To see the debugs, just copy boot_with_debugs to your stick and rename it to boot.

 

here's how mine is detected Team Elite DDR2 1066 ram

 

Added TeamElite lookup too in Version 1.1.2.

Booter_AsereBLN_v1.1.2.zip

AsereBLN_Booter_v1.1.2.patch.zip

Link to comment
Share on other sites

Hi Asere. You're right about me confusing serial with part number.

Here is my debug information using version 1.1.2 (sorry for the picture quality - cell phone camera).

 

BTW, I have noticed that after the boot0/boot1 message, I get a blinking cursor for 2 seconds then it writes a line "efi_something............" then OS X starts booting.

 

Is there anyway to make the boot loader silent? At least hide the blinking cursor and the efi_.... message

 

vielen Dank

post-21972-1263051596_thumb.jpg

post-21972-1263051676_thumb.jpg

post-21972-1263051755_thumb.jpg

post-21972-1263051809_thumb.jpg

Link to comment
Share on other sites

Made a new version. Changes:

  1. Jedec Memory Manufactor Code Lookup for some common vendors (OCZ, G.Skill, Crossair, GeIL, Kingston)

Thank you so much. Works great here. I have Patriot, and my memory read out:

 

Size: 2 GB

Type: DDR2 SDRAM

Speed: 800 MHz

Status: OK

Manufacturer: 0x7f7f7f7f7f02

Part Number: 6400EL

Serial Number: 0x00000000

 

May be with next revision you can add something into the database, for other users as well.

Best,

Link to comment
Share on other sites



×
×
  • Create New...