overdue-scratch

Author Topic: SystemId  (Read 15018 times)

0 Members and 1 Guest are viewing this topic.

smith@@

  • Member
  • Posts: 49
SystemId
« on: August 20, 2010, 07:52:10 PM »
First of all, sorry for english and for text..

Anyway, on my little msi u100 i had always this tiny problem.

Until now, only on this pc, I was forced to use the platformuuid kext to inject the hardware uuid, because in two following cases I have an hardware uuid like this: 000000000-000 - etc. etc.
and consequent errors of "host 35" in console and so on......

Two cases: injection made by booter and injection with override SystemId in com.apple.boot etc..

 Ok, now, in some tests this evening with revisions made by azimutz, both chazileon and clean cut, the problem there isn't anymore. Only with these two rev from azi if booter inject the harware uud i have a RIGHT hardware uuid  9878979-43343-DS43 ..... and NO errors in console, obviously
The same good result if i ovverride with SystemId in com.apple etc. etc.

 So on, I have controlled the boothelp.txt from repository of all revision and for this particular case i haven't found differences.

I do not know if I was very clear but i want say that with azimutz's rev also on my little msi the booter inject the right hardwareuuid and so No errors in console and Not platformuuid kext to use. For my desktops, on my sony lappy, and so on, this "problem" does not exist from very long time  ::) 

Ok, 2 question:  what are the differences in this specific case?  And if is it possible fix this also for trunk?

I hope to be very clear but the little problem, if problem is, is real. Only on msi u100 netbook, in this specific case.



Thanks  :)
« Last Edit: August 20, 2010, 08:57:21 PM by smith@@ »

Azimutz

  • VoodooLabs
  • Posts: 420
  • Paranoid Android
Re: SystemId
« Reply #1 on: August 21, 2010, 12:53:57 AM »
Hi Smith@@,

i got you clearly :)
Explaining:
the difference on my branch on this matter, is the patch for this issue.
To put it simple, the Atom processor on you notebook is 32 bit only; these processors seem to need EFI32 set
for hardware uuid to work properly (and some other stuff). The problem is that Chameleon is using only
EFI64 since RC4; the patch only does the switch between EFI 32 & 64 according to the cpu architecture.
The issue was accepted so, it's just a matter of time for this to be fixed on the trunk.
If everything is working fine, you should be getting the uuid from bios dmi, the real one that any OS
installed on that machine will see.

Still about my branch; be careful because there are other important changes, mainly on file loading.
Will add some documentation this night weekend for sure.. only needs clean up.
Hey.. and Thanks for trying the stuff and reporting :)
Besides my own tests, your's is the first feedback i get on this issue and not on purpose, from a 32 bit processor,
that i don't own. To test this i need to use -legacy kernel flag on my Pentium D 925.

See you around...
« Last Edit: August 22, 2010, 03:35:28 AM by Azimutz »
 System & Patches: http://goo.gl/i961
 Chameleon:
- trunk builds: http://goo.gl/9G1Hq
- pref pane: http://goo.gl/OL2UT

smith@@

  • Member
  • Posts: 49
Re: SystemId
« Reply #2 on: August 21, 2010, 01:08:53 AM »
Hi Smith@@,

i got you clearly :)
Explaining:
the difference on my branch on this matter, is the patch for this issue.
To put it simple, the Atom processor on you notebook is 32 bit only; these processors seem to need EFI32 set
for hardware uuid to work properly (and some other stuff). The problem is that Chameleon is using only
EFI64 since RC4; the patch only does the switch between EFI 32 & 64 according to the cpu architecture.
The issue was accepted so, it's just a matter of time for this to be fixed on the trunk.
If everything is working fine, you should be getting the uuid from bios dmi, the real one that any OS
installed on that machine will see.

That discussion I had completely ignored, my mistake  :(
---
Perfect, NOW i understand.  Your chazileon works well, so also clean cut, specially for this issue.

Still about my branch; be careful because there are other important changes, mainly on file loading.
Will add some documentation this night for sure.. only needs clean up.

I hoped in this, some things aren't clear about all your changes ;)

Hey.. and Thanks for trying the stuff and reporting :)
Besides my own tests, your's is the first feedback i get on this issue and not on purpose, from a 32 bit processor,
that i don't own. To test this i need to use -legacy kernel flag on my Pentium D 925.

See you around...

You're welcome. With your rev the correct uuid automatically is shown, not with other or trunk, but now i understand why ;)

I tested chazileon on my other desktop (64) and the uuid is shown correctly, so it works really good, at least for me. I hope that the patch will be to add in trunk very early..

And i wait your new documentation about the changes of your branche  8)
« Last Edit: August 21, 2010, 01:14:54 AM by smith@@ »

smith@@

  • Member
  • Posts: 49
Re: SystemId
« Reply #3 on: August 21, 2010, 01:23:38 AM »
Azi, in cleancut about changes i read this:
   - Removed -x32 option, use arch=i386 instead

but in boothelp i read instead this:
 32 (i386 arch)

Both?

Also, about changes of chazileon, i see new "stuff" during the chameleon loading.  But i don't see nothing in changes. Like for example tha patch for efi32

Thanks ;)


...Other 2 things:  can you add back the f flag to both chazileon and clean? And update the boothelp.txt of both?
« Last Edit: August 21, 2010, 02:36:38 AM by smith@@ »

smith@@

  • Member
  • Posts: 49
Re: SystemId
« Reply #4 on: August 21, 2010, 12:14:49 PM »
Thanks Azi, for fixing the boothelp.txt finally ;)

PM..
« Last Edit: August 21, 2010, 12:18:24 PM by smith@@ »

Azimutz

  • VoodooLabs
  • Posts: 420
  • Paranoid Android
Re: SystemId
« Reply #5 on: August 22, 2010, 03:44:41 AM »
Smith@@,
i'll get back here as soon as possible... will update this post if you don't post in between :)

EDIT: man, just lost all the docks i had "almost" ready to commit >:( pissed at my self!!!
Well (grabbing a beer to calm down), i'll just have to start all over again. Maybe it's better this way..
Maybe it's destiny :P could be if i believed in it.

Smith, the BootHelp.txt has always been up to date on my branch!
This comment:
Quote
- Removed -x32 option, use arch=i386 instead
it's from the trunk (rev 377). Make sure you don't confuse this stuff.
Also, my branch (azimutz) has 2 projects, CleanCut and Chazileon.
CleanCut is meant to commit some patches, the ones i think are most useful for Chameleon,
that work properly for everyone and keep it as close as possible to the trunk.
Chazileon is a copy of my work folder as it is at the moment, the booter i use.
Same stuff but with more patches, experiments, comments, style edits, etc, etc, etc... but will be gone soon...
Keep an eye on the repo ;)
« Last Edit: August 22, 2010, 06:38:50 AM by Azimutz »
 System & Patches: http://goo.gl/i961
 Chameleon:
- trunk builds: http://goo.gl/9G1Hq
- pref pane: http://goo.gl/OL2UT

smith@@

  • Member
  • Posts: 49
Re: SystemId
« Reply #6 on: August 22, 2010, 02:48:18 PM »
Quote
EDIT: man, just lost all the docks i had "almost" ready to commit  pissed at my self!!!

AHAHAHAH     :lol: 

Quote
Well (grabbing a beer to calm down), i'll just have to start all over again. Maybe it's better this way..
Maybe it's destiny  could be if i believed in it.

Great man!

Quote
Smith, the BootHelp.txt has always been up to date on my branch!
 Removed -x32 option, use arch=i386 instead

This is my mistake, again, i war referring to CHANGES.txt, not boothelp.txt, sorry for mistake. In fact also now in that file there is still that string as in trunk obviously
BTW it's ok I see what you want say me;)  Too many hot here, really too many hot, i'm crazing :(

Quote
CleanCut is meant to commit some patches, the ones i think are most useful for Chameleon,
that work properly for everyone and keep it as close as possible to the trunk.
Chazileon is a copy of my work folder as it is at the moment, the booter i use.
Same stuff but with more patches, experiments, comments, style edits, etc, etc, etc... but will be gone soon...

I know I know, hence you confirm that clean cut soon will take with it most of the stuff of chazileon until this last 'disappear'. Right?

Quote
Same stuff but with more patches, experiments, comments, style edits, etc, etc, etc

I like it. Listen, for testing, can you try to add these two patch: the usblegacyoff from meklort boot (really work well that patch) and the code to patch to fly atom processors http://forum.voodooprojects.org/index.php/topic,1153.0.html

I mean essentially also to this part
From meklort branch:
Code: [Select]
1        Fixed lapic_init patch. Fixed _cpuid_set_info patch to work on the 10.6.0 / 10.6.1 kernel (patches cpumodel)
2 - Added USB Legacy Off patch. Modified to run immediately *before* the kernel is executed, that
3   way no files need to be loaded after the usb device is reset.
4 - Backup original dsdt to /dsdt/originaldsdt in the IORegistery
5 - Added kernel patcher, removes the CPUID check panic in the kernel. Forces _cpuid_set_info to
6   return Penryn / cpuid model 23

Sorry for English my friend ;)
« Last Edit: August 22, 2010, 02:57:42 PM by smith@@ »

Azimutz

  • VoodooLabs
  • Posts: 420
  • Paranoid Android
Re: SystemId
« Reply #7 on: August 23, 2010, 06:26:41 PM »
Hi Smith@@,

don't worry about English, i get it.. if i don't understand something i'll ask :)
Well, added some literature to CleanCut, still doing other but the main stuff i lost is done.
The CHANGES file you were reading is also the trunk one; that one will always reflect the trunk changes.
My changes and docs will be on "doc-azi" folder, to avoid confusions.

I   know I know, hence you confirm that clean cut soon will take with it   most of the stuff of chazileon until this last 'disappear'. Right?
yeah, something like that :) but there will always be a CleanCut, at least for now. Not sure about the future..

Listen, for testing, can you try to add these two patch...

1 - Fixed lapic_init patch. Fixed _cpuid_set_info patch to work on the 10.6.0 / 10.6.1 kernel (patches cpumodel)
2 - Added USB Legacy Off patch. Modified to run immediately *before* the kernel is executed,
     that way no files need to be loaded after the usb device is reset.
4 - Backup original dsdt to /dsdt/originaldsdt in the IORegistery
5 - Added kernel patcher, removes the CPUID check panic in the kernel.
     Forces _cpuid_set_info to return Penryn / cpuid model 23
USBLegacyOff is already on the trunk so, it's also on my branch too.
The others are on Chazileon (Chazi), except 4. You need to use PatchKernel=y to activate the kernel patching.
Meklort added new stuff to his branch recently related to this; i think kernel patcher is already working, judging by
his comments; still didn't had time to check it out. Will do asap ;)

Take a look at CleanCut docs, see if that helps. Need to finish FileLoad.txt to go with CHANGES.
See ya later...

p.s.: edited to correct kernel patcher key.
« Last Edit: August 26, 2010, 08:55:56 PM by Azimutz »
 System & Patches: http://goo.gl/i961
 Chameleon:
- trunk builds: http://goo.gl/9G1Hq
- pref pane: http://goo.gl/OL2UT

smith@@

  • Member
  • Posts: 49
Re: SystemId
« Reply #8 on: August 23, 2010, 07:04:37 PM »
ahahaha ok my friend, i 'm officially losting  :lol:

BTW, some caveats:

Quote
USBLegacyOff is already on the trunk so, it's also on my branch too.

Yep ;)   because also for this i hadn't seen trace in trunk's changes, but if you says that it is there anyway is there;)

Quote
Fixed lapic_init patch. Fixed _cpuid_set_info patch to work on the 10.6.0 / 10.6.1 kernel (patches cpumodel)

Can you say me if this patch works also with 10.6.3/4 and automatically for next? I think that this can be important I ask you this because maybe i can buy a hp lappy with core i7 and i wouldn't to use directly a pathced kernel. The result is the same, i know, but.. .

Quote
Added kernel patcher, removes the CPUID check panic in the kernel.
     Forces _cpuid_set_info to return Penryn / cpuid model 23

I'm a bit confuse on this. Can you show me some use example of this patch?

Also, for atom and their patching on fly?

Last:
Quote
KernelPatcher=y

This key is for patch #1, is for #5 ?

Sorry for these MANY questions, but this is the single way to clarify my ideas and not only my ;)

See ya my friend


« Last Edit: August 23, 2010, 07:46:25 PM by smith@@ »

Azimutz

  • VoodooLabs
  • Posts: 420
  • Paranoid Android
Re: SystemId
« Reply #9 on: August 23, 2010, 08:58:32 PM »
Check the BootHelp.txt, USBLegacyOff key it's there. (link)

Quote
Can you say me if this patch works also with 10.6.3/4 and automatically   for next? I think that this can be important I ask you this because   maybe i can buy a hp lappy with core i7 and i wouldn't to use directly a   pathced kernel. The result is the same, i know, but.. .
Not sure if it will always work.. Mek is the right person to answer that. I remember reading something about that on the topic!?

Quote
Forces _cpuid_set_info to return Penryn / cpuid model 23
This is the cpu model returned for an Atom processor.
The patch for cpu id works like this: if it's an Atom, impersonate Penryn cpu; if it's other cpu, remove just the unknown cpu panic; if it's a supported cpu, don't patch.

The key anables all, patch_commpage_stuff, patch_lapic_init and patch_cpuid_set_info.

Hey, what do you mean with this?
Quote
i 'm officially losting
:)
 System & Patches: http://goo.gl/i961
 Chameleon:
- trunk builds: http://goo.gl/9G1Hq
- pref pane: http://goo.gl/OL2UT

smith@@

  • Member
  • Posts: 49
Re: SystemId
« Reply #10 on: August 23, 2010, 09:12:20 PM »
Quote
Check the BootHelp.txt, USBLegacyOff key it's there.

D'oh! Strange, i'm searching this and never i've see it, btw thanks..

Quote
Not sure if it will always work.. Mek is the right person to answer that. I remember reading something about that on the topic!?

Good question, i'll try to ask him ;)


Quote
This is the cpu model returned for an Atom processor.
The patch for cpu id works like this: if it's an Atom, impersonate Penryn cpu; if it's other cpu, remove just the unknown cpu panic; if it's a supported cpu, don't patch.

The key anables all, patch_commpage_stuff, patch_lapic_init and patch_cpuid_set_info.

Amazing, hence with that key on yes, i can to forget to use a patched kernel for my atom,, amazing ;)
Btw, i think that now i will to use chazileon on my little msi, and not only here. Chazileon instead cleancut  :o

Only doubt now is on meklort patch by as already written, i will to ask him..

Quote
Hey, what do you mean with this?

Oh, nothing of particualr, simply i'm losing, losting in all these options, txt file, help file, etc...  It is a way of saying ironic, joke  :lol:

;)

Azimutz

  • VoodooLabs
  • Posts: 420
  • Paranoid Android
Re: SystemId
« Reply #11 on: August 23, 2010, 11:12:00 PM »
aah, lost in file confusion :) yeah, i know the feeling :P

Yep, with Chazileon you can use Vanilla kernel on the Atom. And i can boot vanilla kernel too if i use the -legacy flag ;D
I only added PatchKernel=y/n to be able to test patched kernel, i need to use one to boot with 64 Bit Mode enabled
or x86_64 kernel.
I'm thinking of adding the kernel patcher to CleanCut; in fact, the only thing i will keep out (related to patches) is the
AutoResolution, since it doesn't work properly for everyone. Anyway, i have the feeling this will end up on the trunk!?

Still about this:
Quote
Can you say me if this patch works also with 10.6.3/4 and automatically for next?
the best is really ask the man; i took a look at the topic and there's no clue.
What i read is about other stuff or was on another place i can't remember now.. maybe on his blog, yeah!?


p.s.: edited to correct kernel patcher key.
« Last Edit: August 24, 2010, 04:39:08 PM by Azimutz »
 System & Patches: http://goo.gl/i961
 Chameleon:
- trunk builds: http://goo.gl/9G1Hq
- pref pane: http://goo.gl/OL2UT

meklort

  • VoodooLabs
  • Posts: 65
Re: SystemId
« Reply #12 on: August 28, 2010, 02:27:00 AM »
I'm thinking of adding the kernel patcher to CleanCut; in fact, the only thing i will keep out (related to patches) is the
AutoResolution, since it doesn't work properly for everyone. Anyway, i have the feeling this will end up on the trunk!?

Still about this:
Quote
Can you say me if this patch works also with 10.6.3/4 and automatically for next?
the best is really ask the man; i took a look at the topic and there's no clue.
What i read is about other stuff or was on another place i can't remember now.. maybe on his blog, yeah!?

As far as I know, the kernel patcher will never be added to trunk. Anyways, I've been rewriting it a lot to be much cleaner, 64bit support, making it easier for others to write patches, and to changing it to a module.

The comment about the kernel_patcher and 10.6.0/1 is that is used to only work on the 10.6.2, 10.6.3, and 10.6.4 kernels, since that commit it works on all (vanilla) kernels.

As far as it fixing thing for the i7, I have no clue, it really depends on what needs fixing (I'm sure patches could be written for it though).

As far as the resolution code, it needs some cleanup / to be rewritten some, it really isn't something that should be in trunk at the moment.
return c ? c : !c;

Azimutz

  • VoodooLabs
  • Posts: 420
  • Paranoid Android
Re: SystemId
« Reply #13 on: August 28, 2010, 04:29:53 AM »
Hi Meklort,

thanks for the comments...

Quote
As far as I know, the kernel patcher will never be added to trunk. Anyways, I've been rewriting it a lot to be much cleaner, 64bit support, making it easier for others to write patches, and to changing it to a module.
Well, that was/is my main feeling and if you say so... need a reason to comment. Anyways... :)
I've been keeping an eye on the latest developments on your branch... nice stuff!! Need some clarification...
Will continue talking about this stuff on the other topic, about porting your patches;
just finished spamming a topic, don't want to start on another :P

Quote
The comment about the kernel_patcher and 10.6.0/1 is that is used to only work on the 10.6.2, 10.6.3, and 10.6.4 kernels, since that commit it works on all (vanilla) kernels.
yep... but the question we were talking about is, if it will work for future kernels, without code maintenance?
This can be a major reason for not adding the patch to the trunk!

Quote
As far as the resolution code, it needs some cleanup / to be rewritten some, it really isn't something that should be in trunk at the moment.
The AutoResolution code i mentioned is the one on the branch with the same name. This would be a great Chameleon addition, if it worked properly for everyone.

See ya later...
« Last Edit: August 28, 2010, 04:42:54 AM by Azimutz »
 System & Patches: http://goo.gl/i961
 Chameleon:
- trunk builds: http://goo.gl/9G1Hq
- pref pane: http://goo.gl/OL2UT

meklort

  • VoodooLabs
  • Posts: 65
Re: SystemId
« Reply #14 on: August 28, 2010, 05:20:55 AM »
Will continue talking about this stuff on the other topic, about porting your patches;
just finished spamming a topic, don't want to start on another :P
You said that before and it never happened...

yep... but the question we were talking about is, if it will work for future kernels, without code maintenance?
This can be a major reason for not adding the patch to the trunk!

It's depended on the kernel. If apple goes and rewrite the cpuid_set_info function, or even just renames it, the current version will break. That isn't so say it can't be fixed easily, it just depends on what Apple changes. Fortunately Apple doesn't seem to care that much. Also fortunately is that I am a registered developer with apple and I do get the prerelease software, so I can often fix the bootloader before the next update is out.
return c ? c : !c;