kotomach Posted September 9, 2009 Share Posted September 9, 2009 Im trying to set multiboot linux/macosx with grub2. When I start Chameleon from MBR all works fine. When I'm trying to boot MacOSX, system does not use efi string for my graphic card. I understand, that bootloader should load it at boot time. Is there some way to pass string as defined in com.apple.Boot.plist to grub? Grub2 xnu wiki is for me a little too brief. I ve been tried something like that: menuentry "Mac test" { root=hd1,2 insmod vbe gfxpayload=1024x768x32 xnu_kernel /voodoo rd=disk1s2 device-properties=<efi string for graphic> if [ /System/Library/Extensions.mkext -nt /System/Library/Extensions ]; then xnu_mkext /System/Library/Extensions.mkext else xnu_kextdir /System/Library/Extensions fi } And system worked but did not used nvidia drivers. Link to comment Share on other sites More sharing options...
oldnapalm Posted November 8, 2009 Share Posted November 8, 2009 I'm testing GRUB2 on my laptop (Ubuntu 9.10/Windows XP/Mac OS X Leopard), it's video card doesn't require EFI string to work (Intel X3100), but by what I understand, you have to use the option xnu_devtree (loads a devtree dump): if [ -f /Extra/devtree.txt ]; then xnu_devtree /Extra/devtree.txt fi devtree.txt: 656669{ 6465766963652d70726f70657274696573: <your device properties come here> ;} http://grub.enbug.org/XNUSupport If you used Chameleon's GraphicsEnabler, you can get the EFI string with this command: ioreg -lw0 -p IODeviceTree -n efi -r -x | grep device-properties | sed 's/.*<//;s/>.*//;' Link to comment Share on other sites More sharing options...
Henk1 Posted December 4, 2009 Share Posted December 4, 2009 Maybe this helps: On my pc I have two drives: 1 with Grub2 and a second with Chameleon. Mac OSX was recognized by Grub2 so there is a Mac OSX entry in the bootmenu. When selected Chameleon is bypassed and OSX will be booted in verbose mode. This works but does not look nice on the screen. I created a new menu entry in grub2 which does use chameleon to start OSX: set root=(hd1) chainloader +1 Maybe in this way you can solve your missing EFI string, i.e. first boot Grub2 which runs Chameleon. Link to comment Share on other sites More sharing options...
kotomach Posted December 5, 2009 Author Share Posted December 5, 2009 Oh. I know that way (grub with chameleon "under"). I searched for clean solution without workaround to use multsystem machine. I'm gonna check oldnapalm's way. But when I'll get my sata dvd drive back. Not now :-|. Link to comment Share on other sites More sharing options...
bellbottom Posted April 4, 2010 Share Posted April 4, 2010 Now in Debian testing uses grub-pc 1.98 In /boot/grub/grub.cfg is not more present: if [ -f /Extra/devtree.txt ]; then xnu_devtree /Extra/devtree.txt fi And now appears: if [ -f /Extra/devprop.bin ]; then xnu_devprop_load /Extra/devprop.bin fi I make tests adding /Extra/devtree.txt some like that: 656669{ 6465766963652d70726f70657274696573: <8b02000001000000010000007f0200000e00000002010c00d041030a00000000010106000010 0101060000007fff04002e000000400030002c004100410050004c002c0062006f006f0074002d00 6 4006900730070006c0061007900000008000000010000001c000000400030002c006200750069006 c 0074002d0069006e000000050000000120000000400030002c0063006f006d007000610074006900 6 2006c00650000000f0000004e5644412c4e564d61630022000000400030002c00640065007600690 0 630065005f00740079007000650000000c000000646973706c61790014000000400030002c006e00 6 1006d0065000000130000004e5644412c446973706c61792d410020000000400031002c0063006f0 0 6d00700061007400690062006c00650000000f0000004e5644412c4e564d61630022000000400031 0 02c006400650076006900630065005f00740079007000650000000c000000646973706c617900140 0 0000400031002c006e0061006d0065000000130000004e5644412c446973706c61792d42001c0000 0 06400650076006900630065005f0074007900700065000000100000004e5644412c506172656e740 0 220000004100410050004c002c0073006c006f0074002d006e0061006d00650000000a000000536c 6 f742d31100000004e00560043004100500000001800000004000000000001000e0000000000000a0 0 000000220000005600520041004d002c0074006f00740061006c00730069007a0065000000080000 0 000000020100000006d006f00640065006c0000000c000000556e6b6e6f776e001e00000072006f0 0 6d002d007200650076006900730069006f006e0000001800000078782e78782e7878202d20696e74 6 5726e616c00> ;} And adding these in grub.cfg: if [ -f /Extra/devtree.txt ]; then xnu_devtree /Extra/devtree.txt fi But without succes detecting graphic card. Now: Anyone knows how to use the "devprop.bin" actual option ? Grets. Link to comment Share on other sites More sharing options...
Openminded Posted November 2, 2010 Share Posted November 2, 2010 any news on this? Link to comment Share on other sites More sharing options...
Anheuser Posted December 15, 2010 Share Posted December 15, 2010 Chameleon is taking care of the smbios.plist and com.apple.Boot.plist info and using it accordingly. When you boot from grub, you need to add kext's to take care of this. Like CPUInjector.kext or NVEnabler.kext. Add these to your /Extra/Extensions folder. This worked for me. I almost want to make a new folder called /Extra/GrubExtensions for use only when booting from grub. p.s. Do not use the /Extra/splash.jpg/tga/png option yet. Your computer will load with a black screen. I guess its implemented but not yet functional. Link to comment Share on other sites More sharing options...
Recommended Posts