Jump to content

[Software] EPOS I. - EFI Post Install Script - fully automatized


nameless2k
 Share

22 posts in this topic

Recommended Posts

===============================

||

|| "EPOS I." is an "EFI Post Install" Script

||

|| What does it do?

|| It automatizes the necessary steps of preparing MacOS' native EFI partition and the installation of

|| (legacy-) kexts to this EFI partition. The whole shebang was first discovered and described by Munky (all shouts fly out to him!)

|| You may find his article here

||

===============================

||

|| Usage:

|| - unplug ethernet cable from your custom myMek

|| - copy EPOS I.zip to USB drive for instance

|| - install Leopard using a SlimBuild-Preboot standard compatible CD (find links to tested disks below)

|| - boot installed Leopard using the SlimBuild-Preboot CD again

|| - provide all the information required

|| - see desktop for the first time

|| - unpack EPOS I. and run it as ROOT from a terminal (have your SlimBuild-Preboot CD mounted)

|| - installation of everything takes about a minute

|| - unmount SlimBuild-Preboot, reboot and let Apple's autoinstaller grab the newest updates

||

===============================

||

|| Habit:

|| - EPOS must be executed from the disk that will hold the EFI bootloaders.

|| - If you are unsure what this means: better make sure you only have your DVD drive and your OS X harddrive connected.

|| - I recommend using this script on a clean and fresh installed system, no other operating systems on the same disk!

|| - prefers mounted SlimBuild-Preboot CD's for getting kexts and the com.apple.Boot.plist

|| (looks for /Volumes/SlimBuild-Preboot/initrd.img and /Volumes/SlimBuild-Preboot/com.apple.Boot.plist)

|| - if no SlimBuild-Preboot CD is found, EPOS tries to find Extensions in EPOS' own Extensions folder

||

===============================

||

|| Supports:

|| - autoextraction kexts from SlimBuild-Preboot CD

|| - kexts in own Extensions folder

|| - autoextraction com.apple.Boot.plist from SlimBuild-Preboot CD

|| - com.apple.Boot.plist in own Plist folder

|| - internally pretested with Leopard retail DVD's 10.5.0, 10.5.1, 10.5.4 and 10.5.5

||

===============================

||

|| Notes:

|| - Munky's EFI Boot 6.1 included (found here

|| - compatible to Galaxy's SlimBuild-Preboot creator 2.0 (Kudos!) found here

|| - Tested with ximekon's (Kudos, aswell) Gigabyte GA-EP35-DS3 SlimBuild-Preboot CDs found here

||

===============================

||

|| Error handling:

|| - integrated for a bunch of common errors, anyway it remains an ugly script

||

===============================

||

|| Todo:

|| - code cleanup / rewrite ;-)

|| - autoinstallation of custom kernels

|| - GUI is in the works, but don't ask for timelines, we all got jobs to feed our families

||

===============================

||

|| License & restrictions:

|| - This script is freeware but may NOT be used for commercial purposes!

|| - It may NOT be included in SlimBuild-Preboot Disks that contain original / modded Apple kexts.

|| - that means until not everything is self enabled via homebrew or legacy kexts you may only include it in your personal

|| SlimBuilds but don't distribute them, please.

|| - and yes as it's open-source anyway, you can always have a look into dirty coding that should never be touched after it works ;-)

||

===============================

||

|| Version history:

|| 0.5 semi automatic really much too ugly one day rapid prototype (not released)

|| 0.6 rewrote using functions (not released)

|| 0.7 autodetermining of EFI partition (not released)

|| 0.8 improved error handling for common errors we experienced (not released)

|| 0.9 included autoextraction for SlimBuild-Preboot images (not released)

|| 0.95 included com.apple.Boot.plist extraction (released) DOWNLOAD HERE...

|| 0.95.1 (cosmetic) bugfixes (not released)

|| 0.97 com.apple.Boot.plist bugfix (released) DOWNLOAD HERE...

|| 10.0 "the got rich as bill from writing even uglier code" version (will definitly be released) ;-)

|| FIND AND DOWNLOAD THE LATEST VERSION ALWAYS HERE...

===============================

 

searching for the ETUI tools? I've hidden them here ;-)

Link to comment
Share on other sites

@munky: I really feel honored for your accolade. Thanks!!!

 

 

@OCM770: no this automatizes the installation of Munky's modded bootloaders. Thus making your hackint0sh as close as possible to an original mac AND you can now share the harddisks between a real mac and a hack. read munky's article, I've linked to it above...

 

kd rgds, nl2k

Link to comment
Share on other sites

Nice...no more pain ;)

Can I install this over PC-EFI 9? in my current system? see signature!

AFAIK,PC EFI v9 doesn't support munky's boot with all the features.So,you can't do it (you won't have full support).

Link to comment
Share on other sites

updated to v0.97 (see first post for downloading etc.)

 

Can I install this over PC-EFI 9? in my current system? see signature!

 

Sorry, dunno, I am neither running PC EFI 9 nor iAtkos and got no experiences here though. Anyway if your disk is GPT and afaik PC EFI leaves EFI partition as is, you may give it a try. Since netkas derives PC EFI aswell from the chameleon code there is a good chance that Munky's bootloaders simply replace PC EFI. I am very keen about the results if you give it a try... Anyway don't lepidate me if anything goes terribly wrong.

 

But to be honest: we have tested EPOS intensively with SlimBuild-Preboot disks. It is originally intended to be used after a fresh install coming from an original Retail DVD...

Link to comment
Share on other sites

updated to v0.97 (see first post for downloading etc.)

Sorry, dunno, I am neither running PC EFI 9 nor iAtkos and got no experiences here though. Anyway if your disk is GPT and afaik PC EFI leaves EFI partition as is, you may give it a try. Since netkas derives PC EFI aswell from the chameleon code there is a good chance that Munky's bootloaders simply replace PC EFI. I am very keen about the results if you give it a try... Anyway don't lepidate me if anything goes terribly wrong.

But to be honest: we have tested EPOS intensively with SlimBuild-Preboot disks. It is originally intended to be used after a fresh install coming from an original Retail DVD...

That's what I'm talking about:PC EFI v9 doesn't boot from your EFI partition:you may need munky's boot,not netkas' boot.Actually,here is a netkas comment

Q.You mean it supports even munky’s boot from EFI partition, with all its features?

A. No

Link to comment
Share on other sites

@mac cute

absolutely right.

 

@maclancer:

to make things clearer. My EPOS script above cannot extend PC EFI 9 to support Munky's EFI partition tricks. But as PC EFI 9 is derived from the same codebase like Munky's there is good chance, that you can simply replace PC EFI 9 with Munky's bootloaders. For the replacing task the EPOS script could automatize the whole installation process for you. But the script has not been coded for that purpose that's why I would recommend to re-install from ground...

Link to comment
Share on other sites

As a little developers addition. Here is a couple of tools for the commandline. I named them ETUI as they comprise all what is necessary to

  • mount
  • unmount
  • and repair

of munky's stealth preboot EFI partition.

 

USAGE of ETUI Tools

  • Mounting: sudo ./mount_efi
  • Unmounting: sudo ./umount_efi
  • Repairing: sudo ./mount_efi -r

Version history

Enjoy...

Link to comment
Share on other sites

As a little developers addition. Here is a couple of tools for the commandline. I named them ETUI as they comprise all what is necessary to
  • mount
  • unmount
  • and repair

of munky's stealth preboot EFI partition.

 

USAGE of ETUI Tools

  • Mounting: sudo ./mount_efi
  • Unmounting: sudo ./umount_efi
  • Repairing: sudo ./mount_efi -r

Download ETUI here. You may put them to your /bin folder to have them handy available.

 

Enjoy...

 

This looks good. I'll test it out next install I do. Nice work

Link to comment
Share on other sites

Hey guys,

 

a "tiny" news update. I was just playing with the EFI partition on my original MBP. As is turns out, Apple DOES use it. For a the purpose of updating the original EFI bootrom only. The EFI partition gets used for:

  1. saving EFI updater software
  2. saving EFI bootcode update
  3. executing the updater software to install the new EFI bootcode

the screenies show what's going on there on my "ancient" Mac Book Pro (2 years old). Sadly this shows Hackintoshs using this approach are not 100% compatible to original Macs.

 

Things to take into account:

  1. you may be very carefully with using those disks with REAL Macs
  2. be especially carefully with UPDATES
  3. in case there are EFI updates for a real Mac, don't let MacOS X' softwareupdate try to update your EFI when you have your hackmac harddisk connected - as it would likely fail and could have destroying side effects.

anyway running these disks with a hackmac aint no prob at all. it just isn't 100% compatible for interchange with real Macs 8-)

 

Kudos---

post-58095-1231453651_thumb.png

post-58095-1231453645_thumb.png

Link to comment
Share on other sites

  • 2 weeks later...

testing etui...

i getting this msg :thumbsup_anim:

 

bash-3.2# mount_efi

Determining EFI disk identifier (please wait): /bin/mount_efi: line 31: [: too many arguments

disk0s1Error: EFI partition could not be mounted to /Volumes/EFI

Link to comment
Share on other sites

testing etui...

i getting this msg :wacko:

 

bash-3.2# mount_efi

Determining EFI disk identifier (please wait): /bin/mount_efi: line 31: [: too many arguments

disk0s1Error: EFI partition could not be mounted to /Volumes/EFI

 

that's bad ;)

 

are you using version 0.4? do you have a second harddrive plugged or a USB stick/EFI-X device?

 

Did you try to run mount_efi without the etui.sh installer (means: from any folder where you downloaded it into)?

 

kudos...

 

btw: line 31 contains only a simple if clause in v0.4:

if [ $efipartitionlikely != $efipartitionempiric ]; then

Link to comment
Share on other sites

Hi,

i am using DSDT onthefly (ACPI Bios Table, by chameleon11 / PCEFI V9) patching for my:

- AppleHDA (can use orig. AppleHDA)

- LAN / Timemachine Fix (sets Ethernet to build in), no more patched IONetwor

- ATI 3850

 

Does that munky can also do dsdt ?

Lot of people really need that (exspecially those with CPU=1 problem).

Link to comment
Share on other sites

Hi,

i am using DSDT onthefly (ACPI Bios Table, by chameleon11 / PCEFI V9) patching for my:

- AppleHDA (can use orig. AppleHDA)

- LAN / Timemachine Fix (sets Ethernet to build in), no more patched IONetwor

- ATI 3850

 

Does that munky can also do dsdt ?

Lot of people really need that (exspecially those with CPU=1 problem).

 

Hi,

 

You should take a look here !!

Rename the "efi" partition to "Boot OSX" (or an USB stick) and apply this method, everything should run fine !!

 

@ nameless2k: take a look to my topic, maybe we could merge those two methods together !

Link to comment
Share on other sites

Hi,

i am using DSDT onthefly (ACPI Bios Table, by chameleon11 / PCEFI V9) patching for my:

- AppleHDA (can use orig. AppleHDA)

- LAN / Timemachine Fix (sets Ethernet to build in), no more patched IONetwor

- ATI 3850

 

Does that munky can also do dsdt ?

Lot of people really need that (exspecially those with CPU=1 problem).

yes munky's method does DSDT (find the link to his great tutorial in my first post here in this topic).

 

Anyway it is not included in the latest released EPOS I. I am working on different improvements (means: redesigning the complete code and make it a lot more modular to support a wider range of boot-132 cd's, custom kernels and DSDT (sorry currently no auto generation of DSDT file). As I am currently moving to a new appartment I don't have any time to do it within the next two or three weeks. Moreover my provider (german 1und1) makes moving my DSL lines from one place to another wihtin the same city to a very big problem: beware 1und1, whereever you are, their customer support really S * C K S, but back to topic).

 

I am currently thinking about getting munky's approach 100% compatible to a real Mac wiht the possibilty of plugging those kinda drives to real Macs and Hackintoshs.

 

 

@Trauma: thanks, I will look into your approach.

Link to comment
Share on other sites

Hi,

 

You should take a look here !!

Rename the "efi" partition to "Boot OSX" (or an USB stick) and apply this method, everything should run fine !!

 

@ nameless2k: take a look to my topic, maybe we could merge those two methods together !

 

Thanks i will try that !!!!

Seams that there is "More than one way to rome" ;)

Link to comment
Share on other sites

  • 2 months later...
Hi nameless2k,

 

I improved your EPOS-Script for use with Chameleon v2.0RC1. Find more at:

 

http://www.insanelymac.com/forum/index.php?showtopic=162580

 

Thank you for your brilliant work!! It was no big effort necessary to make it work woth Chameleon.

 

 

CoolEdit

 

Oh, and I tested CoolEdit's script and it works. The result is something that should be cherished.

Link to comment
Share on other sites

  • 4 weeks later...

I strongly recommend to NOT use CoolEdit's EFI boot script.

 

Today I had some more time to study the changes in code a bit more deeply. Almost every EPOS auto-detection (like EFI partition) has been disabled and replaced by static strings.

 

EFI-Boot-i386 may terribly screw up your system as it ALWAYS tries to format disk0s1. Original EPOS auto-determines the EFI partition and then does an automated cross-check to see if the partition is the right one. Original EPOS stops in case it finds something fishy then.

 

In case you got a second harddisk in your system CoolEdit's script may kill your bootloader on the second harddisk. Don't use it.

 

nl2k

Link to comment
Share on other sites

 Share

×
×
  • Create New...