Jump to content

Mavericks kernel testing on AMD (formerly Mountain Lion kernel testing on AMD)


theconnactic
 Share

6,414 posts in this topic

Recommended Posts

These two kexts have the problem with "still wait for root device ....." adjusted to my system.

 

 

 

:thumbsup_anim::superman: Good night

 

Hi!

The problem with my IDE system was the missing kexts for IDE drives (ApplePIIXATA.kext and other stuff).

With my Phenom II 965 system and SATA drives (correct kexts), it loaded, but paniced.

 

EDIT: The pic... :)

 

1. This is just an example of the messages I get. I get like thousands of those lines, will probably take a video soon...

2. IOStorageFamily.kext, again. I think it causes the panic. NOTE: This is not with Spakk's kexts! Will try with them soon!

3. Here you can see my boot flags and other stuff related to the kernel, 11.4.0 as you can see.

 

7rlS9.jpg

 

EDIT2: Spakk's kexts: Loads maybe a little further (don't know)... Stuck on some kext loading, again. It appears to be a wrong version of IOStorageFamily.kext.

yLB8S.jpg

 

EDIT3: So close, but still so far. Found out that after about 3 restarts the kext thingy fixed itself. New panic.

tMyFg.jpg

 

Quick googling and it seems that the error is somehow to related to HDD (or in this case USB-stick) failing. However, I don't know if thats the case, the stick works fine with other computers... :D

 

EDIT4: I can confirm it is not related to any specific HDD or usb-stick. Tried booting from the IDE-drive (with AppleVIAATA.kext or something, same panic: Process 1 exec of /sbin/launchd failed, errno 86

 

EDIT5: Tried with launchd from SL 10.6.8, same panic. I think we need the Lion 10.7.4 launchd?

Heres the function that calls the panic, some coder could take a look:

 

load_init_program(proc_t p)
{
vm_offset_t init_addr;
int argc = 0;
uint32_t argv[3];
int error;
int retval[2];
/*
* Copy out program name.
*/
init_addr = VM_MIN_ADDRESS;
(void) vm_allocate(current_map(), &init_addr, PAGE_SIZE,
VM_FLAGS_ANYWHERE);
if (init_addr == 0)
init_addr++;
(void) copyout((caddr_t) init_program_name, CAST_USER_ADDR_T(init_addr),
(unsigned) sizeof(init_program_name)+1);
argv[argc++] = (uint32_t)init_addr;
init_addr += sizeof(init_program_name);
init_addr = (vm_offset_t)ROUND_PTR(char, init_addr);
/*
* Put out first (and only) argument, similarly.
* Assumes everything fits in a page as allocated
* above.
*/
if (boothowto & RB_SINGLE) {
const char *init_args = "-s";
copyout(init_args, CAST_USER_ADDR_T(init_addr),
strlen(init_args));
argv[argc++] = (uint32_t)init_addr;
init_addr += strlen(init_args);
init_addr = (vm_offset_t)ROUND_PTR(char, init_addr);
}
/*
* Null-end the argument list
*/
argv[argc] = 0;

/*
* Copy out the argument list.
*/

(void) copyout((caddr_t) argv, CAST_USER_ADDR_T(init_addr),
(unsigned) sizeof(argv));
/*
* Set up argument block for fake call to execve.
*/
init_exec_args.fname = CAST_USER_ADDR_T(argv[0]);
init_exec_args.argp = CAST_USER_ADDR_T((char **)init_addr);
init_exec_args.envp = CAST_USER_ADDR_T(0);

/*
* So that mach_init task is set with uid,gid 0 token
*/
set_security_token(p);
if (KERN_patcherOpts & OPT_PATCHER_DEBUG)
dump_patcher_opts();
error = execve(p,&init_exec_args,retval);
if (error)
panic("Process 1 exec of %s failed, errno %d",
 init_program_name, error);
}

 

Also, here is something kinda positive from Wikipedia:

launchd launchd has two main tasks. The first is to boot the system, and the second is to load and maintain services.

Here is a simplified view of the Mac OS X Tiger system startup on a PowerPC Mac (on an Intel Mac, EFI replaces Open Firmware and boot.efi replaces BootX):

 

1. Open Firmware activates, initializes the hardware, and then loads BootX.

2. BootX loads the kernel, spins the pinwheel cursor, and loads any needed kernel extensions (kexts).

3. The kernel loads launchd.

4. launchd runs /etc/rc, scans through /System/Library/LaunchAgents and /Library/LaunchDaemons and acts on the plists as needed, and starts the login window.

 

So, about 50% boot! :D

Link to comment
Share on other sites

:thumbsup_anim:

 

 

Advanced nice! I wonder if the problem is not in Extension/coreservice, as 11.4 is able to start, it should go through ??

 

I returned to the test :moil:

 

The problem at this moment is LaunchDaemon. It throws error 86, no idea what it is.

I think launchd is open source too, so someone could take a look :)

 

Anyway, I'm downloading the 10.7.4 combo update, trying to extract the launchd from it. :)

Link to comment
Share on other sites

Hi!

The problem with my IDE system was the missing kexts for IDE drives (ApplePIIXATA.kext and other stuff).

With my Phenom II 965 system and SATA drives (correct kexts), it loaded, but paniced.

 

EDIT: The pic... :)

 

1. This is just an example of the messages I get. I get like thousands of those lines, will probably take a video soon...

2. IOStorageFamily.kext, again. I think it causes the panic. NOTE: This is not with Spakk's kexts! Will try with them soon!

3. Here you can see my boot flags and other stuff related to the kernel, 11.4.0 as you can see.

 

 

EDIT2: Spakk's kexts: Loads maybe a little further (don't know)... Stuck on some kext loading, again. It appears to be a wrong version of IOStorageFamily.kext.

 

 

EDIT3: So close, but still so far. Found out that after about 3 restarts the kext thingy fixed itself. New panic.

 

 

Quick googling and it seems that the error is somehow to related to HDD (or in this case USB-stick) failing. However, I don't know if thats the case, the stick works fine with other computers... :D

 

EDIT4: I can confirm it is not related to any specific HDD or usb-stick. Tried booting from the IDE-drive (with AppleVIAATA.kext or something, same panic: Process 1 exec of /sbin/launchd failed, errno 86

 

EDIT5: Tried with launchd from SL 10.6.8, same panic. I think we need the Lion 10.7.4 launchd?

Heres the function that calls the panic, some coder could take a look:

 

load_init_program(proc_t p)
{
vm_offset_t init_addr;
int argc = 0;
uint32_t argv[3];
int error;
int retval[2];
/*
* Copy out program name.
*/
init_addr = VM_MIN_ADDRESS;
(void) vm_allocate(current_map(), &init_addr, PAGE_SIZE,
VM_FLAGS_ANYWHERE);
if (init_addr == 0)
init_addr++;
(void) copyout((caddr_t) init_program_name, CAST_USER_ADDR_T(init_addr),
(unsigned) sizeof(init_program_name)+1);
argv[argc++] = (uint32_t)init_addr;
init_addr += sizeof(init_program_name);
init_addr = (vm_offset_t)ROUND_PTR(char, init_addr);
/*
* Put out first (and only) argument, similarly.
* Assumes everything fits in a page as allocated
* above.
*/
if (boothowto & RB_SINGLE) {
const char *init_args = "-s";
copyout(init_args, CAST_USER_ADDR_T(init_addr),
strlen(init_args));
argv[argc++] = (uint32_t)init_addr;
init_addr += strlen(init_args);
init_addr = (vm_offset_t)ROUND_PTR(char, init_addr);
}
/*
* Null-end the argument list
*/
argv[argc] = 0;

/*
* Copy out the argument list.
*/

(void) copyout((caddr_t) argv, CAST_USER_ADDR_T(init_addr),
(unsigned) sizeof(argv));
/*
* Set up argument block for fake call to execve.
*/
init_exec_args.fname = CAST_USER_ADDR_T(argv[0]);
init_exec_args.argp = CAST_USER_ADDR_T((char **)init_addr);
init_exec_args.envp = CAST_USER_ADDR_T(0);

/*
* So that mach_init task is set with uid,gid 0 token
*/
set_security_token(p);
if (KERN_patcherOpts & OPT_PATCHER_DEBUG)
dump_patcher_opts();
error = execve(p,&init_exec_args,retval);
if (error)
panic("Process 1 exec of %s failed, errno %d",
 init_program_name, error);
}

 

Also, here is something kinda positive from Wikipedia:

 

 

So, about 50% boot! :D

 

Very good documentation and recherche, I like it very well. :thumbsup_anim: That is the only way to specifically work on a solution to our problem out to solve successfully. :wink2:

 

I miss our friend theconnatic, I did not have seen for a while here.

Link to comment
Share on other sites

I have read that some users write to try that one should dare to delete The instructions SSSE3 one possible path, the Mountain Lion would launch AMD. Has anyone tried to change the code snippets. Results, if so, what?

 

 

 

I would make so many attempts, unfortunately I am not familiar with Xcode, can someone make a video of how to use the Xcode XNU build a mach_kernel to post here? Please

 

I have now found a tutorial in German, I'll try using this manual.

 

 

but if someone would post a video example here, it would be wonderful. Then we can touch us our hands dirty and not just sit and watch idly here.

Edited by spakk
Link to comment
Share on other sites

I have read that some users write to try that one should dare to delete The instructions SSSE3 one possible path, the Mountain Lion would launch AMD. Has anyone tried to change the code snippets. Results, if so, what?

 

 

 

I would make so many attempts, unfortunately I am not familiar with Xcode, can someone make a video of how to use the Xcode XNU build a mach_kernel to post here? Please

 

I have now found a tutorial in German, I'll try using this manual.

 

 

but if someone would post a video example here, it would be wonderful. Then we can touch us our hands dirty and not just sit and watch idly here.

 

 

 

:)

 

 

 

ah ! yes !

 

it would be great, I personally do not understand it, in addition xcode is in English, I ML 10.8.2 of valid, if someone could guide us to modify and compile a kernel that would be a very large advanced so there would be more people working on it. :moil:

Link to comment
Share on other sites

:)

 

 

 

ah ! yes !

 

it would be great, I personally do not understand it, in addition xcode is in English, I ML 10.8.2 of valid, if someone could guide us to modify and compile a kernel that would be a very large advanced so there would be more people working on it. :moil:

 

Thank you confirm my view, GILS

Link to comment
Share on other sites

Now that seems possible. Is that a replacement kernel?

 

 

No, you should read it and download it, try it and tell me if this is useful.

Link to comment
Share on other sites

Back! Had a little birthday party... :D

 

Now, I'm extracting the LaunchDaemon from 10.7.4 combo update, replacing the failing one.

I've already got past of "Waiting for root device", with right kexts. Ask if you want some specific kext, I'll upload my version.

I have changed few USB kexts + IOStorage + Filesystem + VIATA + PS2 etc. :)

Link to comment
Share on other sites

No, you should read it and download it, try it and tell me if this is useful.

 

I've built it but I don't know what it did or how to use it. I ran build.sh and got these files from libSIMDx86.a,

 

files.png

 

 

:)

 

 

you replaced the kext AppleFileSystemDriver.kext a previous version (10.7) to see? it is a manipulation to be done in each update in general.

 

What do you mean?

 

 

Back! Had a little birthday party... :D

 

Now, I'm extracting the LaunchDaemon from 10.7.4 combo update, replacing the failing one.

I've already got past of "Waiting for root device", with right kexts. Ask if you want some specific kext, I'll upload my version.

I have changed few USB kexts + IOStorage + Filesystem + VIATA + PS2 etc. :)

 

Hope you enjoyed the party.

I can't get past the root device error. Always getting a USB error of some kind.

Link to comment
Share on other sites

I've built it but I don't know what it did or how to use it. I ran build.sh and got these files from libSIMDx86.a,

 

files.png

 

What do you mean?

 

http://simdx86.sourceforge.net/Building.html


  1. Get the sources and extract them.
    This can be done by going to www.sourceforge.net/projects/simdx86. Then extract them to a folder.

  2. Decide on instruction set and options
    SIMDx86 can use the following instruction sets:
    1) MMX
    2) 3DNow! (includes MMX)
    3) 3DNow!+/MMX+ (includes MMX)
    4) SSE (includes MMX)
    5) SSE2 (includes MMX/SSE)
    6) SSE3 (includes MMX/SSE/SSE2)
    7) SSSE3 (includes MMX/SSE/SSE2/SSE3)
     
    Additionally, SIMDx86 can optimize for:
    1) Speed (Often for 3D-Games)
    2) Accuracy (Often for non-realtime rendering)
    3) AMD processors rather than Intel
     
    To optimize for speed, do NOT define HIPREC. To optimize for precision, use #define HIPREC. HIPREC tells SIMDx86 not use low precision reciprocal or other various hacks, but instead to do as correct math as possible. Without HIPREC defined, special processor instructions will be used. You can expect precision to at least three decimal places in the worst cases.
    Optimizing for AMD processors hurts performance on Intel processors, and vice versa, but Intel processors take a larger hit from this flag than do AMD processors.

 

and when I open the folder \ SIMDx86 \ src \ main \ overlay.c

I find this code snippets:

What do these statements?

 

 

#define OVERLAY( funcname, simdname) memcpy( funcname, simdname, simdname#size)

static void OverlayAMD_MMX()

{

}

static void OverlayAMD_3DNow()

{

}

static void OverlayAMD_3DNowPlus()

{

}

static void OverlayAMD_SSE()

{

}

static void OverlayAMD_SSE2()

{

}

static void OverlayAMD_SSE3()

{

}

static void OverlayAMD_SSSE3()

{

OverlayAMD_SSE3();

}

static void OverlayIntel_MMX()

{

}

static void OverlayIntel_3DNow()

{

}

static void OverlayIntel_3DNowPlus()

{

}

static void OverlayIntel_SSE()

{

}

static void OverlayIntel_SSE2()

{

}

static void OverlayIntel_SSE3()

{

}

static void OverlayIntel_SSSE3()

{

OverlayIntel_SSE3();

}

Link to comment
Share on other sites

Hey guys!

 

I built the SIMDx86 thingy with SSE3 and SSSE3 (haven't yet took a look at the sources), but the binary files are EXACTLY same size.

HOWEVER, they DO differ! Run diff with SSE3.a and SSSE3.a = Files do differ. Hex editor also shows the differences! :)

I'll now inspect the source code a little better.

 

Thank you Spakk! :)

Link to comment
Share on other sites

Hey guys!

 

I built the SIMDx86 thingy with SSE3 and SSSE3 (haven't yet took a look at the sources), but the binary files are EXACTLY same size.

HOWEVER, they DO differ! Run diff with SSE3.a and SSSE3.a = Files do differ. Hex editor also shows the differences! :)

I'll now inspect the source code a little better.

 

Thank you Spakk! :)

 

Ok, I hope that we take a step forward

Link to comment
Share on other sites

I've built it but I don't know what it did or how to use it. I ran build.sh and got these files from libSIMDx86.a,

 

post-707419-0-86714000-1353174172_thumb.png

 

 

 

 

What do you mean?

 

 

 

 

 

Hope you enjoyed the party.

I can't get past the root device error. Always getting a USB error of some kind.

Link to comment
Share on other sites

 

 

 

:)

 

 

not easy to translate, AppleFileSystemDriver.kext perhaps the cause of the blockage, I have my FX 6100 which operated until 10.7.5 with kernel 11.4 rawx86 but successfully updated correctly I replace AppleFileSystemDriver.kext the version 11.4 before restart the PC, under penalties of Still......... bla....... bla ......bla ok?

 

j "I hope I have cleared about :)

 

I understand now. I have replaced that file along with a few others and now I am stuck at PCI configuration begin. npci or PCIRoot dont help.

Link to comment
Share on other sites

Hmm...

 

This seems to be harder than I thought (not a surprise :D).

I can't find anything related to SSS3 from the source... I tried searching SSE3 and USE_SSSE3.5 (which means SSSE3, as said in docs)...

 

Only thing I can find is what Spakk found too :/

However, the builds with SSE3 and SSSE3 differ... WTF? :D

Link to comment
Share on other sites

 Share

×
×
  • Create New...