Jump to content

How to boost the OS X boot process...


1,027 posts in this topic

Recommended Posts

Wow...!.

Can i ask you don't go out and share your boot.c this evening?

(I'm joking of course.. enjoy your evening and I'll keep my eye out for your next post.... tick tock tick ....) :)

 

It always comes to those who wait...

Link to comment
Share on other sites

Hi Humph,

What is your DEBUG_CPU output? Also. Do you see this line:

_CPU_DEBUG_DUMP("max: %d%s current: %d%s\n", maxcoef, maxdiv ? ".5" : "", currcoef, currdiv ? ".5" : "");

Won't be able to post a picture today, so in words:

I get line at top with max and current coef of 12 and 6. Rest of the stuff looks OK (NB: CPU 0x301).

Except cpu speed 800 of course, and for max and current div I have zeros.

Link to comment
Share on other sites

Hi Dutch

 

I've just done a fresh install of Snow to single HDD and have tried again, in vein, to get stock FakeSMC to load from either /S/L/E or E/E as kext or mkext.

 

I think at this point I've done everything I can to get Revolution working on my system.

I'm totally in your hands now for a solution (I'd say scrax is in the same boat as me.) so I'm going to have to give up on this project for the time being.

 

Thanks again for your time.

D

Link to comment
Share on other sites

Hi FKA,

 

Can you please share your copy of FakeSMC.kext so that I can have a go with it here, or at least have a look at it

 

Here you go mate:

FakeSMC.kext.zip

 

This is rev314 I have compiled form source. Edits for revision id key (set for iMac9,1) and added to info.plist Legacy info for my Bluetooth USB.

 

I have tried this in /S/L/E and /E/E

 

I have also tried stock fackesmc v2.5 in /S/L/E only as this version doesn't load form /E/E (i don't think!)

 

p.s. There's one thing that might have slipped by, and that is that using a pre-linked kernel will make Revolution skip loading of all kexts and/or MKexts. I hope this was clear from the beginning.

 

It was clear and I have tested with and without pre-linked kernel option.

 

Cheers

D

Link to comment
Share on other sites

Why do you have 10.0.0? Can't find a single Apple kext with this value in it. Didn't Lion just start using 9.0?

post-669976-1299512453_thumb.png

 

 

Cool. Was just to be sure.

 

Can I ask what values you use?

If I set to 8.0 (current for 10.6.6) then it wont load even with chameleon!

 

D

Link to comment
Share on other sites

I've never paid much attention to those settings in FakeSMC and just used the defaults which are as FKA's image shows. Doing so has never caused me any issues. I'll have a look in to changing me value here..

 

LOL That's impossible. Had lots of fun. Miss this kind of social behaviour when I am working on this project. Don't do chats so they have to phone me, and I'm not at my best when my head is somewhere else... in project city.

...

Anyway. We'll get there eventually. No rush here.

...

Yup. Sometimes we have to wait just a tad longer to get a fine cake out of the oven. Yummy.

Good to hear you had fun... it's great spending time with friends and having a good laugh. And I know what you mean about having your head somewhere else. I'm bad too when I have my head stuck in to the computer.. (Note to self: I must spend less time on it!!) :)

 

But you're right, no rush and I would prefer a tasty cake :)

Link to comment
Share on other sites

I've checked the fake smc kext I've tried and I have this bundle required:

 

From the last fakesmc by netkas (that I belive is 2.5 but in the info plist is 2.1 or 2) uh ... it loads from /E/E either

<key>com.apple.iokit.IOACPIFamily</key>

<string>1.0.0d1</string>

<key>com.apple.kpi.iokit</key>

<string>7.0</string>

<key>com.apple.kpi.libkern</key>

<string>8.0.0d0</string>

<key>com.apple.kpi.unsupported</key>

<string>8.0.0b1</string>

 

This is instead from 2.7.1 version with temp plugin (/S/L/E only if some plugin are used)

<key>com.apple.iokit.IOACPIFamily</key>

<string>1.0.0d1</string>

<key>com.apple.kpi.iokit</key>

<string>9.0.0</string>

<key>com.apple.kpi.libkern</key>

<string>9.0.0</string>

<key>com.apple.kpi.unsupported</key>

<string>9.0.0</string>

 

and the last that is like FKA's one from fakesmc 3.1.0

<key>com.apple.iokit.IOACPIFamily</key>

<string>1.0.0d1</string>

<key>com.apple.kpi.iokit</key>

<string>10.0.0</string>

<key>com.apple.kpi.libkern</key>

<string>10.0.0</string>

<key>com.apple.kpi.mach</key>

<string>10.0.0</string>

<key>com.apple.kpi.unsupported</key>

<string>10.0.0</string>

 

Note that all this fakesmc are load without problem with other bootloader

 

Edits for revision id key (set for iMac9,1)

Looking at your file I think that 7 is for iMac9,1 but can you point me were to find the rev key for other type of machine (MacPro3,1)

Link to comment
Share on other sites

Looking at your file I think that 7 is for iMac9,1 but can you point me were to find the rev key for other type of machine (MacPro3,1)

 

I think the stock value is for 3,1. sorry I can't help more, I was using a guide on prasys blog but it's out of action at the moment.

 

DHP - I've just use your values and I get exactly the same KP.

As scrax says using 10.0 works with other booters just fine and blackosx also uses these values with chameleon and has no problem.

I don't think this is my solution.

 

Cheers

D

Link to comment
Share on other sites

Please run kextcache -system-mkext and log the output. Use man kextcache if you don't know how to do this for /Extra/ Thanks.

 

I'm out of here for tonight mate.

Check back i tomorrow.

 

D

Link to comment
Share on other sites

Hi scrax,

I'm not sure what is going on here, but I think that Chameleon loads all kexts from /Extra/Extensions/ even when it shouldn't. Wait. They didn't patch load.c like I did? Their copy is still broken.? Right. Now compare that with mine:

Hi DHP,

I'm too not sure I can understand the code differences, but also with xpc, BootThink or GRUB2 I can boot using fakesmc with the different info.plist and they are not chamelon based, so this makes me think that Revo is doing some checkin in the info.plist of fakesmc and refuse to load it but i know it's not true.

Adding that from my experience when booting without loading fakesmc I have no kp but simply it will keep wait for it, I came to the conclusion that

I'm not sure that with Revo fakesmc isn't loaded, maybe the problem is somewhere else.

 

How many here use a Core2Quad with Revo other than me and FKA?

...

STLVNUB can you share your static cpu data?

 

 

Hi scrax

Have you enabled #define DEBUG_DRIVERS ?

Yes. I double checked also :P

:)

 

Please run kextcache -system-mkext and log the output. Use man kextcache if you don't know how to do this for /Extra/ Thanks.

here mine:

log.txt

on terminal this log is posted twice.

 

done with

sudo kextcache -mkext2 /Volumes/ScraxMac/Extra/TEST.mkext /Volumes/ScraxMac/Extra/Extensions/

 

where /Volumes/ScraxMac is my test Snow volume used with Revolution

Link to comment
Share on other sites

Time to go to bed for me, but not before... releasing Revolution v0.6.48 Tada :D

 

I'll read your comments in five hours from now so good night gentlemen ;)

Blimey.. Good job DHP...

I missed this.. and have only downloaded it now... So I might be able to test it before I leave for work...

 

EDIT:

Well I didn't get much time but I did get a couple of tests in.

Frist of all Snow Leopard boots just fine with rev-648.

Booting Lion gave me this:

post-331032-1299576222_thumb.jpg

 

I'd better get on with some work now, but I'll check in when I can to give more details of what I did.

Link to comment
Share on other sites

Interesting post from Rene at netkas.org..

So i have made a Video from Booting..

 

@ Netkas, @cparm

fact is.. the kernelcache is loaded 2 Times, the screen changes so fast, so noone had seen this before?

 

why should load the osx the kernelcache 2 times..on two DIFFERENT Adresses?

 

Maybe the cause for the Double-Error?

That was from using the revised RC3 from netkas. I haven't checked this myself using the Revolution code, but could this be relevant here too?

Link to comment
Share on other sites

Hi Blackosx,

 

Nope. Not here.

 

Tip: Remove all kexts from /System/Library/Extensions plus the kernelcache and boot. What do you get? Ha. It's the same error.... like I said. The kernel can't get to them. Not even from the kernel cache... until something magically happens :)

 

That knowing wink at the end says it all! DHP maybe you were born to be a magician!

Link to comment
Share on other sites

I'm not sure that with Revo fakesmc isn't loaded, maybe the problem is somewhere else.

 

I agree scrax!

I'd somehow totally messed up permissions for my /Extra folder. Now they are fixed I'm back to the same problem, where by I fix permissions and can then boot and restart but if I shutdown I can then no longer boot and get the same AppleACPI related KP.

Pic from last KP bellow:

 

post-275122-1299596607_thumb.jpg

 

Sorry to have taken the problem round in circles :wacko:

 

He's my output from kextcache. But I guess this isn't relevant anymore?:

 

mkext.txt

 

Testing again with DHP dependencies in FakeSMC ...

 

D

Link to comment
Share on other sites

Let me introduce the next generation of Revstart

Hi STLVNUB

 

I've only had a quick look at your latest v1.9 of RevStart and I see you've been busy by adding a few more options as well as tweaking some of the scripts. Well done.. :)

 

However, I have a problem, in that I've also been working with the scripts here and changed quite a bit which has resulted in my code v1.9pre_a being quite different to your v1.9a.

 

The manual procedures in my version work great, though at the moment the auto procedures aren't working. I was in the middle of trying to get my head around the whole concept of your scripts to auto generate a bootable volume but since you released a revised v1.9a I have stopped as I feel I would have to stop and start again with those.

 

Therefore, I am posting what I have to show you and see where we should go from here. The changes I've made are quite dramatic in as much as I have:

 

• Re-organised the ProjectRevolution folder.

• Renamed some of the variables to make them more obvious to me.

• Split the script in to sub-scripts to make it more manageable for me, and also to maybe make future changes by you or me easier to integrate?

• Re-worked the menu to include numbered options.

• Tried to make it more presentable.

• Many other smaller changes…

• Updated the ReadMe to try to give some instructions.

 

• Note: My changes aren't complete at this point. This is just a work-in-progress.

 

You might feel that some of what I've done is unnecessary but this is how I prefer to work. Also, one of the reason's I split the scripts is to maybe leave the scripts for creating the bootable volumes to you as they're more specialised and you know what you're doing there :P

 

Let me know your thoughts and we'll see if we can come to an agreement of what to do next.

 

oh.. and here's the ProjectRevolution v1.9pre_a folder

ProjectRevolution_1.9pre_a.zip

Regards

Blackosx

 

Nope. Not here.

Hi DHP

 

That's good. I thought I would just check.

 

Tip: Remove all kexts from /System/Library/Extensions plus the kernelcache and boot. What do you get? Ha. It's the same error....

I'll test this out tonight

 

EDIT: Not here.. I get this KP when I remove /System/Library/Extensions and the kernelcache from my USB.

post-331032-1299609989_thumb.jpg

 

...like I said. The kernel can't get to them. Not even from the kernel cache... until something magically happens ;)

Looking forward to learning the magic... of course, only when the cake is ready :)

Link to comment
Share on other sites

Testing again with DHP dependencies in FakeSMC ...

 

D

 

OK this makes no difference - But I am starting to make some more sense out of the problem.

 

If I boot to my Revolution test HDD using chameleon and rebuild system mkext in /S/L/C/c/S then restart with Revolution I get a good boot and Debug shows NumDrivers 312

 

If I then shutdown and restart with Revolution I get the AppleACPIExpert type KP but NumDrivers still reads 312.

 

List of kexts in system mkext bellow for mkext rebuilt in chameleon that leads to a good boot and mkext post shutdown. They are the same!

 

mkextbooting.txt

mkextKP.txt

 

And also both mkext here: http://www.mediafire.com/?kh3x20ryxpqk0qq

 

If I clear system mkext and reboot with Revolution NumDrivers reads 152 and I get same AppleACPI KP.

 

I have no idea what's causing the problem after shutdown or when Revolution is left to build kextcache, maybe change of permissions on system mkext after shutdown??

 

BTW _ All tests have been done with Pre-Linked kernel option set to 0

 

Hope this helps some !

 

D

Link to comment
Share on other sites

Hi FKA.

 

Sorry if you've already posted this but I'm being lazy and haven't read through your last week of posts since you've been having problems. But can you boot your system from a bootable Revolution USB?

Link to comment
Share on other sites

Hi FKA.

 

Sorry if you've already posted this but I'm being lazy and haven't read through your last week of posts since you've been having problems. But can you boot your system from a bootable Revolution USB?

 

Haven't tried mate. I was assuming the project was good to go with an install to HDD.

I'll try to get round to trying a USB this evening.

 

D

Link to comment
Share on other sites

I was assuming the project was good to go with an install to HDD.

It is. I was just thinking along the lines of you trying a complete fresh Revolution build / install to start again. Sometimes this approach can help to iron out any errors etc. And doing it on USB is a good way to go about it.

 

Will check out your work and it might be better to start PM'ing instead of using this thread.

Okay. PM's are fine with me, though please excuse if mine's full every now and then.. I try to keep on top of my housekeeping but sometimes I get bombarded with help requests, questions etc. which fills it up.. (well maybe not quite bombarded, but a few Lol.. )

Link to comment
Share on other sites

It is. I was just thinking along the lines of you trying a complete fresh Revolution build / install to start again. Sometimes this approach can help to iron out any errors etc. And doing it on USB is a good way to go about it.

 

I get your point. Believe me I've started over several time now .. :unsure:

Link to comment
Share on other sites

Hi all.

 

DHP just tried 648 and no problems, then updated with the later boot & boostruct files and dont get beyond grey apple. Ran the debug on boot.c and get:

 boot0: GPT
boot0: testing
boot0: done
boot1: /boot
gArchCPUType (CPU): i386
No com.apple.Boot.plist found.
No UUID specified in com.apple.Boot.plist
Booting from a Non System Volume, getting UUID.
Success (volume uuid)
bootFile empty!
Sleeping for 5 seconds….
execKernel1-0
execKernel1-1
mach-o file has bad magic number
DecodeKernel() failed!

 

Wont be around much this evening i'm putting a replacement bios chip on the P5K VM which i trashed a while ago as I want to start playing with Lion. (been trying it out on the MacMini), also got A G5 case so will be doing a conversion on that as well soon.

 

Keep up the good work guys and gal, hopefully Revolution will be booting Lion soon.

Link to comment
Share on other sites

@FKA: Try this. Boot in single user mode and run the following script:

 

mkcache.sh (v2)

#!/bin/sh
sudo touch /System/Library/Extensions/
sudo kextcache -system-caches
sudo kextcache -system-prelinked-kernel

 

This will update / create:

 

/System/Library/Caches/com.apple.kext.caches/Directories/System/Library/Extensions/

/System/Library/Caches/com.apple.kext.caches/Startup/Extensions.mkext

/System/Library/Caches/com.apple.kext.caches/Startup/kernelcache_ARCH_ADLER32

 

This little script is what I have in / and run when things go bust. Works for me and for someone who ran into this today:

FakeSMC.kext is not authentic; omitting from mkext.
Authentication Failures: 
File owner/permissions are incorrect (must be root:wheel, nonwritable by group/other): 
	/Volumes/Snow Cat/System/Library/Extensions/fakesmc.kext/Contents
	/Volumes/Snow Cat/System/Library/Extensions/fakesmc.kext/Contents/Info.plist
	/Volumes/Snow Cat/System/Library/Extensions/fakesmc.kext/Contents/MacOS
	/Volumes/Snow Cat/System/Library/Extensions/fakesmc.kext/Contents/MacOS/fakesmc
	/Volumes/Snow Cat/System/Library/Extensions/fakesmc.kext/Contents/Resources
	/Volumes/Snow Cat/System/Library/Extensions/fakesmc.kext/Contents/Resources/English.lproj
	/Volumes/Snow Cat/System/Library/Extensions/fakesmc.kext/Contents/Resources/English.lproj/InfoPlist.strings

Note that this was the output after Disk Utility was run (disk permissions) and all was fine. But it wasn't (write permission on group for Contents ignored).

 

p.s. If you can't even boot with -x (or by pressing the x-key) when something is seriously broken (then we just have to figure out what).

There is also Applejack for similar purposes.

I'd installed it just in case I might need it.

Link to comment
Share on other sites

Sorry bit busy. Lost my iPhone :) and I am trying to locate it right now (with help of MobileMe's Find My iPhone).

I Hope you find it. Has it been stolen or have you just put it somewhere?

 

Oops. I forgot to reply to the Chameleon dev team – someone asked me to join them on IRC / said: "your work has been demonstrating some amazing progress." :gun:

Great.. You've been wanting support from other devs, I've asked you before here about liaising with them and I've spoken about you. It's only right you get involved as you have done great here with some wonderful ideas. I wish you every success and hope you and your ideas are accepted by everyone.

Link to comment
Share on other sites

 Share

×
×
  • Create New...