Jump to content

[Guide] Speed Up the boot time of Leopard Installation DVDs


macgirl
 Share

45 posts in this topic

Recommended Posts

Sometimes the boot process is awfully slow, so I made this file:Extensions.mkext with the following steps to avoid the slow and boring wait.

 

You only need to install this file in your DVD Image and burn it.

 

Intel:

http://www.mediafire.com/?b1dtwhvjiqz

AMD:

http://www.mediafire.com/?c0ew012fbxh

 

here is how:

Erase the Extensions folder of your DVD Image, copy this file to System/Library and burn to a DVD.

You will boot faster, less wait than the "retail" patched DVDs

 

Here is how I created it:

 

I mounted my BrazilMAC patched image of Leopard with readwrite ability, you can do that if you rename the ISO image to .cdr suffix

 

then I copied the contents of the Extensions folder to my Destop.

cp -R /Volumes/Mac\ OS\ X\ Install\ Disc\ x86/System/Library/Extensions Desktop/Extensions

 

or by opening the containing folder and dragged it to the Desktop

open /Volumes/Mac\ OS\ X\ Install\ Disc\ x86/System/Library/

 

then I make the cache with this on Terminal:

sudo kextcache -a i386 -k -z -m Desktop/Extensions.mkext Desktop/Extensions

 

I erased the Extensions folder from the mounted Image with the Finder or with this command on Terminal:

rm -fr /Volumes/Mac\ OS\ X\ Install\ Disc\ x86/System/Library/Extensions

 

then I copied the Extensions.mkext to the System/Library folder of the mounted image with Finder or wtih this command on Terminal:

cp Desktop/Extensions.mkext /Volumes/Mac\ OS\ X\ Install\ Disc\ x86/System/Library/

 

then I repaired the owner and group:

sudo chown root:wheel /Volumes/Mac\ OS\ X\ Install\ Disc\ x86/System/Library/Extensions.mkext

 

umount the image, burned it and tested it.

 

Other advantages is that you have a faster boot DVD in case of emergencies or if you need to a handy Disk Utility or Terminal Apps.

 

I am planning to do an AMD version for Prawker's method DVD and also test this one with TOH version of Intel and if the AMD version works with the ToH AMD

 

This could work with other patched DVDs (for Intel of course), also you can do your own Extensions.mkext, but try it with DVD RW media or you could end with a lot of coasters :D

 

NOTE:

I prefer to answer in this thread than by PM, if you have a question please post it here.

 

Edit:

I tested with BrazilMAC and ToH DVDs on my Dell XPS M1330.

 

Edit2:

AMD version. tested with Prawker's method and ToH with AMD ppf V2

Link to comment
Share on other sites

Works like a charm!

 

Using dumped DVD image on USB drive on a Dell Precision 390.

 

Could you share how you made the dump.

 

Yesterday I tried some method but the USB drive does not appear as an option to boot, I manage to boot of it with rd=/dev/disk1s1 at my HD's Darwin bootloader but it hangs at some point, maybe I try with other Image that the ToH one.

Link to comment
Share on other sites

Well, I'll write this in a loooonger post but the basics are:

 

1. I took a portable hard drive and I created the partitions with another leopard: 2 partitions: 10GB HFS+ and the rest FAt32 (for other uses).

2. I dumped the original DVD in the 10GB HFS partition.

3. I checked with a Macbook pro that the dump was working (Original macs boot the dump without adding anything else).

4. Installed pc efi on the portable hard drive.

4.1. Install the boot_v8

4.2. Install the boot1h

4.3. Install the boot0h

5. Test to boot. It booted but it was able to load only the GUI and then I got a spinning pizza wheel.

6. Added dsmos and AppleSMBIOS. Removed AppleEFIRuntime, AppleIntelCPUPowerManager and AppleHWSensor.

7. Do your trick and put in the HD only the new Extensions.mkext.

8. Boot again and I was able to install :)

9. At the end I got a problem because the install program wasn't able to set up the partition to boot. But I restarted the installer and patched again my new installation. and It worked.

 

That's all (in a few words).

Link to comment
Share on other sites

hi macgirl,

 

this is what i did:

1) used brazilmac patch script on the retail leopard install dvd iso file

2) at the prompt where it suggests i do a ctrl+z to suspend the job, i do so

3) then i carry out your procedure to remove extensions folder, moved extensions.mkext, repaired permissions, etc

4) resume the suspended job

 

when i use the resultant dvd, as u said, it took a much shorter time to finish loading, but within the installation environment i found i was unable to get my fat32 usb drive mounted - so i was unable to run brazilmac's postpatch script (i also couldn't see my ntfs partitions in disk utility or within the 'volumes' folder in terminal)

 

i tried including the postpatch script with all necessary files into the dvd (before resuming the suspended job) so i cud run it off the dvd - but for some unknown reason, the script was unable to find mach_kernel even though the correct path was supplied ;)

 

my {censored} workaround is this:

install leopard using the brazilmac dvd with your modification (which i labelled 'fast leopard')

but afterwards i boot using the original brazilmac patched dvd (which i labelled 'slow leopard') so i can run brazilmac's postpatch script from my usb drive

 

;)

Link to comment
Share on other sites

This is the third time htis has happened!!!

 

i did the patch, made a new DVD in Disk utility and rebooted, I only get F1 to continue or F2 for setup

 

My first Brazil DVD and TOH DVD I did cut also did this, then I did something and I can't remember what, recut and got it booting!? Help?

 

My "Format & Make harddrive Bootable" DVD cut just fine! ANY IDEAS WHY?

 

 

Sticman

Link to comment
Share on other sites

hi macgirl,this is what i did:1) used brazilmac patch script on the retail leopard install dvd iso file2) at the prompt where it suggests i do a ctrl+z to suspend the job, i do so3) then i carry out your procedure to remove extensions folder, moved extensions.mkext, repaired permissions, etc4) resume the suspended jobwhen i use the resultant dvd, as u said, it took a much shorter time to finish loading, but within the installation environment i found i was unable to get my fat32 usb drive mounted - so i was unable to run brazilmac's postpatch script (i also couldn't see my ntfs partitions in disk utility or within the 'volumes' folder in terminal)i tried including the postpatch script with all necessary files into the dvd (before resuming the suspended job) so i cud run it off the dvd - but for some unknown reason, the script was unable to find mach_kernel even though the correct path was supplied :smoke: my {censored} workaround is this:install leopard using the brazilmac dvd with your modification (which i labelled 'fast leopard')but afterwards i boot using the original brazilmac patched dvd (which i labelled 'slow leopard') so i can run brazilmac's postpatch script from my usb drive :lol:
I don't know why other filesystems can't be mounted, the apropiate kexts are in the extensions folder when I created the Extensions.mkext, since there are no Extensions Folder on the DVD they also can't be loaded manually :(

I will investigate if there is a way to include other filesystems kexts on the Extensions.

 

This is the third time htis has happened!!!i did the patch, made a new DVD in Disk utility and rebooted, I only get F1 to continue or F2 for setupMy first Brazil DVD and TOH DVD I did cut also did this, then I did something and I can't remember what, recut and got it booting!? Help?My "Format & Make harddrive Bootable" DVD cut just fine! ANY IDEAS WHY?Sticman
F1 and F2 are options of your BIOS not from the DVD. You need to set up your BIOS to boot from the CD/DVD. When the DVD is booting an option to press F8 will appear.
Link to comment
Share on other sites

I don't know why it lose boot

 

This is from the BrazilMAC patch:

 

bless -folder /mnt/System/Library/CoreServices -bootinfo /mnt/usr/standalone/i386/boot -label "$VOLNAME"

 

Mount your image and make the necessary changes, it could be like this:

 

bless -folder /Volumes/ToHLeoX86/System/Library/CoreServices -bootinfo /Volumes/ToHLeoX86/standalone/i386/boot -label "ToHLeoX86"

Link to comment
Share on other sites

  • 2 weeks later...

You can reduce approximately 1.5 minutes off the DVD boot time by creating a kext repository cache. Basically, the mkext (mkext cache) is used up until you see jettisoning kernel linker line, at that point kextd has taken over and loads the kext repository cache to help it work out what other kext it needs to load. If the repository cache is missing, it has to scan every Info.plist and as you can guess, from a DVD that is a lot of seeking.

 

The information on how to do this is in man kextcache. Note, I am uncertain if you can create a kext repository cache for 10.5 using the 10.4 tool (they are stored in different places with different names).

 

There are other methods to decrease boot time as well that I have experimented with. Preheating is a system that earlier OS X versions supported but from my own tests i've found that while it saved 2 minutes in the boot time, it took 2 minutes to actually preheat!

 

There are other possibilities but they are mostly experimental at this time. I do think with a bit of creativity it could be possible to boot the entire DVD in 1-2 minutes though at the expense of a high memory consumption.

Link to comment
Share on other sites

Hi,

 

I am trying out this method for booting... but when I get to "kextcache -a i386 -k -z -m Desktop/Extensions.mkext Desktop/Extensions"

 

it creates "Extensions.kextcache" on my desktop instead of "Extensions.mkext". Any idea why?

 

Thanks,

Ant

Link to comment
Share on other sites

Is the Tiger way, Tiger uses two kextcaches, Extensions.mkext and Extensions.kextcache, you can read the manual of kextcache command by simply typing "man kextcache" on Terminal.

Link to comment
Share on other sites

according to the manual "-m mkext_filename" creates a mkext file, but it still does not. I only get Extensions.kextcache, which doesn't help :(

 

am I supposed to type something different in Tiger than Leopard? if so, what is it?

 

Thanks,

Ant

Link to comment
Share on other sites

You cannot mix -k and -m.

 

-k is kext repository cache

-m is mkext cache

 

Basically, mkext cache is used from the bootloader to help the kernel load files quicker.

kext repository cache is used by kextd to help it know which kexts to load.

 

The changeover happens when you see jettisoning kernel linker. Thats when kextd kicks in and uses the other cache file.

Link to comment
Share on other sites

I got around this by using another command I had been using to remake the system mkext file in Tiger... but it was troublesome because I had to rename my old Extensions folder, move the Leopard one in, make mkext, and restore everything back in its own place

 

Anyhow, the good news is I got this to work! :)

 

Thanks a bunch for the help!

Link to comment
Share on other sites

So Leopard could use Extensions.kextcache also?

 

The 3 caches still exist in Leopard but they are named different things now.

 

/System/Library/Extensions.mkext - mkext cache

/System/Library/Extensions/Caches/com.apple.kext.info - kext repository cache

/System/Library/Caches/com.apple.kernelcaches/kernelcache - kernel cache

 

mkext cache and kext repository cache will have noticeable impacts over boot time of the DVD and minor speed boosts for the HD install. The kernel cache I can't see having much impact but it was pretty much added for the embedded devices (its a kernel with prelinked extensions) - used in Apple TV and iPod Touch and iPhone.

Link to comment
Share on other sites

  • 1 month later...

This is for anyone wondering how to create the kext cache(i.e. on the +rw mounted install disc). Credits to the community!

 

kextcache -a i386 -m /Volumes/vol_name/System/Library/Extensions.mkext -v 1 /Volumes/vol_name/System/Library/Extensions/

Link to comment
Share on other sites

 Share

×
×
  • Create New...