Jump to content

Chameleon RC4 is out!


Poco
 Share

1,054 posts in this topic

Recommended Posts

Ta very much ;-)

 

 

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 which was based on my mac address for en0.

 

I guess it doesn't matter as I have previously de-authorised my computer from iTunes so I guess the new

UUID is as good as any?

 

I notice that the value is shown in IOPlatformUUID as opposed to PlatformUUID

 

Out of curiosity, I have a couple of silly questions if I may?

 

1 - how do we know that everyone has a different UUID - is there some random time seeding?

2 - where is the generated value persisted between boots to prevent a new one being written?

 

 

regards

Steve

Link to comment
Share on other sites

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

Guest Anxiousness

@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

Guest Anxiousness
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

Guest Anxiousness
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)

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

 Share

×
×
  • Create New...