Jump to content

Chameleon 2.4svn Official PKG Installer


ErmaC
4,261 posts in this topic

Recommended Posts

 

 

 

Beginning with the Chameleon revision of approximately 2401, the boot loader fails to utilize and load the kernelcache on my secondary partition.

The kernelcache itself is NOT at fault as this ssue does not occur with any Chameleon versions prior to 2400. Please advise.

Link to comment
Share on other sites

Beginning with the Chameleon revision of approximately 2401, the boot loader fails to utilize and load the kernelcache on my secondary partition.

The kernelcache itself is NOT at fault as this ssue does not occur with any Chameleon versions prior to 2400. Please advise.

Did you experience this:

post-69729-0-88762800-1418332150_thumb.png

in trunk r2491

 

same here:

post-69729-0-00324400-1418332294_thumb.png

in trunk r2510?

In my case it was caused by remained files (probably after unsuccesful instalation) in .IABootFiles hidden foder on boot partition:

post-69729-0-97808300-1418332617_thumb.png

 

and Chameleon's support that folder in stringTable.c. Simply commented it out fixed a problem temporarily:

int loadSystemConfig(config_file_t *config)
{
	char *dirspec[] = {
		"/Mac OS X Install Data/com.apple.Boot.plist",				// OS X Installer (Lion 10.7)
		"/OS X Install Data/com.apple.Boot.plist",				// OS X Installer (10.8+)
		//"/.IABootFiles/com.apple.Boot.plist",					// OS X Installer
		"/Library/Preferences/SystemConfiguration/com.apple.Boot.plist",	// com.apple.Boot.plist
		"/com.apple.recovery.boot/com.apple.Boot.plist"				// OS X Recovery
	};

Please, try my branch boot file boot.zip

THX

here, let's see if I have luck

 

Fabio

No, you don't.

Back to the post #2577 and read it carefuly.

  • Like 1
Link to comment
Share on other sites

.

L'SMSerial dentro al SMBios.plist generato è vuoto, questo è il problema:

The SMSerial entry has no object, is empty

 

sm.png

a meno che non l'abbia tolto tu per postarlo qui, ma credo che non sia questo il motivo se lo hai appena creato con Chameleon Wizard (è lui che ha un bug e non scrive l'SMSerial??)

You have just created it with Chameleon Wizard...it is  who has a bug and does not write the SMSerial ??

 

Ciao Fabio :)

.

sorry Bungo I was busy. Later I'll do a test for you in two PCs and let you know the results

Beginning with the Chameleon revision of approximately 2401, the boot loader fails to utilize and load the kernelcache on my secondary partition.

The kernelcache itself is NOT at fault as this ssue does not occur with any Chameleon versions prior to 2400. Please advise.

You specify the kernel path in your o.c.b.p?

Link to comment
Share on other sites

Did you experience this:

attachicon.gifpanic_trunk_r2491.png

in trunk r2491

 

same here:

attachicon.gifpanic_trunk_r2510.png

in trunk r2510?

In my case it was caused by remained files (probably after unsuccesful instalation) in .IABootFiles hidden foder on boot partition:

attachicon.gifMavericks HD.png

 

and Chameleon's support that folder in stringTable.c. Simply commented it out fixed a problem temporarily:

int loadSystemConfig(config_file_t *config)
{
	char *dirspec[] = {
		"/Mac OS X Install Data/com.apple.Boot.plist",				// OS X Installer (Lion 10.7)
		"/OS X Install Data/com.apple.Boot.plist",				// OS X Installer (10.8+)
		//"/.IABootFiles/com.apple.Boot.plist",					// OS X Installer
		"/Library/Preferences/SystemConfiguration/com.apple.Boot.plist",	// com.apple.Boot.plist
		"/com.apple.recovery.boot/com.apple.Boot.plist"				// OS X Recovery
	};

Please, try my branch boot file attachicon.gifboot.zip

THX

No, you don't.

Back to the post #2577 and read it carefuly.

 

No to all of the above. No kernel panic, but on any Chameleon version above 2401, the boot loader simply refuses to load the kernelcache file located in the /System/Library/Caches/com.apple.kext.caches directory on my secondary partition (disk0s4) which is my main system. Instead, the Chameleon entirely ignores the kernelcache file and reloads all kexts with each boot up.
Again, this issue does not occur with any lower Chameleon revisions -- the kernel cache is correctly read and utilized.
 
/dev/disk0
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *320.1 GB   disk0
   1:                        EFI                         209.7 MB   disk0s1
   2:                  Apple_HFS OS X 10.9.5             138.5 GB   disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3
   4:                  Apple_HFS OS X 10.8.5             180.0 GB   disk0s4
   5:                 Apple_Boot Recovery HD             650.0 MB   disk0s5

You specify the kernel path in your o.c.b.p?

 

No, should I?

<dict>
<key>CSTUsingSystemIO</key>
<string>Yes</string>
<key>Default Partition</key>
<string>hd(0,4)</string>
<key>EthernetBuiltIn</key>
<string>Yes</string>
<key>GenerateCStates</key>
<string>Yes</string>
<key>GeneratePStates</key>
<string>Yes</string>
<key>GenerateTStates</key>
<string>Yes</string>
<key>Graphics Mode</key>
<string>1680x1050x32</string>
<key>GraphicsEnabler</key>
<string>Yes</string>
<key>Kernel</key>
<string>mach_kernel</string>
<key>Kernel Flags</key>
<string>-v</string>
<key>ShowInfo</key>
<string>Yes</string>
<key>SystemType</key>
<string>2</string>
<key>Theme</key>
<string>Universe</string>
<key>Timeout</key>
<string>1</string>
</dict>
Link to comment
Share on other sites

No, should I?

<dict>
<key>CSTUsingSystemIO</key>
<string>Yes</string>
<key>Default Partition</key>
<string>hd(0,4)</string>
<key>EthernetBuiltIn</key>
<string>Yes</string>
<key>GenerateCStates</key>
<string>Yes</string>
<key>GeneratePStates</key>
<string>Yes</string>
<key>GenerateTStates</key>
<string>Yes</string>
<key>Graphics Mode</key>
<string>1680x1050x32</string>
<key>GraphicsEnabler</key>
<string>Yes</string>
<key>Kernel</key>
<string>mach_kernel</string>
<key>Kernel Flags</key>
<string>-v</string>
<key>ShowInfo</key>
<string>Yes</string>
<key>SystemType</key>
<string>2</string>
<key>Theme</key>
<string>Universe</string>
<key>Timeout</key>
<string>1</string>
</dict>

But you are do that! Not sure but can you try removing:

<key>Kernel</key>
<string>mach_kernel</string> 

since now is not needed?

 

@Bungo

 

this is what I try:

 

Desktop System that normally work withoutany patched ACPI tables:

Desktop.png

 

 

Laptop that normally works using a patched DSDT:

lappy.png

 

 

I can't boot both of them. Different problems.

Link to comment
Share on other sites

@Bungo

 

this is what I try:

 

Desktop System that normally work withoutany patched ACPI tables:

attachicon.gifDesktop.png

 

 

Laptop that normally works using a patched DSDT:

attachicon.giflappy.png

 

 

I can't boot both of them. Different problems.

Many thanks,

Very strange. Do you use your setups as usually, I mean dsdt .plists etc.? I assume you can boot with latest trunk?

My laptop panics with stock AppleACPIPlatform (if I remember since 10.8.5?)

I found new bug related to finding Darwin Kernel Version string, if I boot 10.6.8 (32bit mode) with UseKernelCache=No, got random chars instead of Kernel Version string. I'll fix it as soon as possible.

here, let's see if I have luck

 

Fabio

Hi,

I don't know why you got that entry empty, you can report it on Chameleon Wizard topic. Anyway you can fill that empty entry simply by hand.

Link to comment
Share on other sites

@Bungo in the second picture I'v  typed UseKernelCache=No but I've also tried without it, but was the same.

Yes, I use the o.c.b.p with only few settings and the smbios.plist, + DSDT.aml in Extra/Acpi/

In the Desktop's system is the same, but without DSDT.

I can boot with all Chameleon/Enoch since last two Year on my Lappy..

If you want PM me with new boot file, I'll do all the test needed!

Link to comment
Share on other sites

That's not a boot0 hang.  The rotating bar hanging is in boot2 (/boot) in scanBootVolumes.  I've had this happen to me - it hung when trying to get the OSVersion from a FAT32 partition on a USB stick I had connected.  Attached is a patch I use for my hang.  Try applying it to r2510, build it and then use patched /boot see if it still hangs.

Sorry to post again, but I came across something that I didn't notice before.

 

When booting with 2468 and rescanning my drives two or more times (e.g. to let Chameleon find different USB HDD or Sticks)... the exact same thing happens.  Even with no new device plugged in a Port, the rotating bar is there again and stops rotating. Chameleon really doesn't seem to find any of my drives (internal or external) anymore. I have to make a hard reset.

 

Question is now: what happens with /boot during this phase. I already tried to mimic this with for example Chimera 4.0.1, but Chimera works and does not do this...

 

Any ideas? - Any other patches to try? - Any commits to make? ...

Link to comment
Share on other sites

In my case it was caused by remained files (probably after unsuccesful instalation) in .IABootFiles hidden foder on boot partition:

attachicon.gifMavericks HD.png

 

and Chameleon's support that folder in stringTable.c. Simply commented it out fixed a problem temporarily:

int loadSystemConfig(config_file_t *config)
{
	char *dirspec[] = {
		"/Mac OS X Install Data/com.apple.Boot.plist",				// OS X Installer (Lion 10.7)
		"/OS X Install Data/com.apple.Boot.plist",				// OS X Installer (10.8+)
		//"/.IABootFiles/com.apple.Boot.plist",					// OS X Installer
		"/Library/Preferences/SystemConfiguration/com.apple.Boot.plist",	// com.apple.Boot.plist
		"/com.apple.recovery.boot/com.apple.Boot.plist"				// OS X Recovery
	};

Please, try my branch boot file attachicon.gifboot.zip

THX

No, you don't.

Back to the post #2577 and read it carefuly.

 

 

Bungo, you are absolutely correct as usual. Upon closer inspection of the message presented by the Chameleon at boot up, it turns out that the newer Chameleon revisions support the hidden /.IABootFiles directory which contains a com.apple.Boot.plist as well as unusable kernelcache file which Chameleon attempts to unsuccessfully load.

Deleting the aforementioned directory successfully resolves this issue. Thank You, Bungo!

Link to comment
Share on other sites

It's in diskScanBootVolumes(...) in libsaio/disk.c.  The only idea is to add lots of printfs (+pause()) in order to pinpoint the place where it hangs.  That's what I did to find it was hanging when trying to scan a USB stick with fat32 on it.  I didn't fully resolve that though - inistead used a workaround to prevent getOSVersion() from trying to read an msdos filesystem.  That particular hang doesn't happen anymore, so it was resolved though some change in the code.  The hang you're experiencing is something else.

Question is now: what happens with /boot during this phase. I already tried to mimic this with for example Chimera 4.0.1, but Chimera works and does not do this...

 

Any ideas? - Any other patches to try? - Any commits to make? ...

  • Like 1
Link to comment
Share on other sites

@wartomato, can you try with this:            #40            ?

A log will create inside the Extra folder..

 

Thanks Micky, I'll try this first and hope to get a log which contains some data to work with.

 

 

It's in diskScanBootVolumes(...) in libsaio/disk.c.  The only idea is to add lots of printfs (+pause()) in order to pinpoint the place where it hangs.  That's what I did to find it was hanging when trying to scan a USB stick with fat32 on it.  I didn't fully resolve that though - inistead used a workaround to prevent getOSVersion() from trying to read an msdos filesystem.  That particular hang doesn't happen anymore, so it was resolved though some change in the code.  The hang you're experiencing is something else.

 

Yes, it seems to be like the problem you had Zenith, but not the same one. Okay, I am using a ...well... unusual boot config, I guess. The bootloader is on my HDD together with Win8.1 and my OSX backup. The working OSX system is on my second mSATA SSD, which can not be accessed as a boot device from the Acer BIOS.

So it loads the bootloader from the HDD and switches to the SSD to load my system.

I guess I read the modifications done since revision 240x, which is working and take a look at "disk.c"

 

EDIT:

I tried Micky install script, which installed okay, like the Installer by Ermac or like Pandoras Box did.

But the problem is the same, so I'll have to get to the code, I guess.

For the records: I upload the installation logs for the HDD and the SSD.

HDD_Installation_log.TXT

Installation_log.TXT

Link to comment
Share on other sites

wartomato,
Try the attached patch (relative to r2510), check if it solves your hang.
 

But the problem is the same, so I'll have to get to the code, I guess.


patch from r2510

 

diff --git a/i386/libsaio/biosfn.c b/i386/libsaio/biosfn.c
--- a/i386/libsaio/biosfn.c
+++ b/i386/libsaio/biosfn.c
@@ -597,7 +597,7 @@ void print_drive_info(boot_drive_info_t *dp)
 //	printf("bus_type[4] = %x\n", dp->params. bus_type[4]);
 //	printf("interface_type[8] = %x\n", dp->params. interface_type[8]);
 //	printf("interface_path[8] = %x\n", dp->params. interface_path[8]);
-//	printf("dev_path[8] = %x\n", dp->params. dev_path[8]);
+//	printf("dev_path[16] = %x\n", dp->params. dev_path[16]);
 //	printf("reserved3 = %x\n", dp->params. reserved3);
 //	printf("checksum = %x\n", dp->params. checksum);
 	printf("io_port_base = %x\n", dp->dpte.io_port_base);
diff --git a/i386/libsaio/fake_efi.c b/i386/libsaio/fake_efi.c
--- a/i386/libsaio/fake_efi.c
+++ b/i386/libsaio/fake_efi.c
@@ -818,12 +818,7 @@ static void setupSmbiosConfigFile(const char *filename)
 	{
 		// Check selected volume's Extra.
 		sprintf(dirSpecSMBIOS, "/Extra/%s", filename);
-		if ( (err = loadConfigFile(dirSpecSMBIOS, &bootInfo->smbiosConfig)) )
-		{
-			// Check booter volume/rdbt Extra.
-			sprintf(dirSpecSMBIOS, "bt(0,0)/Extra/%s", filename);
-			err = loadConfigFile(dirSpecSMBIOS, &bootInfo->smbiosConfig);
-		}
+		err = loadConfigFile(dirSpecSMBIOS, &bootInfo->smbiosConfig);
 	}
 
 	if (err)
diff --git a/i386/libsaio/saio_types.h b/i386/libsaio/saio_types.h
--- a/i386/libsaio/saio_types.h
+++ b/i386/libsaio/saio_types.h
@@ -100,7 +100,7 @@ struct boot_drive_info
 		unsigned char  bus_type[4];
 		unsigned char  interface_type[8];
 		unsigned char  interface_path[8];
-		unsigned char  dev_path[8];
+		unsigned char  dev_path[16];
 		unsigned char  reserved3;
 		unsigned char  checksum;
 	} params;
diff --git a/i386/libsaio/sys.c b/i386/libsaio/sys.c
--- a/i386/libsaio/sys.c
+++ b/i386/libsaio/sys.c
@@ -577,6 +577,12 @@ int open_bvdev(const char *bvd, const char *path, int flags)
 		return -1;
 	}
 
+	if (path && path[2] == '(') {
+		for (dp = &devsw[0]; dp->name; ++dp)
+			if (path[0] == dp->name[0] && path[1] == dp->name[1])
+				return -1;
+	}
+
 	for (dp=devsw; dp->name; dp++)
 	{
 		if (bvd[0] == dp->name[0] && bvd[1] == dp->name[1])

 

 

Edited by Zenith432
  • Like 2
Link to comment
Share on other sites

The working OSX system is on my second mSATA SSD, which can not be accessed as a boot device from the Acer BIOS.

 

Seem stupid to say, but you also could try to reverse hard disk in your slots, to make sure that it is not another problem?

This take 5 minutes and you can easily do the reverse...and the bootloader should already be installed.

 

 My HP DV-7 bios do the same (boot only slot 1), but since Windows no longer exist this is no longer a problem for me (ie preserve Windows bootloader).

This is a problem with the EFI bios (in my case of course), and running a EFI shell I can see my second HD, but then the bios must be in legacy mode and secure boot disabled (by default).

Have you the "Secure boot" entry in your bios?

 

EDIT

/dev/disk0
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *120.0 GB   disk0
   1:                       0x27                         1.1 GB     disk0s1
   2:               Windows_NTFS SYSTEM RESERVED         104.9 MB   disk0s2
   3:               Windows_NTFS Acer                    118.9 GB   disk0s3
/dev/disk1
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *256.1 GB   disk1
   1:                        EFI EFI                     209.7 MB   disk1s1
   2:                  Apple_HFS Mac OSX                 255.2 GB   disk1s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk1s3
/dev/disk2
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *1.0 TB     disk2
   1:                       0x27                         16.6 GB    disk2s1
   2:               Windows_NTFS Data                    491.8 GB   disk2s2
   3:                  Apple_HFS Time Machine            491.8 GB   disk2s3
/dev/disk3
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               *10.5 MB    disk3

What's on disk0s1 and disk2s1, is a mSATA cache? 

Link to comment
Share on other sites

Seem stupid to say, but you also could try to reverse hard disk in your slots, to make sure that it is not another problem?

This take 5 minutes and you can easily do the reverse...and the bootloader should already be installed.

 

 My HP DV-7 bios do the same (boot only slot 1), but since Windows no longer exist this is no longer a problem for me (ie preserve Windows bootloader).

This is a problem with the EFI bios (in my case of course), and running a EFI shell I can see my second HD, but then the bios must be in legacy mode and secure boot disabled (by default).

Have you the "Secure boot" entry in your bios?

 

EDIT

/dev/disk0
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *120.0 GB   disk0
   1:                       0x27                         1.1 GB     disk0s1
   2:               Windows_NTFS SYSTEM RESERVED         104.9 MB   disk0s2
   3:               Windows_NTFS Acer                    118.9 GB   disk0s3
/dev/disk1
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *256.1 GB   disk1
   1:                        EFI EFI                     209.7 MB   disk1s1
   2:                  Apple_HFS Mac OSX                 255.2 GB   disk1s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk1s3
/dev/disk2
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *1.0 TB     disk2
   1:                       0x27                         16.6 GB    disk2s1
   2:               Windows_NTFS Data                    491.8 GB   disk2s2
   3:                  Apple_HFS Time Machine            491.8 GB   disk2s3
/dev/disk3
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            untitled               *10.5 MB    disk3

What's on disk0s1 and disk2s1, is a mSATA cache? 

Hi Micky,

 

well.

1. Reversing the HDD is not a 5 Minutes job on the Acer. It boots alright with the "older" version and ever since. So why could I do that, when the bootloader changed, but not my system? - Micky, it's notebook and not a tower or something... and Acer uses many, many screws.

2. The Acer notebook has 3 internal "normal" SATA slots and 1 mSATA slot (PCIe half size). The system has an SSD with windows on it as a boot drive. The SSD is - as far as I know - mirrored and linked to my "System Reserved" partition on my HDD (1TB).

By this, the first Controller has no more free slots. The second Controller holds the Blu-Ray burner in first place and the motherboard has this tiny PCIe slot on the board that holds my second SSD (OSX).

3. The two partitions that you mentioned are the Win8 recovery partitions on the the Win-SSD and its counterpart on my HDD.

Link to comment
Share on other sites

Sorry @wartomato "Acer" + "the behavior of your bios" maked me thinking that your was a Laptop. About recovery partition, I never see that since Windows is banned from my PCs...

Patch provided by Zenith432 at post 2607  is useful to see if bootloader encounters some problems, or to see where it stops. Have you tested this?

  • Like 1
Link to comment
Share on other sites

×
×
  • Create New...