Jump to content
  • Announcements

    • Allan

      Forum Rules   04/13/2018

      Hello folks! As some things are being fixed, we'll keep you updated. Per hour the Forum Rules don't have a dedicated "Tab", so here is the place that we have our Rules back. New Users Lounge > [READ] - InsanelyMac Forum Rules - The InsanelyMac Staff Team. 
ritalin

Using the ToH XNU source

9 posts in this topic

Recommended Posts

I've done a bit of research and I've managed to teach myself how to compile the XNU from source. I can compile vanilla OSX Leopard XNU versions upto xnu-1228.5.20 (10.5.4).

 

By adding the missing key to the ToH source code patch (available from here) I can patch the xnu-1228.3.13 (10.5.2) source, and compile a working 10.5.2 xnu with working decrypt etc...

 

I would like to be able to update the patch for use on later XNU, 10.5.4 etc...

 

Anyone know how to go about achieving this?

Share this post


Link to post
Share on other sites

it would be perfect becouse if you make a vanillia ToH XNU Kernel it would be able to support Pentium M

Share this post


Link to post
Share on other sites
it would be perfect becouse if you make a vanillia ToH XNU Kernel it would be able to support Pentium M

 

what is vanillia toh xnu kernel?

Share this post


Link to post
Share on other sites

lol, stupid noobs

 

 

ritalin, look at what has been changed, the source patch isnt a very complex one.

Share this post


Link to post
Share on other sites

Its been already done. Just take the ToH sources, reverse out the speedstep patches and create a new diff. This will then cleanly apply to the 9.4.0 sources. This is how the StageXNU kernel floating around was made. Its really nothing special.

 

I've got an automated builder that does all of this and can handle all kernels from 9.0.0 to 9.4.0.

Share this post


Link to post
Share on other sites
Its been already done. Just take the ToH sources, reverse out the speedstep patches and create a new diff. This will then cleanly apply to the 9.4.0 sources. This is how the StageXNU kernel floating around was made. Its really nothing special.

 

I've got an automated builder that does all of this and can handle all kernels from 9.0.0 to 9.4.0.

 

Thanks Dense, I didn't think it would be that easy but you are right as always.

 

Here is one I just made.

xnuur4.jpg

 

I've made my own build script. It doesn't do the patching yet, but it handles the compiling stage okay.

Share this post


Link to post
Share on other sites

Has anyone had any luck compiling and patching the xnu-1456.1.26 kernel sources for use in Snow Leopard? I'm using modbin's 10a432 kernel currently and it works great but it doesn't support 64-bit apps so I'm trying to add that support to the sources to enable it for my Pentium-D.

 

I almost have a kernel that works on my Pentium-D but it hangs after the 'BSD root: disk0s2, major 14, minor 2' print. Normally after that it prints a few 'com.apple.launchd' lines but not with the kernel that I built and I don't know why.

 

I followed this guide to get the kernel to compile under snow leopard.

 

So far I have made the following changes to the sources:

 

* remove the CPUID checks in cpuid_set_info() in osfmk/i386/cpuid.c: Specifically the cpuid_family and cpuid_model panic

 

* change 'cpufamily = CPUFAMILY_UNKNOWN' to 'cpufamily = CPUFAMILY_INTEL_6_14' in bsd/kern/kern_mib.c

 

* comment out cpuid_family check in tsc_init() on line x in osfmk/i386/tsc.c. Specifically comment out this code:

 

if (cpuid_info()->cpuid_family != CPU_FAMILY_PENTIUM_M) {

panic("tsc_init: unknown CPU family: 0x%X\n", cpuid_info()->cpuid_family);

}

 

* comment out following lines in commpage_stuff_routine() on line x in osfmk/i386/commpage/commpage.c:

 

if ((cur_routine!=0) && (matched==0))

panic("commpage no match for last, next address %08lx", rd->commpage_address);

 

 

These were the only changes that were required to get a working kernel for Leopard but obviously things have changed in Snow leopard.

Share this post


Link to post
Share on other sites

How do you recomend getting rid of

 

unnable to determine UUID for host

 

I've done a bit of research and I've managed to teach myself how to compile the XNU from source. I can compile vanilla OSX Leopard XNU versions upto xnu-1228.5.20 (10.5.4).

 

By adding the missing key to the ToH source code patch (available from here) I can patch the xnu-1228.3.13 (10.5.2) source, and compile a working 10.5.2 xnu with working decrypt etc...

 

I would like to be able to update the patch for use on later XNU, 10.5.4 etc...

 

Anyone know how to go about achieving this?

Share this post


Link to post
Share on other sites

  • Recently Browsing   0 members

    No registered users viewing this page.

×