Jump to content

Grub 2 e Mac OS X


Giorgio_multi
 Share

17 posts in this topic

Recommended Posts

Ho iniziato a prendere confidenza con Grub 2 per gestire il nostro amato SO.

 

Osservazioni: fino ad adesso sono riuscito a far partire Leopard e Snow su MBR (in linea con le esperienze in rete), con la limitazione che tutto deve essere gestito con kexts, non essendo usato, non so per quali motivi, il com.apple.Boot.plist.

 

Non sono riuscito ad avviare Snow Leopard su GUID.

 

OK l'avvio di XP, Vista e Seven.

 

Se qualcuno ha pareri, esperienze o delle dritte, per favore le metta in questo Topic.

 

Giorgio

Link to comment
Share on other sites

  • 6 months later...
, non essendo usato, non so per quali motivi, il com.apple.Boot.plist

Intendi quello in /Extra o quello di default in /Library/Preferences/SystemConfiguration/com.apple.Boot.plist ?

Link to comment
Share on other sites

Osservazioni: fino ad adesso sono riuscito a far partire Leopard e Snow su MBR (in linea con le esperienze in rete), con la limitazione che tutto deve essere gestito con kexts, non essendo usato, non so per quali motivi, il com.apple.Boot.plist.

 

 

Non mi e' chiara questa parte. Solo con kext ? Il com.apple nella locazione originaria non lo carica? Il dsdt viene caricato correttamente? In modo grezzo: i fix del "file" boot (chameleon) vengono "caricati" correttamente?

I vantaggi nel far partire snow con grub2 e non chameleon?

Link to comment
Share on other sites

Non mi e' chiara questa parte. Solo con kext ? Il com.apple nella locazione originaria non lo carica?Il dsdt viene caricato correttamente?

Questo incuriosisce anche me...

In modo grezzo: i fix del "file" boot (chameleon) vengono "caricati" correttamente?

In teoria Grub2 carica boot per far pertire l'hack quindi dovrebbero funzionare i fix...

I vantaggi nel far partire snow con grub2 e non chameleon?

Il primo che mi viene in mente è che vede anche gli HD SATA non impostati nel bios (POST più veloce) un'altro è che può far partire i CD/DVD anche bootando da HD.

 

Tutto ciò sempre in teoria, se Giorgio può confermare ci togliamo i dubbi (non posso più far molte porve senza hack sottomano :( )

Link to comment
Share on other sites

Il primo che mi viene in mente è che vede anche gli HD SATA non impostati nel bios (POST più veloce) un'altro è che può far partire i CD/DVD anche bootando da HD.

 

Due "vantaggi" che non mi portano utilita'. Ancora piu' veloce? DVD bootando anche da disco?

mmmmmm non prendo in considerazione il primo, il secondo e' comunque bypassabile... mmmmmm

usb con cham ancora al primo posto nella mia lista per bootare snow (come voglio io)

 

:robot:

Link to comment
Share on other sites

Due "vantaggi" che non mi portano utilita'. Ancora piu' veloce? DVD bootando anche da disco?

mmmmmm non prendo in considerazione il primo, il secondo e' comunque bypassabile... mmmmmm

usb con cham ancora al primo posto nella mia lista per bootare snow (come voglio io)

 

;)

 

giuste considerazioni, comodo mi sa per chi ha linux e osx o multiboot vari ad occhio e croce. sicuramente la chiavetta USB con chameleon per ora è il massimo della comoditàhh

Link to comment
Share on other sites

Ma è veramnete assurdo tutto ciò.. ti sei collegato letto, risposto ad altri topic e questo lo hai compeltamente ignorato.. nonostante avevi la risposta.. posso alemno sapere il motivo vista che la cosa è cosi palese ed evidente.

 

 

Ho letto ora, ma ti riferisci a Giorgio? Di che livore parli?

Link to comment
Share on other sites

giuste considerazioni, comodo mi sa per chi ha linux e osx o multiboot vari ad occhio e croce. sicuramente la chiavetta USB con chameleon per ora è il massimo della comoditàhh

 

 

 

:D

Link to comment
Share on other sites

Ma è veramnete assurdo tutto ciò.. ti sei collegato letto, risposto ad altri topic e questo lo hai compeltamente ignorato.. nonostante avevi la risposta.. posso alemno sapere il motivo vista che la cosa è cosi palese ed evidente.

 

Prima di tutto i motivi per cui non rispondo non ti devono interessare e se non rispondo NON mi devo giustificare con nessuno.

 

Secondo: le linee di comando delle prove non le so a memoria, sono su un pc che è dai miei suoceri e non ho tempo di recuperarle .

 

Terzo: non risponderò mai più ad un tuo post.

 

Giorgio

 

Il primo che mi viene in mente è che vede anche gli HD SATA non impostati nel bios (POST più veloce) un'altro è che può far partire i CD/DVD anche bootando da HD.

 

Tutto ciò sempre in teoria, se Giorgio può confermare ci togliamo i dubbi (non posso più far molte porve senza hack sottomano :D )

 

Grub2 carica Leopard (l'unico che sono riuscito a far partire) ignorando sia il file boot che tutto ciò che c'è in /Extra.

 

Per i vantaggi sono quelli descritti da scrax, tutto sommato trascurabili. Lo consideravo solo un esercizio, in realtà uso chameleon e ho messo il grub2 sulla partizione di Linux e lo richiamo da chameleon.

 

Quando avrò tempo riproverò con snow.

Giorgio

Link to comment
Share on other sites

Grub2 carica Leopard (l'unico che sono riuscito a far partire) ignorando sia il file boot che tutto ciò che c'è in /Extra.

 

Questa e' male.. Questa era la mia paura..

 

Per i vantaggi sono quelli descritti da scrax, tutto sommato trascurabili. Lo consideravo solo un esercizio, in realtà uso chameleon e ho messo il grub2 sulla partizione di Linux e lo richiamo da chameleon.

 

Bene bene;)

Link to comment
Share on other sites

@ smith@@: devo provare a vedere di bootare direttamente la partizione di leopard, invece grub cerca una partizione mac osx e la fa partire con dei comandi standard, che vanno bene per la maggior parte dei Leo, ma non funzionano con Snow.

 

Ma per adesso sono impegnato in altre cose.

 

Giorgio

Link to comment
Share on other sites

@ smith@@: devo provare a vedere di bootare direttamente la partizione di leopard, invece grub cerca una partizione mac osx e la fa partire con dei comandi standard, che vanno bene per la maggior parte dei Leo, ma non funzionano con Snow.

 

Ma per adesso sono impegnato in altre cose.

 

Giorgio

 

 

Don't worry man;)

Link to comment
Share on other sites

Vorrei invitare le persone che mi scrivono in pm e in email, la quale mi danno ragione, a scrivere qui.. perchè non lo fate? Vabbè forse vi capisco, perchè per perdere l'amicizia di qualcuno qui, basta che lo contraddici un pò. Gli amici così, meglio perderli che trovarli. Chiuso discorso!

 

 

Inizio OT

 

Perdona il post james, ma ha valore pari a zero quello che hai scritto. DEVI postare i nick di chi ti da' ragione. E' inutile che getti il sasso e poi tiri via il braccio. DEVI scrivere i nick di coloro che ti danno ragione, o finirai col metterci gli uni contro gli altri. Il sospetto e' la causa principale.

 

Ti ripeto ed e' un consiglio imperativo, DEVI postare i nick di chi in pm ti da ragione. O quello che hai scritto non ha valore;)

 

Per me, in questo singolo caso, da amico te lo scrivo, hai torto, semplicemente (e lo fai spesso) pretendi che si debba necessariamente rispondere a un tuo post o a una tua domanda, mettendo in difficolta' chi non vuole o non puo' risponderti. Semplicemente per questo motivo io sono convinto che questa volta sei in errore. Parlo di questo singolo caso, senza rancore. Non sto a sindacare la decisione di Giorgio, e' sua e va rispettata. Mi riferisco al tuo modo di rapportarti nei primi post di questo topic che si ricollegano anche ad altri come ho gia' piu' su scritto.

 

Posta i nick di chi ti da' ragione o ti diventera' un'arma a doppio taglio :)

 

Ora reset... ciao..

Fine OT

Link to comment
Share on other sites

  • 4 months later...

Piccolo aggiornamento:

 

Vi sto scrivendo da una installazione GUID 10.6.0 (aggiornata poi 10.6.4) pulita con la solita /Extra e non ho installato chameleon!

 

Puro OSX 10.6 con GRUB2 in GUID

:D;)

 

COSA CARICA:

Da /Extra (o una qualsiasi altra cartella che voglio usare per ognuno dei file, basta configurarla) carica il DSDT.aml /Extensions.mkext e cartella /E/E carica com.apple.Boot.plist da dove vogliamo.

Si posson caricare anche efi string ma non ho provato

 

OPZIONI:

32 o 64bit all'avvio, ma si può mettere -s(afeboot) o -f ecc nella configurazione mi pare

dimensioni schermo

file da caricare se presenti al boot (leggi /extra e i suoi contenuti)

 

DIFFERENZE DA CHAMELEON:

Possibilità di modificare impostazioni di avvio dal menu di GRUB al boot

Hardware UUID è diverso quello dato da GRUB è simile al vecchio UUID che si basava sul MAC ADDRESS quindi:

00000000-0000-1000-8000-MACADDRESS

La CPU è vista come sconosciuta (Xeon quad core con Chameleon) ma credo basti impostare meglio grub,

Riconoscimento delle ram automatico funzionante con GRUB non con Chameleon o Asere.

Niente interfaccia grafica perché non ho ancora installato alcun tema (senza temi avvia in verbose).

Nome modello: Mac (anziché iMac)

Identificatore modello: MCP7A (anziché iMac10,1)

 

 

Per riuscirci non ho dovuto fare molto a parte installare Ubuntu dopo OSX

 

All'inizio volevo usare solo osx ma ho avuto problemi di compilazione di grub da mac e quindi ho rinunciato sfruttando quello di ubuntu (aggiornata ad oggi)

Per ora ho testato solo l'avvio a 32bit.

A differenza di chameleon può caricare qualsiasi tabella ACPI quindi RestartFix e SSDT vari generati dalle ultime versioni di chameleon2RC5 posson esser applicati a GRUB

Oppure si può sempre usare il file boot di chameleon ma con quel tanto non serve metter grub se non si ha un multiboot

 

Il mio obiettivo è comunque riuscire ad installare e gestire GRUB da Osx senza la necessità di installare Linux che se non ho capito male adesso mi serve per configurare grub... :(

 

Allego kernel.log

 

Sep 23 17:02:58 localhost kernel[0]: npvhash=4095
Sep 23 17:02:58 localhost kernel[0]: PAE enabled
Sep 23 17:02:58 localhost kernel[0]: 64 bit mode enabled
Sep 23 17:02:58 localhost kernel[0]: Darwin Kernel Version 10.0.0: Fri Jul 31 22:47:34 PDT 2009; root:xnu-1456.1.25~1/RELEASE_I386
Sep 23 17:02:58 localhost kernel[0]: vm_page_bootstrap: 702672 free pages and 18224 wired pages
Sep 23 17:02:58 localhost kernel[0]: standard timeslicing quantum is 10000 us
Sep 23 17:02:58 localhost kernel[0]: mig_table_max_displ = 73
Sep 23 17:02:58 localhost kernel[0]: AppleACPICPU: ProcessorId=0 LocalApicId=0 Enabled
Sep 23 17:02:58 localhost kernel[0]: AppleACPICPU: ProcessorId=1 LocalApicId=3 Enabled
Sep 23 17:02:58 localhost kernel[0]: AppleACPICPU: ProcessorId=2 LocalApicId=1 Enabled
Sep 23 17:02:58 localhost kernel[0]: AppleACPICPU: ProcessorId=3 LocalApicId=2 Enabled
Sep 23 17:02:58 localhost kernel[0]: calling mpo_policy_init for TMSafetyNet
Sep 23 17:02:58 localhost kernel[0]: Security policy loaded: Safety net for Time Machine (TMSafetyNet)
Sep 23 17:02:58 localhost kernel[0]: calling mpo_policy_init for Sandbox
Sep 23 17:02:58 localhost kernel[0]: Security policy loaded: Seatbelt sandbox policy (Sandbox)
Sep 23 17:02:58 localhost kernel[0]: calling mpo_policy_init for Quarantine
Sep 23 17:02:58 localhost kernel[0]: Security policy loaded: Quarantine policy (Quarantine)
Sep 23 17:02:58 localhost kernel[0]: Copyright © 1982, 1986, 1989, 1991, 1993
Sep 23 17:02:58 localhost kernel[0]: The Regents of the University of California. All rights reserved.
Sep 23 17:02:58 localhost kernel[0]: MAC Framework successfully initialized
Sep 23 17:02:58 localhost kernel[0]: using 14417 buffer headers and 4096 cluster IO buffer headers
Sep 23 17:02:58 localhost kernel[0]: Not loading kext com.apple.driver.ACPI_SMC_PlatformPlugin - not found and kextd not available in early boot.
Sep 23 17:02:59 localhost kernel[0]: IOAPIC: Version 0x11 Vectors 64:87
Sep 23 17:02:59 localhost kernel[0]: ACPI: System State [S0 S3 S4 S5] (S3)
Sep 23 17:02:59 localhost kernel[0]: AppleIntelCPUPowerManagement: initialization complete
Sep 23 17:02:59 localhost kernel[0]: RTC: Only single RAM bank (128 bytes)
Sep 23 17:02:59 localhost kernel[0]: FakeSMC: Opensource SMC device emulator by netkas © 2009
Sep 23 17:02:59 localhost kernel[0]: FakeSMC: Monitoring plugins support by mozodojo © 2010
Sep 23 17:02:59 localhost kernel[0]: FakeSMC: Original idea of plugins and code sample by usr-sse2 © 2010
Sep 23 17:02:59 localhost kernel[0]: mbinit: done (64 MB memory set for mbuf pool)
Sep 23 17:02:59 localhost kernel[0]: From path: "uuid", 
Sep 23 17:02:59 localhost kernel[0]: Waiting for boot volume with UUID A1D9A87C-4E96-39D0-80E8-7FAB19D79F3E
Sep 23 17:02:59 localhost kernel[0]: Waiting on <dict ID="0"><key>IOProviderClass</key><string ID="1">IOResources</string><key>IOResourceMatch</key><string ID="2">boot-uuid-media</string></dict>
Sep 23 17:02:59 localhost kernel[0]: com.apple.AppleFSCompressionTypeZlib load succeeded
Sep 23 17:02:59 localhost kernel[0]: AppleIntelCPUPowerManagementClient: ready
Sep 23 17:02:59 localhost kernel[0]: Got boot device = IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/SATA@B/AppleMCP79AHCI/PRT1@1/IOAHCIDevice@0/AppleAHCIDiskDriver/IOAHCIBlockStorageDevice/IOBlockStorageDriver/Maxtor 6Y120M0 Media/IOGUIDPartitionScheme/Apple_HFS_Untitled_2@3
Sep 23 17:02:59 localhost kernel[0]: BSD root: disk0s3, major 14, minor 3
Sep 23 17:02:59 localhost kernel[0]: hfs: created HFBT on SnowLeoTEST
Sep 23 17:03:01 localhost kernel[0]: systemShutdown false
Sep 23 17:03:06 localhost kernel[0]: Waiting for DSMOS...
Sep 23 17:03:13 localhost kernel[0]: NVDANV50HAL loaded and registered.
Sep 23 17:03:25 localhost kernel[0]: DSMOS has arrived
Sep 23 17:03:25 localhost kernel[0]: ACPI_SMC_PlatformPlugin::pushCPU_CSTData - _CST evaluation failed
Sep 23 17:03:25 localhost kernel[0]: ACPI_SMC_PlatformPlugin::registerLPCDriver - WARNING - LPC device initialization failed: C-state power management not initialized
Sep 23 17:03:27 localhost kernel[0]: NVEthernet: Ethernet address 04:4b:12:23:34:99
Sep 23 17:03:27 localhost kernel[0]: NVEthernet::setLinkStatus - Valid but not Active
Sep 23 17:03:27 localhost kernel[0]: NVEthernet::mediaChanged - Link is down
Sep 23 17:03:27 localhost kernel[0]: NVEthernet::setLinkStatus - Valid but not Active
Sep 24 02:17:12 Mac-di-scrax kernel[0]: Ethernet [nvenet]: Link up on en0, 1-Gigabit, Full-duplex, Symmetric flow-control, Debug [796d,0000,0de1,000d,cde1,3800]
Sep 24 02:17:12 Mac-di-scrax kernel[0]: NVEthernet::setLinkStatus - link Valid and Active

 

le parti dei c-state son eliminabili usando delle tabelle SSDT corrette

 

 

Ora provo a installare grub in una partizionde fat32 e vediamo se mi boota ancora eliminando Ubuntu, l'obiettivo è avere grub configurabile da Osx

Link to comment
Share on other sites

Son riuscito a compilarlo ed installarlo da Osx ma finora Chameleon prova a partire e poi si pianta perché non trova più il suo boot sostituito da boot/grub se rimetto il boot di chameleon parte come prima, quindi ho il dubbio che non mi si sia installato GRUB

 

Allego la cartellina coi sorgenti che ho compilato

make install

per installarlo (ma non so mi pare funziona)

grub_1.98_on_osx.zip

Ecco qui il menu entry che sto usando per avviare Snow Leopard in GUID

menuentry "Mac OS X (32-bit) (on /dev/sdb3)" {
insmod hfsplus
set root='(/dev/sdb,3)'
search --no-floppy --fs-uuid --set 15dc2619f41d9919
	insmod vbe
	set do_resume=0
	if [ /var/vm/sleepimage -nt10 / ]; then
	   if xnu_resume /var/vm/sleepimage; then
		 set do_resume=1
	   fi
	fi
	if [ $do_resume == 0 ]; then
	   xnu_uuid 15dc2619f41d9919 uuid
	   if [ -f /Extra/DSDT.aml ]; then
		  acpi -e /Extra/DSDT.aml
	   fi
	   xnu_kernel /mach_kernel boot-uuid=${uuid} rd=*uuid
	   if [ /System/Library/Extensions.mkext -nt /System/Library/Extensions ]; then
		  xnu_mkext /System/Library/Extensions.mkext
	   else
		  xnu_kextdir /System/Library/Extensions
	   fi
	   if [ -f /Extra/Extensions.mkext ]; then
		  xnu_mkext /Extra/Extensions.mkext
	   fi
	   if [ -d /Extra/Extensions ]; then
		  xnu_kextdir /Extra/Extensions
	   fi
	   if [ -f /Extra/devprop.bin ]; then
		  xnu_devprop_load /Extra/devprop.bin
	   fi
	   if [ -f /Extra/splash.jpg ]; then
		  insmod jpeg
		  xnu_splash /Extra/splash.jpg
	   fi
	   if [ -f /Extra/splash.png ]; then
		  insmod png
		  xnu_splash /Extra/splash.png
	   fi
	   if [ -f /Extra/splash.tga ]; then
		  insmod tga
		  xnu_splash /Extra/splash.tga
	   fi
	fi
}
menuentry "Mac OS X (64-bit) (on /dev/sdb3)" {
insmod hfsplus
set root='(/dev/sdb,3)'
search --no-floppy --fs-uuid --set 15dc2619f41d9919
	insmod vbe
	set do_resume=0
	if [ /var/vm/sleepimage -nt10 / ]; then
	   if xnu_resume /var/vm/sleepimage; then
		 set do_resume=1
	   fi
	fi
	if [ $do_resume == 0 ]; then
	   xnu_uuid 15dc2619f41d9919 uuid
	   if [ -f /Extra/DSDT.aml ]; then
		  acpi -e /Extra/DSDT.aml
	   fi
	   xnu_kernel64 /mach_kernel boot-uuid=${uuid} rd=*uuid
	   if [ /System/Library/Extensions.mkext -nt /System/Library/Extensions ]; then
		  xnu_mkext /System/Library/Extensions.mkext
	   else
		  xnu_kextdir /System/Library/Extensions
	   fi
	   if [ -f /Extra/Extensions.mkext ]; then
		  xnu_mkext /Extra/Extensions.mkext
	   fi
	   if [ -d /Extra/Extensions ]; then
		  xnu_kextdir /Extra/Extensions
	   fi
	   if [ -f /Extra/devprop.bin ]; then
		  xnu_devprop_load /Extra/devprop.bin
	   fi
	   if [ -f /Extra/splash.jpg ]; then
		  insmod jpeg
		  xnu_splash /Extra/splash.jpg
	   fi
	   if [ -f /Extra/splash.png ]; then
		  insmod png
		  xnu_splash /Extra/splash.png
	   fi
	   if [ -f /Extra/splash.tga ]; then
		  insmod tga
		  xnu_splash /Extra/splash.tga
	   fi
	fi
}

Link to comment
Share on other sites

Per la questione smbios nono caricato,

credo che ci sia un kext che si usava prima del file smbios.plist per iniettare i valori che vogliamo, qualcuno si ricorda come si chiamava?

 

EDIT: Per ora ho trovato AppleSMBIOSEFI-28 ma inietta dei vaori predefiniti e mi da errori nella compilazione perché è troppo vecchio il codice sembra.

Proverò a sistemare qualcosina con un hex editor...

Link to comment
Share on other sites

 Share

×
×
  • Create New...