venerdì 12 gennaio 2007

When Darwin won't start

Installare MacOs X su una macchina x86 standard non è una cosa semplice e quando è possibile le performance del sistema non sono paragonabili con la stessa macchina con linux installato.

Contrariamente è possibile installare il kernel di MacOs X (Darwin e OpenDarwin) su una qualunque macchina x86. Prima di tutto è necessario scaricare e masterizzare la ISO del cd di installazione da opendarwin.org. Una volta masterizzata è possibile fare il boot da cd. Il processo di installazione partirà automaticamente, e non comporta molte conoscenze tecniche, se non un po di esperienza nell'installazione di un sistema Unix-like.

Se si sceglie di partizionare manualmente l'hard disk, per avere una macchina multi-boot con linux e con GRUB come boot loader, è molto importante scegliere Apple UFS (Unix File System) come file system sulla partizione di boot di Darwin. GRUB è in grado di leggere partizioni Apple UFS ma non le più avanzate HFS+ (se utilizzerete HFS+ non vi sarà possibile usare GRUB come bootloader inquanto non riuscirà a caricare Darwin).
Ammettendo che si sia installato Darwin sulla prima partizione del primo disco del canale IDE i comandi da impartire a GRUB per fare il boot di Darwin sono:
rootnoverify (hd0,0)

chainloader +1

boot

Questi comandi possono essere impartiti premendo "C" nella schermata di GRUB.

Se siete fortunati (o meglio... avete fatto tutto correttamente) vedrete la schermata di boot di darwin (identica a quella di MacOs X).

Se dopo una trentina di secondi non vedete comparire una shell, vuol dire che qualcosa è andato storto.

Resettate il sistema e ri-eseguite il boot da GRUB. Per qualche istante comparirà il bootloader di Apple, premete un tasto qualsiasi e potrete passare dei parametri di boot al kernel. Per esempio se digitate "-v", avrete un output verboso al boot, così potrete individuare più facilmente il problema.

Tante volte, leggendo sui vari forum, il problema risiede nel fatto che manca il parametro che identifica il disco di root. In questo caso potrete digitare
hd()mach_kernel rootdev=disk0s1

e tutto dovrebbe partire. Per salvare questa opzione dovrete poi modificare la chiave Kernel Flags del file XML
/Library/Preferences/SystemConfiguration/com.apple.Boot.plist

inserendo
rd=disk0s1

Ora avrete la soddisfazione di avere un po di mac sul vostro pc...
Ciao Piero

3 commenti:

  1. come mai mi scrive, al posto di partire con il boot:

    System config file'/Library/Preferences/SystemConfiguration/com.apple.boot.plist' not found

    non riesco davvero a farne una ragione!

    RispondiElimina
  2. Ma il file esiste? dovrebbe contenere qualcosa del tipo

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
    <key>Kernel</key>
    <string>mach_kernel</string>
    <key>Kernel Flags</key>
    <string></string>
    <key>Boot Graphics</key>
    <string>Yes</string>
    </dict>
    </plist>

    RispondiElimina
  3. dove si trova il file? se non c'è lo....posso crearlo? dove lo devo inserire e in che formato? risp x favore ciao grazie mille!

    RispondiElimina