1. #1
    Activo Progreso en OSx86 Spain Nivel 0 Karma y autoridad AlexDM
    Avatar de AlexDM

    Cómo hacer bootable DVD Mac OSX Tiger

    Buenas!!! Por fín lo he conseguido, despues de varios post haciendo preguntas y demás, parece que investigando y con horas de pruebas, he conseguido entender algo más del dichoso hdiutil...

    Para los que queráis conocer todas las pruebas que he hecho, podeis leer este post (aunque no creo que lo lea mucha gente ya...)

    Podría poner este post por pasos, pero voy a empezar por lo que más me ha costado y más adelante que se añadan los "how to" para parchear drivers y demás... aunque ya hay posts que hablan de eso...

    Lo interesante sería que alguien que controlase (juker12 te animas? :?: )mucho de shell script que ayudase a currarse un script para que no tener que ir lanzando cada paso desde un terminal, yo lo he intentado pero no paraba de darme errores así que lo hice desde un terminal.

    Bueno pues al lio... lo primero que nos hace falta para poder hacer bootable una imagen ya sea dmg o iso son tres cosas.
    1. Tener mkisofs (no la he podido subir... así que versiontraker)
    2. Una imagen dmg o iso tipo jas.10.4.8 para hackintosh o la original para los apple.
    3. Paciencia, aunque ya con este howto, no mucha.

    Los pasos serían estos:

    En el caso de que tengamos solo el dvd jas 10.4.8 lo primero que hay que hacer es la imagen
    hdiutil convert /ruta/imagen.dmg -format UDTO -o /ruta/tempdisk.iso
    Y converitla en lectura y escritura
    hdiutil attach -readwrite /ruta/tempdisk.iso.cdr -owners on

    Y ahora seguimos con el resto de pasos
    diskutil rename /Volumes/Mac\ OS\ X\ Install\ Disc\ 1 osx86dvd

    rm -rf /Volumes/osx86dvd/Xcode\ Tools

    rm -rf /Volumes/osx86dvd/usr/standalone/i386
    rm -rf /Volumes/osx86dvd/System/Library/Extensions
    rm -rf /Volumes/osx86dvd/System/Library/CoreServices/boot.efi

    cp -R /Volumes/Mac\ OS\ X\ Install\ Disc/Volumes/osx86dvdmach_kernel /Volumes/osx86dvd/mach_kernel
    cp -R /Volumes/Mac\ OS\ X\ Install\ Disc/usr/standalone/i386 /Volumes/osx86dvd/usr/standalone/i386
    cp -R /Volumes/Mac\ OS\ X\ Install\ Disc/System/Library/Extensions.mkext /Volumes/osx86dvd/System/Library/Extensions.mkext

    Este fichero que estamos copiando, no lo copieis del dvd o de la imagen que tenemos del primer paso si tenéis pensado personalizar los paquetes de instalación
    cp -R /Volumes/Mac\ OS\ X\ Install\ Disc/System/Installation/Packages/OSInstall.mpkg/OSInstall.dist /Volumes/osx86dvd/System/Installation/Packages/OSInstall.mpkg/Contents/OSInstall.dist



    Los siguientes datos son ya todos muy fáciles.

    mkdir -p /tmp/i386
    cp /Volumes/osx86dvd//usr/standalone/i386/* /tmp/i386/
    cd /tmp/i386
    /Users/Alex/Desktop/autopatch/resources/mkisofs -R -V "osx86dvd" -no-emul-boot -T -J -c boot.cat -b cdboot -hide-joliet-trans-tbl -quiet -o /tmp/i386booter.iso .

    /Users/Alex/Desktop/autopatch/resources/mkisofs -V "osx86dvd" -no-emul-boot -boot-load-size 4 -c boot.cat -b cdboot -quiet -o /tmp/i386booter.iso .

    sectors=`du /tmp/i386booter.iso | tail -1 | awk '{print $1}'`

    cd /Volumes/osx86dvd/
    hdiutil create -quiet /Volumes/MacOS/Users/Alex/Desktop/autopatch/BurnThisImage.dmg -size 4481M -layout NONE
    dev=`hdid -nomount /Volumes/MacOS/Users/Alex/Desktop/autopatch/BurnThisImage.dmg | tail -1 | awk '{print $1}' `
    rdev=`echo $dev | sed s/disk/rdisk/`

    pdisk $rdev -initialize
    blocks=`pdisk $rdev -dump | grep 2: | awk -F" " '{print $4}'`
    pdisk $rdev -dump

    pdisk $rdev -createPartition osx86dvd Apple_HFS $sectors `expr $blocks - $sectors`

    slice=`pdisk $rdev -dump | grep osx86dvd | awk -F: '{print $1}' | awk -F" " '{print $1}'`

    dd if=/tmp/i386booter.iso of=$rdev skip=64 seek=64 bs=512

    newfs_hfs -v osx86dvd ${rdev}s${slice}


    mkdir -p /mnt
    mount -t hfs -o perm ${dev}s${slice} /mnt
    ditto -rsrc /Volumes/osx86dvd/ /mnt



    bless -folder /mnt/System/Library/CoreServices -bootinfo /mnt/usr/standalone/i386/boot -label osx86dvd


    umount /mnt
    hdiutil eject -quiet $dev


    cd /tmp/

    diskutil eject /Volumes/Mac\ OS\ X\ Install\ Disc\ 1

    update_prebinding -root /Volumes/osx86dvd -force

    diskutil rename /Volumes/osx86dvd Mac\ OS\ X\ Install\ Disc\ 1
    diskutil eject /Volumes/Mac\ OS\ X\ Install\ Disc\ 1

    mv /Volumes/MacOS/Users/Alex/Desktop/autopatch/BurnThisImage.dmg /Volumes/MacOS/Users/Alex/Desktop/autopatch/BurnThisImage.iso
    hdiutil mount /Volumes/MacOS/Users/Alex/Desktop/autopatch/BurnThisImage.iso -readwrite -owners on
    diskutil rename /Volumes/osx86dvd Mac\ OS\ X\ Install\ Disc\ x86
    hdiutil eject /Volumes/Mac\ OS\ X\ Install\ Disc\ x86

    rm -rf /tmp
    rm -rf /mnt

    Bueno, pues por desgracia he de decir que no soy el autor de esto, sino que más bien, he conseguido encontrar el procedimiento, el verdadero script es el que pongo más abajo, pero claro como veréis las diferencias que hay son pequeñas, solo he quitado lo que yo no he necesitado, pero por lo menos así podeis ver los cambios de un script a otro.

    [COLOR="RoyalBlue"]-------------script original ------------------------
    #!/bin/sh

    #Set this to the directory of the autopatch dir
    APDIR="/Volumes/x86/Users/user/Desktop/autopatch/"

    cpfix ()
    {
    cp -r ./files/$1 $2
    chown -R root:wheel $2
    chmod -R 755 $2
    echo $1 replaced
    }

    cd $APDIR

    #Convert dmg to editable image
    hdiutil convert ./place-dmg-in-here/macosx_10.4.4_dvd.dmg -format UDTO -o ./place-dmg-in-here/tempdisk.iso

    #Mount new iso readwrite
    hdiutil attach -readwrite ./place-dmg-in-here/tempdisk.iso.cdr -owners on

    #Rename image
    diskutil rename /Volumes/Mac\ OS\ X\ Install\ Disc\ 1 osx86dvd

    #Delete Xcode to Free Space for Standard DVD Burn
    rm -rf /Volumes/osx86dvd/Xcode\ Tools
    echo Deleted Xcode

    #Remove old files
    rm -rf /Volumes/osx86dvd/usr/standalone/i386
    rm -rf /Volumes/osx86dvd/System/Library/Extensions
    rm -rf /Volumes/osx86dvd/System/Library/CoreServices/boot.efi
    echo Deleted old boot files
    echo Deleted unnecessary extensions

    #Move Necessary Files
    cpfix mach_kernel /Volumes/osx86dvd/mach_kernel
    cpfix translate /Volumes/osx86dvd/usr/libexec/oah/translate
    cpfix translated /Volumes/osx86dvd/usr/libexec/oah/translated
    cpfix i386 /Volumes/osx86dvd/usr/standalone/i386
    cpfix Extensions.mkext /Volumes/osx86dvd/System/Library/Extensions.mkext
    cpfix loginwindow.app /Volumes/osx86dvd/System/Library/CoreServices/loginwindow.app
    cpfix SystemUIServer.app /Volumes/osx86dvd/System/Library/CoreServices/SystemUIServer.app
    cpfix ATSServer /Volumes/osx86dvd/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Support/ATSServer
    cpfix mds /Volumes/osx86dvd/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/mds
    cpfix diskimages-helper /Volumes/osx86dvd/System/Library/PrivateFrameworks/DiskImages.framework/Versions/A/Resources/diskimages-helper
    cpfix 1165patchesSSE2.pkg /Volumes/osx86dvd/System/Installation/Packages/1165patchesSSE2.pkg
    cpfix OSInstall.dist /Volumes/osx86dvd/System/Installation/Packages/OSInstall.mpkg/Contents/OSInstall.dist
    cpfix postflight /Volumes/osx86dvd/System/Installation/Packages/OSInstall.mpkg/Contents/Resources/postflight

    #Generate Bootable ISO
    MKISOFS="$APDIR"/resources/mkisofs
    VOLNAME="osx86dvd"
    MKSIOFS_QUIET=
    HDIUTIL_QUIET=
    I386ISO=/tmp/i386booter.iso
    MASTERCD="$APDIR"/place-dmg-in-here/tempdisk.iso
    MSTRCDMNTD=/Volumes/osx86dvd/
    # This give's you a DVD-R sized Disc Image
    SIZE="4481M"
    # The following can be anywhere you like its the the output image
    CDDMG="$APDIR"/BurnThisImage

    mkdir -p /tmp/i386
    cp $MSTRCDMNTD/usr/standalone/i386/* /tmp/i386/
    cd /tmp/i386
    #"$MKISOFS" -R -V "$VOLNAME" -no-emul-boot -T -J -c boot.cat -b cdboot -hide-joliet-trans-tbl $MKISOFS_QUIET -o "$I386ISO" .
    "$MKISOFS" -V "$VOLNAME" -no-emul-boot -boot-load-size 4 -c boot.cat -b cdboot $MKISOFS_QUIET -o "$I386ISO" .

    sectors=`du "$I386ISO" | tail -1 | awk '{print $1}'`

    # create a bootable image and remove any previous copies
    cd "$MSTRCDMNTD"
    if [ -f "$CDDMG" -o -f "$CDDMG".dmg ]; then
    rm -f "$CDDMG" "$CDDMG".dmg
    fi
    hdiutil create $HDIUTIL_QUIET "$CDDMG".dmg -size $SIZE -layout NONE
    dev=`hdid -nomount "$CDDMG".dmg | tail -1 | awk '{print $1}'`
    rdev=`echo $dev | sed s/disk/rdisk/`

    pdisk $rdev -initialize
    blocks=`pdisk $rdev -dump | grep 2: | awk -F" " '{print $4}'`
    if [ "$QUIET" == "" ]; then
    pdisk $rdev -dump
    fi
    # create the partition on the image
    pdisk $rdev -createPartition "$VOLNAME" Apple_HFS $sectors `expr $blocks - $sectors`
    # figure out what slice the partition was created on
    slice=`pdisk $rdev -dump | grep "$VOLNAME" | awk -F: '{print $1}' | awk -F" " '{print $1}'`

    # copy the data onto the image
    dd if="$I386ISO" of=$rdev skip=64 seek=64 bs=512
    newfs_hfs -v "$VOLNAME" ${rdev}s${slice}
    mkdir -p /mnt
    mount -t hfs -o perm ${dev}s${slice} /mnt
    ditto -rsrc "$MSTRCDMNTD" /mnt
    bless -folder /mnt/System/Library/CoreServices -bootinfo /mnt/usr/standalone/i386/boot -label "$VOLNAME"
    umount /mnt
    hdiutil eject $HDIUTIL_QUIET $dev
    cd /tmp/

    diskutil eject /Volumes/Mac\ OS\ X\ Install\ Disc\ 1

    #Update PreBinding
    update_prebinding -root /Volumes/osx86dvd -force

    #Rename to original image name
    diskutil rename /Volumes/osx86dvd Mac\ OS\ X\ Install\ Disc\ 1
    diskutil eject /Volumes/Mac\ OS\ X\ Install\ Disc\ 1

    #Rename image to actual extension type
    mv "$CDDMG".dmg "$CDDMG".iso
    hdiutil mount "$CDDMG".iso -readwrite -owners on
    diskutil rename /Volumes/osx86dvd Mac\ OS\ X\ Install\ Disc\ x86
    hdiutil eject /Volumes/Mac\ OS\ X\ Install\ Disc\ x86

    #Remove tempdisk & other dirs since they are useless now
    rm -rf "$APDIR"/place-dmg-in-here/tempdisk.iso.cdr
    rm -rf /tmp
    rm -rf /mnt[/COLOR]


    Quedaría chulo añadir los howto para hacer paquetes y demás... jeje y si ya ponéis vuestras conclusiones sería la releche!!!

    Un saludete
    AlexDM

  2. #2
    Activo Progreso OSx86 Spain Nivel 3 Karma y autoridad juker12 Karma y autoridad juker12
    Avatar de juker12

    Ahh

    el script original se lo vi una vez a jass, pero como todo script que hace este tio no pirula sin retoques previos

    pichorro yo creo que te has calentado mucho la cabeza

    Con lo facil que es pillar una iso que tengas ahora msimo que te funcione el boot


    la abres con transamac en windows, borras lo que quieras, inserta un paquete que quieras
    cambias la ruta y nombre de la llamada a tu paquete en el scrit del installer.dist

    cierras y guardas cambios y ale, ya lo tienes
    lista la iso para grabar con nero

  3. #3
    Activo Progreso en OSx86 Spain Nivel 0 Karma y autoridad AlexDM
    Avatar de AlexDM

    Ya, pero lo chulo era no utilizar windows jajajaja (joe con lo ilusionado que estaba) jajaja

    Aunque lo que dices me hubiera servido, PERO PODÍAS HABERMELO DICHO ANTES!!!!
    ;-)

    Y lo del script como lo ves? porque a mi me petaba por todas partes, una vez que conseguí que no me diera problemas de permisos, luego no paraba de petar...

  4. #4
    Activo Progreso OSx86 Spain Nivel 3 Karma y autoridad juker12 Karma y autoridad juker12
    Avatar de juker12

    Ahh vale,,,,,,

    bueno a ver..el script ese original era de maxxus..los pillos estos lo copiaron pero no funciona a partir de la build 10.4.6 usando mac claro esta

    por que? por que a aprtir de la 10.4.6 los archivos cambiaron de permisos y entre ellos los encriptados traslate ( rosetta)

    por eso cuando ejecutas ese script en un 10.4.7 o 10.4.8 da error cuando llega a esos archivos

    bueno ya que te veo animado, buscate un post mio que ahora no lo veo, lleva de adjunto el paquete constructor de las developer

    Con eso tienes para distraerte un buen rato creandote paquetes personalizados de drivers...de lo que quieras :-)

    Aunque aqui los maestros del scritp son novK04 que creo la iso castaña team y senhez que sabe un rato de scritp

    Yo en esto se lo basico

  5. #5
    Activo Progreso en OSx86 Spain Nivel 0 Karma y autoridad AlexDM
    Avatar de AlexDM

    Pues a ver si hay suerte y se pasan por post....

    Por cierto lo del paquete constructor ya he estado jugando con el, aunque poco... Por cierto si hay que hacer cambios en algún kext o cosas similares no se puede hacer desde el PackageMaker, que recomiendas?

    Supongo que tenerlo aparte modificado y con el instalador machacar los existentes.. no?

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

    Simplemente Notable

    Hola amigo

    Yo he seguido atentamente tu post pero por falta de tiempo y conocimientos en el tema no he podido particpar constructivamente.

    Es simplemente notable tu trabajao y quiciera felicitarte por el y decirte que obviamente soy un intreresado en conocer el paso a paso de lo que haz logrado. Encantado podría ayudarte a realizar imagenes descriptivas del proceso. Muchas gracias y mucha suerte en todo...

  7. #7
    Activo Progreso en OSx86 Spain Nivel 0 Karma y autoridad AlexDM
    Avatar de AlexDM

    Buenas TOl2NADO,
    Muchas gracias por tu mensaje, se agradece :-)

    Respecto a lo de crear imágenes de los pasos para un tutorial, ahora lo tengo complicado por falta de tiempo, el problema que yo le veo a este procedimiento es que es muy tedioso, pero eso si, muy constructivo ya que me ha permitido conocer un poco más las tripas del mac.

    Por eso la idea en su momento de hacer un script que automatizara un poco todo este proceso.
    El script tendría que ser en Shell Script o alguno similar para unix, yo lo intenté pero me fue imposible (el único script que se me da bien es vbs).

    Desde luego todo el que quiera aportar algo estaría genial.

    De todas maneras y aunque no lo he probado, este proceso no creo que funcione para Leopard que es el que tendremos instalado dentro de poco ;-)

    Un saludete!
    AlexDM

  8. #8
    Tímido Progreso en OSx86 Spain Nivel 0 Karma y autoridad WiLoW
    Wenas.

    El proceso se deve de hacerse en OsX?? o en Linux?? es q tengo una copia de seguridad de Leopard final en .dmg y queria instalarla en mi intel C2D, para probar y aportar experiencias.
    O si no puedo buscar el dvd jas 10.4.8 q ese si es booteable verdad?? q esta en las redes de pares??
    Salu2

  9. #9
    Activo Progreso en OSx86 Spain Nivel 0 Karma y autoridad AlexDM
    Avatar de AlexDM

    WiloW
    Me cito para contestarte...

    Cita AlexDM dijo: Ver Mensaje

    Bueno pues al lio... lo primero que nos hace falta para poder hacer bootable una imagen ya sea dmg o iso son tres cosas.
    1. Tener mkisofs (no la he podido subir... así que versiontraker)
    2. Una imagen dmg o iso tipo jas.10.4.8 para hackintosh o la original para los apple.
    3. Paciencia, aunque ya con este howto, no mucha.
    10.4.8 me estoy refiriendo a Tiger

    Cuando consigas hacerlo para Leopard, comenta los pasos que será de gran ayuda para el foro.

    Un saludete.
    Alex.

  10. #10
    Tímido Progreso en OSx86 Spain Nivel 0 Karma y autoridad 3DuArDo1293
    Avatar de 3DuArDo1293

    oigan , amigos..
    por que ya no esta el zip en la pagina...
    a mi no me abre..
    algun alma caritativa que me lo pase por favor ??
    Gracias y salu2

  11. #11
    Tímido Progreso en OSx86 Spain Nivel 0 Karma y autoridad 3DuArDo1293
    Avatar de 3DuArDo1293

    perdon..
    no se por que escribi eso..
    sehzes quita estos 2 por favor

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

    Duda....

    Como hafo el DVD bootable desde Windows ?? tengo el leopard final, pero nose como hacerle un DVD bootable para PC

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

    Hola:

    Esto pudiese ayudar


Notas relacionadas que te pueden interesar

  1. Como hacer dual boot
    por juanantoniopere en categoría OS X 10.6
    Comentarios: 5
    Último comentario: 23/06/10, 12:11:40
  2. bootable booteable autoarrance, como hacerlos (DVD)
    por ggerard en categoría OS X 10.7
    Comentarios: 0
    Último comentario: 21/03/10, 09:23:47
  3. iaktos v4i hacer bootable
    por Graw en categoría OS X 10.5
    Comentarios: 4
    Último comentario: 03/11/08, 11:55:14
  4. Cómo hacer booteable leopard en el hdd
    por aragonXXX en categoría OS X 10.5
    Comentarios: 0
    Último comentario: 14/12/07, 23:49:14