Jump to content

Slimbuild - Boot-132 CD Creator for OS X


munky
 Share

342 posts in this topic

Recommended Posts

Galaxy: Thanks for quick reply... I asked cause it got me confused..i been testing with dvd's made of this retail with INSTAHackintosh(and with JaS,iDeneb,etc..) and never saw this. I guess sliming down the retail dvd removes that check :( humm.. Anyway..i like the concept of booting unaltered dvd and i was going to try the EFI partition way but,the computer is not only mine..my fathers use XP..me,all i need from XP i can get on Vista or on a virtual machine..

Have to make a compromise ;)

Thanks very much,man.Good work!!

Link to comment
Share on other sites

Can someone please take a look at my screens. (this is when the retail is loading)

 

I don't know what's going on anymore ...

Using the same kernel as mentioned in my sig.

 

And this is what my boot.plist looks like:

 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
 <key>Graphics Mode</key>
 <string>1280x1024x32</string>
 <key>Kernel</key>
 <string>rd(0,1)/mach_kernel</string>
 <key>Kernel Flags</key>
 <string>-v boot-uuid=88AD7540-981A-3ACA-A0D6-2388C5F337EA</string>
 <key>Timeout</key>
 <string>5</string>
 <key>device-properties</key>
</dict>
</plist>

 

2dkfvpz.jpg

 

x3g2tl.jpg

Link to comment
Share on other sites

Can someone please take a look at my screens. (this is when the retail is loading)

 

I don't know what's going on anymore ...

Using the same kernel as mentioned in my sig.

 

And this is what my boot.plist looks like:

 

<?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
 <plist version="1.0">
 <dict>
  <key>Graphics Mode</key>
  <string>1280x1024x32</string>
  <key>Kernel</key>
  <string>rd(0,1)/mach_kernel</string>
  <key>Kernel Flags</key>
  <string>-v boot-uuid=88AD7540-981A-3ACA-A0D6-2388C5F337EA</string>
  <key>Timeout</key>
  <string>5</string>
  <key>device-properties</key>
 </dict>
 </plist>

 

2dkfvpz.jpg

 

x3g2tl.jpg

 

Try adding this EFIRTDisabler.kext.zip into your Extensions when building your preboot disk and tell me what happens...

Link to comment
Share on other sites

Thanks! Now my retail boots just fine!

 

What does that kext do?

 

 

EDIT:

Well, install seems to go fine, but after reboot and using the bootdisk again I get these screens:

 

347egrk.jpg

 

14devlg.jpg

 

that is because it is trying to boot the cd... when you reboot go thorugh the same steps as before ie press f8 at first timeout prompt hit escape, then type in your hex code for your hard disk this time, then when the second prompt comes up do -v -F -f (this will disable the boot.plist on the cd and should allow the system to boot up without hinderance) As for that kext it is a disabler kext which essentially matches on the same match category as the kext we are disabling, and jumps into its parking space to so speak so the real driver can not load. Hopefully the above instructions work out for you it should be relatively easy. If you need to use a hacked kernel in order to boot be sure to type in rd(0,1)/mach_kernel -v -F -f as when you use the -F flags (the kernel MUST come first in the line of bootloader flags and commands)it will ignore the boot.plist and will subsequently not use the kernel you asked it to :P Good luck! Also, you might try using the new Voodoo kernel, details can be found here xnu-dev Voodoo Kernel Development Page

 

~Galaxy

Link to comment
Share on other sites

step of my .sh right? :blink:

 

********************************

Last login: Sat Oct 18 09:51:37 on console

140:~ root# cd /private/var/root/Downloads/slimbuild.internal

140:slimbuild.internal root# sudo ./slimbuild2.sh

 

 

SlimBuild v2.0 ©Galaxy 2008.

Special Thanks To:

munky - getting the public interested in SlimBuild.

BladeRunner - com.apple.Boot.plist RAMDISK population / sript ideas.

Testers - for their input on the scripts usability.

 

##### PREVIOUSBUILD SESSION EXECUTED #####

This session's build time is 2008-10-18-100718

This session's files will be available at PreviousBuilds/Build.2008-10-18-100718

 

##### MKEXT CREATION PHASE #####

Permissions are being set for the following extensions:

Extensions/ACPIPS2Nub.kext -- permissions set.

Extensions/AppleAHCIPort.kext -- permissions set.

Extensions/AppleDecrypt.kext -- permissions set.

Extensions/AppleIntelPIIXATA.kext -- permissions set.

Extensions/ApplePS2Controller.kext/Plugins/ApplePS2Keyboard.kext -- permissions set.

Extensions/ApplePS2Controller.kext/Plugins/ApplePS2Mouse.kext -- permissions set.

Extensions/ApplePS2Controller.kext/Plugins/ApplePS2Trackpad.kext -- permissions set.

Extensions/ApplePS2Controller.kext -- permissions set.

Extensions/Disabler.kext -- permissions set.

Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext -- permissions set.

Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCISerialATAPI.kext -- permissions set.

Extensions/IOAHCIFamily.kext -- permissions set.

Extensions/IOATAFamily.kext/Contents/PlugIns/AppleIntelPIIXATA.kext -- permissions set.

Extensions/IOATAFamily.kext/Contents/PlugIns/IOATABlockStorage.kext -- permissions set.

Extensions/IOATAFamily.kext/Contents/PlugIns/IOATAPIProtocolTransport.kext -- permissions set.

Extensions/IOATAFamily.kext -- permissions set.

All extensions have proper permissions for meta-kernel extension cache creation.

Performing kextcache operation, please wait a moment...

Meta-kernel extension cache of size 552960 bytes created successfully.

 

##### RAMDISK CREATION PHASE #####

Determining proper RAMDISK file size.

Meta-kernel extension detected with size 552581 bytes.

Kernel binary Kernel/mach_kernel detected with size 5074944 bytes.

com.apple.Boot.plist detected with size 379 bytes.

Total RAMDISK size will be greater than the minimum size.

Total RAMDISK size is 6155552 bytes.

Creating RAMDISK image, please wait a moment...

RAMDISK image of size 6155552 bytes created successfully.

 

##### RAMDISK FILE POPULATION PHASE #####

Mounting RAMDISK image for file population.

RAMDISK directory tree created successfully.

Copying Plist/com.apple.Boot.plist to the RAMDISK root directory.

Plist/com.apple.Boot.plist successfully copied to the RAMDISK Root directory.

Copying MKext/Extensions.mkext to the RAMDISK Extra directory.

MKext/Extensions.mkext successfully copied to the RAMDISK Extra Directory.

Copying Kernel/mach_kernel to the RAMDISK root directory.

Kernel/mach_kernel successfully copied to the RAMDISK Root directory.

Unmounting RAMDISK...

RAMDISK image populated and unmounted successfully.

 

##### BOOTABLE ISO CREATION PHASE #####

Creating El-Torito bootable ISO, please wait a moment...

Bootable ISO file of size 6361088 bytes created successfully.

 

##### POST-BUILD PHASE #####

CLEAN flag set to SESSION, creating PreviousBuild payload for this session.

MKext/Extensions.mkext relocated.

Contents/initrd.img relocated.

Plist/com.apple.Boot.plist copied.

ISO/SlimBuild-Preboot.iso copied.

Kernel/mach_kernel copied.

 

This session's build time was 2008-10-18-100718.

All files from this session can be found at PreviousBuilds/Build.2008-10-18-100718

 

SlimBuild Process Complete!

140:slimbuild.internal root#

***************************************

Link to comment
Share on other sites

pic of my step of setup

 

10.5.4RetailDVD

Voodoo_beta1 kernel

 

how can i fix error? add more kexts to bootCD?

 

01_BootCD_Loading

 

 

02_Press_F8

 

 

03-BootCD Out,RetailDVD In,Press ESC

 

 

04_Enter(with[9f])

 

 

05_SHOW

 

 

06-Prepare to Boot RetailDVD

 

 

07_Screen

 

 

08-Error-still waiting for root device

 

Link to comment
Share on other sites

You always present the good work munky :(

Thanks a lot this will help me. Also keep the good work :)

 

EDIT: It's working with me here, I need only to press F8 then ESC after that 9f to work.

 

 

which kexts u added to BootCD?

Link to comment
Share on other sites

thx ~Galaxy for the help, but still some problems.

 

When I boot with -v -F -f I get the "still waiting for root device" :)

 

52dg21.jpg

 

2ds1fsx.jpg

 

When booting with rd(0,1)/mach_kernel -v -F -f I get this:

2wp3uci.jpg

 

I'm using these in my extensions folder on my boot cd:

2j5gxw4.png

Link to comment
Share on other sites

thx ~Galaxy for the help, but still some problems.

 

When I boot with -v -F -f I get the "still waiting for root device" :D

 

52dg21.jpg

 

2ds1fsx.jpg

 

When booting with rd(0,1)/mach_kernel -v -F -f I get this:

2wp3uci.jpg

 

I'm using these in my extensions folder on my boot cd:

2j5gxw4.png

 

The still waiting for root device is undoubtedly due to your controller kext not being loaded properly.

Link to comment
Share on other sites

All of the above problems seem to be caused by a missing or replaced ATA kernel extension. In certain cases where you are going to include additional extensions (particularly those on the ramdisk) there are a few small tweaks you need to do to get your kernel extensions of choice to load instead of the default kernel extensions on the install disk especially if there is a kernel extension present on the install disk with the same name as an extension you would like to replace. One thing that can solve this problem for many people is to use the boot-uuid flag inside of your boot.plist as I explained in an earlier post. To find your install disk uuid, boot into mac os, insert your retail disk, open disk utility and find the mounted Mac OS Install DVD volume, right click on it and click on "Information", a small window should pop up with information about mount point and about half way down will be a line that says Universally Unique Identifier, copy the string of numbers should look something like "D5EF9C33-294A-373B-92B7-B2890E62D5AB". now open up your boot.plist and in the section for kernel flags simply enter boot-uuid=D5EF9C33-294A-373B-92B7-B2890E62D5AB followed by -v or whatever flags you would like to use. It is also good practice to include your hacked kernel in the boot.plist so you don't need to enter long strings of commands to the bootloader. you can do this in your boot.plist by adding "rd(0,1) or rd(0,0) "the number can change sometimes" followed by /mach_kernel so for example here is a boot.plist i made to show what it should look like:

 

 <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
 <key>Kernel</key>
 <string>rd(0,1)/mach_kernel</string>
 <key>Kernel Flags</key>
 <string>boot-uuid=D5EF9C33-294A-373B-92B7-B2890E62D5AB -v</string>
</dict>
</plist>

 

the above boot.plist looks on the ramdisk of my preboot disk for the mach_kernel i placed there (if applicable) and then boots the device with the uuid i specified regardless of what it is or where the bootloader will search it out and initiate the boot process from that device. This should help people who are having issues getting it to root, the drivers for the cd drives are already included by default but there may still be a few problems getting ata to root simply by specifying a boot device uuid. give this a try and see how it turns out. the boot-uuid is one of the better secrets of the newer bootloaders that most people overlook when building their preboot disks. Good luck!

 

~Galaxy

Link to comment
Share on other sites

Galaxy, can't we make the drivers we want simply appear newer than the ones on the install disk? May be an alternative for this issue.

 

yes the process is a bit complicated though and involves editing the info.plist. The best way to go about doing that is to give kernel extensions a high probe score and as a last resort a bump in version number. I didn't really want to go into it simply for the fact that the layout of the info.plist varies wildly among different kexts and its not such an easy thing to do unless you know what you are looking for I may do a guide up later today on how to do that though and possibly provide a script or something which can effectively do the work for you before your slimbuild -- Definitely may work on it as an addition to slimbuild 3.0.

Link to comment
Share on other sites

Well, this is my boot.plist

 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
 <key>Graphics Mode</key>
 <string>1280x1024x32</string>
 <key>Kernel</key>
 <string>rd(0,1)/mach_kernel</string>
 <key>Kernel Flags</key>
 <string>-v boot-uuid=B9702D5D-59B8-3EED-B2DA-71E03BD1EAAB</string>
 <key>Timeout</key>
 <string>5</string>
 <key>device-properties</key>
</dict>
</plist>

Link to comment
Share on other sites

Well, this is my boot.plist

 

<?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
 <plist version="1.0">
 <dict>
  <key>Graphics Mode</key>
  <string>1280x1024x32</string>
  <key>Kernel</key>
  <string>rd(0,1)/mach_kernel</string>
  <key>Kernel Flags</key>
  <string>-v boot-uuid=B9702D5D-59B8-3EED-B2DA-71E03BD1EAAB</string>
  <key>Timeout</key>
  <string>5</string>
  <key>device-properties</key>
 </dict>
 </plist>

 

looks good that should do it, I wouldn't have a timeout on it simply for the fact that the install dvd performs a timeout when its loaded properly. but that's just me..

Link to comment
Share on other sites

On my laptop, I get a plain light blue screen (that appears on the background of the GUI installer) and then nothing happens.

This laptop has SATA hard drive and IDE DVD RW.

 

On my pentium 4 PC, it shows the error "Still waiting for the root device"

PC has SATA hard drive and SATA DVD RW

 

By the way, I am using these kexts

kextsho2.png

 

I am using uuid in boot.plist.

 

am I missing something?

Link to comment
Share on other sites

On my laptop, I get a plain light blue screen (that appears on the background of the GUI installer) and then nothing happens.

This laptop has SATA hard drive and IDE DVD RW.

 

On my pentium 4 PC, it shows the error "Still waiting for the root device"

PC has SATA hard drive and SATA DVD RW

 

By the way, I am using these kexts

kextsho2.png

 

I am using uuid in boot.plist.

 

am I missing something?

 

Looks as if you are missing the correct kext for your sata controller. What type is it?

Link to comment
Share on other sites

 Share

×
×
  • Create New...