Jump to content

PC EFI V10.3 Released by Netkas


Konami®
 Share

49 posts in this topic

Recommended Posts

New release 10.3 is now based on Chameleon2 RC3

it includes all features of 10/10.1 (like 64-bit efi pages and etc), also introduces new features, like support for injecting ati radeon 48×0 cards in bootloader, like chameleon2 rc3 does for nvidia, more ati support will come later.

Video and ethernet devices now listed in PCI Cards section of system profiler.(if graphicsenabler/ethernetbuiltin used)

Fixed few bugs in rc3 code.

Now about inbooter injector.

Chameleon2 RC3 supported only pciroot = 0, many new motherboards have pciroot=1.

Now pciroot=1 used by default, if you want pciroot to be 0 – use -pci0 boot option.

To find you pciroot value, use this osx terminal command:

ioreg -l | grep -15 “AppleACPIPCI\ ” | grep UID

To activate video/ethernet injector just use same options in boot.plist that used in Chameleon RC2+ and remove device properties key, options is :

<key>EthernetBuiltIn</key>

<string>y</string>

<key>GraphicsEnabler</key>

<string>y</string>

ATI injecctor designed for snow leopard, dont use it in leopard(binimage isn’t injected) with 4830/4850(you will get screen flickerings)

Installation – if you dont have chameleon2 installed yet – get rc1/rc2 install pkg and use leopard to install bootloader, then replace boot file in root of boot partition with this one – booter

 

Thanks a lot Netkas, you rock!

 

PC EFI 10.3 Netkas site

Link to comment
Share on other sites

I tried the new loader from netkas on my system and, after resolving a problem unrelated to the new loader, it works quite well. I need to use the "-pci0" flag on my system but that's no real problem. One benefit of the new loader is that my graphics and ethernet cards now show in the system profile PCI cards section. They did not do that before.

 

I also wanted to compile the Chameleon source. I unpacked a fresh copy of the Chameleon2-rc3 source and placed the diff file in the main source folder. I applied the patch with this command:

patch -p 1 -i pcefiv3.diff

The patch applied with no errors or warnings. I ran the following make commands:

make clean
make embedtheme

 

The new boot module in sym/i386 works to boot my system just the same as the one provided by netkas. The only worry I have is that the boot file compiled locally is a different size than the one supplied by netkas.

 

My main system is using the netkas file and my test system is using the one I compiled.

lrh ~ $ ls -al /Boot
-rw-r--r--  1 root  admin  307968 Sep 20 15:58 /Boot
lrh ~ $ ls -al /Volumes/SnowLeopard/Boot
-rw-r--r--  1 root  admin  314528 Sep 20 18:46 /Volumes/SnowLeopard/Boot
lrh ~ $

 

Anyone have any ideas why they would be different?

Link to comment
Share on other sites

The ioreg -l | grep -15 “AppleACPIPCI\ ” | grep UID gives no results (nothing) on my GA-EP35-DS3.

Can i check that PCI 1 , PCI 0 with IOREGISTRY EXPLORER insted ? Where must i look ?

 

EDIT: I found the needed information - My EP35 has PCI 0 - not the PC EFI 10.3 default :)

Bild_341.jpg

Link to comment
Share on other sites

No need to specify -pci0

You have the source, just change it and recompile like so. Edit i386/libsaio/pci.c

 

Let me know if anyone wants this code.

 

Nice, can you share it (PCI default=0. already compiled) somewhere. Because i dont want to change my .plist for -pci.

Q: ICan i use also arch=i386 for my 32 Bit SL boot i believe and not -x32, or i am wrong ?

Q: For what is that preboot.dmg for ? I never heared about that /never used it (i have MBR, non RAID )

Link to comment
Share on other sites

No need to specify -pci0

You have the source, just change it and recompile like so. Edit i386/libsaio/pci.c

 

if (getValueForKey("-pci1", &val, &len, &bootInfo->bootConfig))

{

sprintf(tmp, "%s/Pci(0x%x,0x%x)",

(current->parent == root_pci_dev) ? "PciRoot(0x1)" : "",

current->dev.bits.dev, current->dev.bits.func);

strcat(dev_path, tmp);

} else {

sprintf(tmp, "%s/Pci(0x%x,0x%x)",

(current->parent == root_pci_dev) ? "PciRoot(0x0)" : "",

current->dev.bits.dev, current->dev.bits.func);

strcat(dev_path, tmp);

}

 

 

edit: have also a change where you can specify the name/location of the Preboot.dmg

e.g /P35c/P35c.dmg

it works with a Preboot flag in the com.apple.Boot.plist.

Let me know if anyone wants this code.

 

Thanks for the pointer on where to edit. Saved me much looking. Edited, compiled and running. Thanks again.

 

>Anyone have any ideas why they would be different?

 

different logo.png

 

diff command skipped it as binary file

 

OK! I would never have thought of that. I really appreciate the answer. Now I can stop worrying that I messed it up somehow.

 

Thanks to both for all the hard work.

Link to comment
Share on other sites

Thanks.

I will try to compile it with your changes.

 

EDIT:

 

Edit i386/libsaio/pci.c

 

if (getValueForKey("-pci1", &val, &len, &bootInfo->bootConfig))

{

 

I cant find that part you want to edit in CH RC3 658: i386/libsaio/pci.c, which lines shoud they are and are you sure its pci.c to edit ?

Link to comment
Share on other sites

The ioreg -l | grep -15 “AppleACPIPCI\ ” | grep UID gives no results (nothing) on my GA-EP35-DS3.

Can i check that PCI 1 , PCI 0 with IOREGISTRY EXPLORER insted ? Where must i look ?...

iMacDeck:~ cvad$ ioreg -l | grep -15 AppleACPIPCI | grep UID
| | |   "_UID" = "0"
iMacDeck:~ cvad$

Link to comment
Share on other sites

I added the two changes that STLVNUB supplied and compiled Chameleon. I saw no errors. Well, didn't expect any either :)

 

I am currently booted using the boot module with the pci0/1 swap.

 

I have created diff files for each individual modification which might make it easier for others who wish to make the mods. the two diff files are attached.

 

 

stlvnub_preboot.diff.zip

stlvnub_pci_default.diff.zip

Link to comment
Share on other sites

line 147 it is : if (getValueForKey("-pci0", &val, &len, &bootInfo->bootConfig))

Ok i see the problem. I used CH RC3 not PC EFI 10.3 as source ;

 

I cant find an Full PC EFI 10.3 source only an diff, i dont like .

Thanks

Would be easier to ALL if someone upload here that very small COMPLIED PC EFI 10.3MOD boot file.

Link to comment
Share on other sites

very confused on how to use this. let's say you have an ATI 4850 - would you simply enable the graphic enabler from the boot.plist and edit the 4800Controller.kext to get the card working in SL?

 

is there any advantage to this over using an EFI string in boot.plist?

Link to comment
Share on other sites

very confused on how to use this. let's say you have an ATI 4850 - would you simply enable the graphic enabler from the boot.plist and edit the 4800Controller.kext to get the card working in SL?

 

is there any advantage to this over using an EFI string in boot.plist?

 

There is at least this one advantage. If you change graphics cards to another supported ATI or Nvidia card you should not need to modify your Boot.plist to get it working.

 

I am sure there are more, but that one is the most obvious.

Link to comment
Share on other sites

Pleaseo upload the modded PC EFI 10.3 or upload the complete modded source (after diff PCIEFI3.diff (netcas ) + modd to RC3 658 Chameleon).

I cant do anything with diff, but i know to do make on READY to compile sources.

At least tell me how to use the diff with my PCIEFI3.diff and the folder Chameleon-2.0-RC3-r658-src

 

Thanks

Link to comment
Share on other sites

line 147 it is : if (getValueForKey("-pci0", &val, &len, &bootInfo->bootConfig))

Ok i see the problem. I used CH RC3 not PC EFI 10.3 as source ;

 

I cant find an Full PC EFI 10.3 source only an diff, i dont like .

Thanks

Would be easier to ALL if someone upload here that very small COMPLIED PC EFI 10.3MOD boot file.

 

Is there something wrong with the diff netkas provided? I found it worked just fine when I updated the Chameleon2-rc3 source. If you would compile a full PC EFI10.3 source, the patch only adds one easy step prior to the compile.

Link to comment
Share on other sites

Pleaseo upload the modded PC EFI 10.3 or upload the complete modded source (after diff PCIEFI3.diff (netcas ) + modd to RC3 658 Chameleon).

I cant do anything with diff, but i know to do make on READY to compile sources.

At least tell me how to use the diff with my PCIEFI3.diff and the folder Chameleon-2.0-RC3-r658-src

 

Thanks

 

OK! I understand the problem. Get the Chameleon2-rc3 source and unpack it. You will have a folder named Chameleon-2.0-RC3-r658-src. Copy the diff file into that folder. Then, open a terminal session. Then run these commands.

 

cd Chameleon-2.0-RC3-r658-src
patch -p 1 -i pcefiv3.diff
make clean
make embedtheme

 

On the patch command the "-p 1" tells patch to skip the first level of path name in the file name found inside the diff file. the "-i" identifies the patch input file - the diff file. Piece of cake - easy as pie

 

Open the diff file with text edit and look at the first two lines to see what the file/path names look like.

 

Hope this helps some :wacko:

Link to comment
Share on other sites

Yep perfect . Diff command line syntax was the problem. THANKS

 

Uploaded compiled (orig. Cham RC3 658 > PC EFI 10.3 > PCI0 is default now)

 

This worked great for me - EFI now reporting as 64-bit on a Gigabyte GA-EP35-DS3L. Replaced the "boot" file on top of an existing Chameleon RC3 install.

 

Thanks!

Link to comment
Share on other sites

Hi there...

 

What is the advantage of using this rather than netkas 10.3 ?

 

It's just so those people who have systems where the PCI root is at 0x0 they don't need the kernel flag -PCI0. The netkas 10.3 defaulted to a PCI root of 0x1. This one defaults to 0x0.

Link to comment
Share on other sites

This worked great for me - EFI now reporting as 64-bit on a Gigabyte GA-EP35-DS3L. Replaced the "boot" file on top of an existing Chameleon RC3 install.

 

Thanks!

 

Strange. My EP35-DS3L is PCI1, standard PC EFI 10.3. GraphicsEnabler=y works now, so no more EFI string, and my PCI cards display in System Profiler. Are you sure yours is correct with PCI0? GraphicsEnabler=y does not work for me with Cham RC3 or with PC EFI 10.3 with -pci0 flag.

Link to comment
Share on other sites

Yep - the PCI0 / PCI1 problem is simple :

Depend of mainboard AND! PCI-E Slot(s) used for GPU(s).

Also if someone has more than 1 PCIe Slot available, all bootloaders with that gpu features will need some PCI0/1 switch, because the default can work on some systems on others not.

 

Also PC EFI 10.3 makes more changes (bug fixes) to orig. Chameleon RC3. As always, CH RC4 will sure use most of that bugfixes i believe.

Link to comment
Share on other sites

 Share

×
×
  • Create New...