1. #1
    Tímido Progreso en OSx86 Spain Nivel 0 Karma y autoridad roisoft
    Avatar de roisoft

    Cómo compilar kernel xnu Mac OS X

    Quizás a algunos os interesa aprender tb a compilar el kernel, bueno pues para eso pondremos como ejemplo el xnu kernel 10.6

    para compilar necesitaremos previamente compilar una serie de herramientas que no se instalan via xcode, para ello las descargaremos de la pagina opensource de apple y las compilaremos:

    1. abrimos un terminal y nos logueamos como root, seguidamente tecleamos :


    curl -s -O http://www.opensource.apple.com/tarballs/cxxfilt/cxxfilt-9.tar.gz
    curl -s -O http://www.opensource.apple.com/tarballs/dtrace/dtrace-78.tar.gz
    curl -s -O http://www.opensource.apple.com/tarballs/kext_tools/kext_tools-177.tar.gz
    curl -s -O http://www.opensource.apple.com/tarballs/bootstrap_cmds/bootstrap_cmds-72.tar.gz
    curl -s -O http://www.opensource.apple.com/tarballs/xnu/xnu-1456.1.26.tar.gz


    2. descomprimimos los archivos que hemos descargado


    tar zxf cxxfilt-9.tar.gz
    tar zxf dtrace-78.tar.gz
    tar zxf kext_tools-177.tar.gz
    tar zxf bootstrap_cmds-72.tar.gz
    tar zxf xnu-1456.1.26.tar.gz


    3. empezamos a compilar las herramientas

    3.1. compilamos cxxfilt


    cd cxxfilt-9
    mkdir -p obj sym dst
    make install RC_ARCHS="i386 x86_64" RC_CFLAGS="-arch i386 -arch x86_64 -pipe" RC_OS=macos RC_RELEASE=SnowLeopard SRCROOT=$PWD OBJROOT=$PWD/obj SYMROOT=$PWD/sym DSTROOT=$PWD/dst

    //esperamos a que termine

    ditto $PWD/dst/usr/local /usr/local
    cd ..



    3.2 compilamos dtrace


    cd dtrace-78
    mkdir -p obj sym dst
    xcodebuild install -target ctfconvert -target ctfdump -target ctfmerge ARCHS="i386 x86_64" SRCROOT=$PWD OBJROOT=$PWD/obj SYMROOT=$PWD/sym DSTROOT=$PWD/dst

    // esperamos a que termine

    ditto $PWD/dst/usr/local /usr/local
    cd ..


    3.3 Compilamos kext_tools


    cd kext_tools-177
    mkdir -p obj sym dst
    xcodebuild install -target kextsymboltool -target setsegname ARCHS="i386 x86_64" SRCROOT=$PWD OBJROOT=$PWD/obj SYMROOT=$PWD/sym DSTROOT=$PWD/dst

    // esperamos a que termine

    ditto $PWD/dst/usr/local /usr/local
    cd ..


    3.4 Compilamos bootstrap_cmds


    cd bootstrap_cmds-72

    mkdir -p obj sym dst

    make install RC_ARCHS="i386" RC_CFLAGS="-arch i386 -pipe" RC_OS=macos RC_RELEASE=SnowLeopard SRCROOT=$PWD OBJROOT=$PWD/obj SYMROOT=$PWD/sym DSTROOT=$PWD/dst

    // esperamos a que termine

    ditto $PWD/dst/usr/local /usr/local
    cd ..


    3.5 Compilamos Xnu




    cd xnu-1456.1.26

    //si queremos los distintos mach_kernel por separado (i386 y x86_64)

    make ARCH_CONFIGS="I386 X86_64" KERNEL_CONFIGS="RELEASE"

    //si queremos el mach_kernel con todas las arquitecturas incorporadas


    make ARCH_CONFIGS="I386 X86_64" KERNEL_CONFIGS="RELEASE" install



    con esto conseguireis compilar xnu (mach_kernel) , ahora si quereis aplicarle los distintos patches que la comunidad osx86 ha ido usando pues requerirá ciertos conocimientos y vuestra habilidad para incorporarlos..

    para los que no quieran descargar desde apple todas las utilidades de las que he hablado en el post os las he subido

  2. #2
    Activo Progreso Nivel 1 OSx86 Spain Karma y autoridad miliuco
    Avatar de miliuco

    Excelente resumen, ya tenemos algo mas que aprender.

  3. #3
    Tímido Progreso en OSx86 Spain Nivel 0 Karma y autoridad mesi13

    compilar el kernel

    oye compa me marca error al querer descomprimir los archivos que descargue, lo hice primero por el terminal, pero no se pudo descomprimir me marcaba un error y este es lo que me ponia:
    gzip: stdin: not in gzip format
    tar: Child returned status 1
    tar: Error exit delayed from previous errors

Notas relacionadas que te pueden interesar

  1. Compilar Chameleon 2 y construir el instalador
    por miliuco en categoría OS X 10.7
    Comentarios: 4
    Último comentario: 10/10/09, 12:51:11
  2. Como cambiar Kernel?
    por xavifm en categoría OS X 10.7
    Comentarios: 1
    Último comentario: 19/01/09, 06:25:36
  3. Cómo extraer kernel de updatecombo 10.5.2
    por euclidie en categoría OS X 10.5
    Comentarios: 2
    Último comentario: 04/05/08, 20:14:49
  4. ¿Cómo identifico la versión del Kernel?
    por trasegante en categoría OS X 10.5
    Comentarios: 10
    Último comentario: 16/10/07, 12:38:47
  5. Como actualizo KERNEL
    por mem23mx en categoría OS X 10.5
    Comentarios: 3
    Último comentario: 19/06/07, 22:41:59

Etiquetas en este tema

No te pierdas:

cxxfilt-9