Jump to content

BootCDMaker


Trauma!
 Share

126 posts in this topic

Recommended Posts

BootCDMaker is simple utility to rapidly create Chameleon BootCD. This application use a mix of bash & osascript (AppleScript).

 

Using BootCDMaker is really easy and simple:

 

1. Grab your Mkext / smbios.plist / DSDT.aml / mach_kernel and drop them in "BootCD Contents" folder. (be sure to respect standard file syntax)

2. If you don't add you com.apple.boot.plist to "Extra Contents" it will be generated automatically.

3. BootCDMaker features :

 

- Automatic NVIDIA graphics injection

- Ethernet built-in injection

- EHCIacquire (USB2) fix

- UHCIreset (USB1.1) fix

- Skip the SSDT tables while relocating the DSDT table

- Use the legacy grey apple logo

- Custom kernel flags edition

- Custom device-properties edition

- Legacy mode : this will create an old fashioned boot cd, known as BOOT-132 CD, but powered by the latest release of chameleon. This should fix BIOS incompatibility with chameleon built in Eltorito loader.

- Mkext creation utility

- ISO Burning utility

 

6. BootCDMaker will automatically backup the previous BootCD.iso build to the "Desktop/BootCDMaker-Out/Previous-BootCD" folder.

 

What mode should you use :

 

Default : if you have a recent computer you should try this.

Legacy : if Default is not loading (hang at boot) try this.

 

Version history :

 

- "0.7" include the latest build of chameleon's cdboot (r658)

 

- "0.8" Added support for automatic custom kernel loading. Simply drop your kernel with other files. The kernel file must be named "mach_kernel" in order to be included automaticly in the boot.plist file. If not you will have to edit the plist yourself.

 

- "1" Added Legacy / Default options, selection of GraphicsEnabler and EthernetBultIn options et original ArtWorks. Also some code cleaning and optimizing.

 

- "1.1" Added Erase/Burning features, more chameleon options, code refactoring & optimizations, GUI enhancements. BootCDMaker is now fully compatible with 10.5 & 10.6. :P

 

- "1.1f" Added choice to Burn or Erase & Burn. Previous version was always erasing and then burning...

 

- "1.2" The app now supports spaces in path, BootCDMaker should now run from mostly everywhere. Added plist correction in case you remove DSDT, Kernel or smbios.plist from "Extra Contents" but leave the boot.plist. Added device-propeties edition and an options to remove chameleon GUI. Removing chameleon GUI should fix EBIOS errors for everyone, i hope :)

 

- "1.5" Now with COCOA GUI and a lot more options, bootloader updated to PCEFI v10.3.

 

- "1.6" EBIOS errors fixed, Disable CHameleon GUI has been removed. ISO should works fine from all type of media now. (Thanks to iNDi)

 

- "1.6.1" Fixed a bug who was preventing GraphicsEnabler to work properly, thx to stellarolla who has noticed that bug. BootCDMaker will also check if you've made a bad configuration to prevent GraphicsEnabler and or EthernetBuiltin injection to fail. I've also improved the legacy ISO part, no more EBIOS errors in this mode too. And now every features of the software should work fine with spaces in paths names.

 

 

Enjoy this little piece of software

 

Thanks to : zef, sonotone, JrCs

 

BootCDMaker_1.6 : http://darwinx86.net/software

Edited by Trauma!
  • Like 1
Link to comment
Share on other sites

If you don´t have a DSTD.aml what then?

 

If only you'd tried without adding your DSDT you'll know. ;)

 

DSDT.aml / smbios.plist / mach_kernel are optionals since they are not necessary to run a retail DVD.

 

Only Extensions (kext or mkext) are required, if they are not included in the "Extra Contents" BootCDMaker will warn you that it's not possible to build the boot CD.

 

Cheers.

Link to comment
Share on other sites

Trauma, i think you meant:

DSDT.aml / smbios.plist / mach_kernel are optionals since they are not necessary to run a retail DVD.

;) Going to give it a ride.. Thanks

Link to comment
Share on other sites

Hail Legacy :) works fine for me, the legacy iso. Default way doesn't like my drive.. all "default solutions" till today give me instant reboots. So far i only tested booting 10.5.4 retail DVD and 10.5.8 on HD, both worked without problems, though booting the DVD had some weird messages while booting but, everything was fine after boot.

So this is a perfectly fine also as rescue booter!

Nice work Trauma.. damn thing even talks to me :) Just a suggestion:

 

it would be nice if the output was made to the app's folder, instead of desktop.

And the log output to Terminal instead of Console but, this one is just me being picky :)

And i'd like to add some comment to this statement on first post:

Known issues : CD image created form Snow Leopard will not boot Leopard DVD. This is due to Apple, cause they changed the way mkext are made under 10.6. How ever mkext made from Leopard will work with SL.

 

Well, Trauma removed "Known issues" so, i remove my comment :)

Edited by Azimutz
Link to comment
Share on other sites

Hey Azimutz,

 

about that :

 

The underlined part is like "half true". The image i made was created under Snow and the mkext too so, a image made under Snow does boot Leo DVD. But, you are right mentioning that mkext is the reason! The thing is, under snow we can specify -mkext1 to make a mkext specific for 10.5 and early versions. -mkext2 builds a mkext specific for Snow and -m builds default system kext cache as usual. -mkext2 option doesn't work under Leo.
On the bold one, i just want to add that, kexts compiled under Snow (10.6 sdk) don't cache under Leo.

 

You are totally right, i just didn't took the time to explain the whole thing in details. Thanks to you to recall in detail this things.

 

About that your requests : i will think about that, but for now i'm more focussed on improve some behaviors of the application. According to another user observation, I've revisited the behavior of GraphicsEnabler and EthernetBultIn options to make it more adaptive to different cases.

 

Actually if boot.plist already exist in "Extra Contents" it will not ask you to set those two options. The idea was to not modify custom boot.plist, and only ask the questions when auto generating the boot.plist.

 

Now BootCDMaker will ask the questions in all cases, and will really setup the plist file to "yes" or "no" in all cases. So even if the value have been already setup it will overwrite the plist with the new setup. If the value don't exist or if the plist itself don't exist, it will works too.

 

Changes are implemented, as soon it will be tested roughly i will release the new version of BootCDMaker.

 

Cheers.

Link to comment
Share on other sites

I tried this and put in all the kexts that works on my current SL installations plus DSDT and device properties for com.Apple.Boot.plist but I don't get past the grey background and spinning beach ball. I never had this spinning beach ball phenom so I don't know what I miss.

Someone help please.

Link to comment
Share on other sites

I have been trying to create a USB Boot Drive to boot up SL installation DVD. A combination of files had been tried including Chameleon 2 RC1, RC2, RC3 and PC EFI 10.1. The resulting drive will boot the DVD on either one of my machines but never both.

 

So, I created a BootCD by adding:

1. a dsdt.aml with only RTC fix

2. fakesmc.kext, NullCPUPowerManagement.kext and OpenHaltRestart.kext to the Extensions folder

Options of "Default," "GraphicsEnabler" and "EthernetBuiltIn" are selected.

 

The resulting BootCD lets me boot up SL installation DVD on both my machines with the correct screen resolutions :)

 

Thanks Trauma!

 

PS: burning the .iso with Disk Utility gives "EBIOS read error" during boot-up. Toast Titanium solves it.

Link to comment
Share on other sites

Hey Azimutz,

 

about that : etc...

 

Trauma, no problem.. just thought it was good to mention that. This info doesn't show on Leo's man pages.

Yeah.. take care of important stuff first, that's a priority.. my suggestion is not.

Boot.plist stuff worked fine.. i did placed my boot.plist on Extra Contents and left out path to dsdt, smbios and kernel on purpose. Everything was added correctly. In fact that helped me on solving a doubt i had about Chameleon on this matter :)

Will check updates..

 

Take care..

 

---------------------------------------------

This is actually really convient and easy to use. If I'm correct in saying this, this could be used to create a bootcd to install SL on an AMD machine with the right kernel. :D

 

Totally correct :D i have to use patched kernel.

 

----------------------------------------------

I tried this and put in all the kexts that works on my current SL installations plus DSDT and device properties for com.Apple.Boot.plist but I don't get past the grey background and spinning beach ball. I never had this spinning beach ball phenom so I don't know what I miss.

Someone help please.

 

Follow di524up's example.. start with minimal stuff, like the essential. The important thing is to boot the installer.. graphics, network, etc are not important for install process.

Given the problems people mention, i'd say that's either graphics or decrypter problem. Can't be perms in this case.

Also don't forget to try Legacy iso.

 

-----------------------------------------------

I have been trying to create a USB Boot Drive...

 

PS: burning the .iso with Disk Utility gives "EBIOS read error" during boot-up. Toast Titanium solves it.

 

USB is giving lots of problems on certain mobos.. now there's this solution but there's also the "restore" to HD method, people seem to be "avoiding" these days. I have an almost permanent 10GB Mac OS X Install DVD partition. I just boot it with the same files as i boot Snow (i doubt that it will ever see again a Leo install restored on it :) ). All boot files are now (with Chameleon rc3) located on on my main Snow partition (disk1s2 Guid), no Extra folder on other bootable partitions, only patched kernel. Works perfect!

 

Never had problems with Disk Utility but, i now have those damn EBIOS errors when i boot with my external USB drive ON.

No problem with USB sticks or USB card reader.

 

Nice going on the minimal setup :(

Link to comment
Share on other sites

USB is giving lots of problems on certain mobos.. now there's this solution but there's also the "restore" to HD method, people seem to be "avoiding" these days. I have an almost permanent 10GB Mac OS X Install DVD partition. I just boot it with the same files as i boot Snow (i doubt that it will ever see again a Leo install restored on it :) ). All boot files are now (with Chameleon rc3) located on on my main Snow partition (disk1s2 Guid), no Extra folder on other bootable partitions, only patched kernel. Works perfect!

 

Never had problems with Disk Utility but, i now have those damn EBIOS errors when i boot with my external USB drive ON.

No problem with USB sticks or USB card reader.

 

Nice going on the minimal setup :(

 

A permanent 10GB Mac OS X Install DVD partition?

How do you prevent it from automounting? I find that quite annoying.

Link to comment
Share on other sites

A permanent 10GB Mac OS X Install DVD partition?

How do you prevent it from automounting? I find that quite annoying.

 

Kind of permanent.. it doesn't take much to remove or add it.. it's the last partition on the HD and i still have plenty of unallocated space :P resize, remove, add partitions on a Guid HD it's a snap. We can even rezise the system we are booted on.

   /dev/disk1
  #:					   TYPE NAME					SIZE	   IDENTIFIER
  0:	  GUID_partition_scheme						*500.1 GB   disk1
  1:						EFI						 209.7 MB   disk1s1
  2:				  Apple_HFS SnowKitty			   160.9 GB   disk1s2
  3:				  Apple_HFS Home					107.4 GB   disk1s3
  4:				  Apple_HFS Leo					 39.9 GB	disk1s4
  5:				  Apple_HFS Mac OS X Install DVD	10.0 GB	disk1s5

Well, sometimes Finder does open it at startup but, that's very rare on Snow.. 2 or 3 times like since 10a394 came out. Does it more on Leo..

I really haven't done any to prevent it and don't feel the need to. Try WinstonAce's suggestion. If it happened to many times to me, i'd be annoyed to :D

Link to comment
Share on other sites

I downloaded the file from the link in the first post today. I tried generating the bootcd with mixed results.

 

I found that the kernel I supplied was always placed in the ramdisk Extra folder. However, if it was named anything other than "mach_kernel" it was not entered in the Boot.plist with the required rd(0,0) prefix. e.g., mach_kernel was listed as rd(0,0)/mach_kernel but mach_kernel.432 was just listed as mach_kernel.

 

If I supplied no Boot.plist I would be asked about the GraphicsEnabler and EtnernetBuiltIn options, but if I supplied any Boot.plist I was not asked and they were not supplied. The result is that if I want kernel flags like "arch=i386 -v" I don't get the injection options and if I want the injection options I can't set kernel flags.

 

I also noticed that the Extensions folder and Extensions.mkext were both present in the Preboot/Extra folder. If the Extensions.mkext file is provided, there is no need for the Extensions folder.

Link to comment
Share on other sites

I found that the kernel I supplied was always placed in the ramdisk Extra folder. However, if it was named anything other than "mach_kernel" it was not entered in the Boot.plist with the required rd(0,0) prefix. e.g., mach_kernel was listed as rd(0,0)/mach_kernel but mach_kernel.432 was just listed as mach_kernel.

 

Quoted form the first post :

 

The kernel file must be named "mach_kernel" in order to be included automaticly in the boot.plist file. If not you will have to edit the plist yourself.

 

If I supplied no Boot.plist I would be asked about the GraphicsEnabler and EtnernetBuiltIn options, but if I supplied any Boot.plist I was not asked and they were not supplied. The result is that if I want kernel flags like "arch=i386 -v" I don't get the injection options and if I want the injection options I can't set kernel flags.

 

That's fixed and it will be released soon :D I had minor compatibility problems with 10.5, that's fixed now.

 

I also noticed that the Extensions folder and Extensions.mkext were both present in the Preboot/Extra folder. If the Extensions.mkext file is provided, there is no need for the Extensions folder.

 

This is not a big issue, and can't the /Etensions folder be usefull to boot with -f flag ?

Link to comment
Share on other sites

None of the suggestions or examples here work for me (grey screen hang). I am always able to boot using disk method with just 1 kext- fakesmc or dsmos. My board is Asus P5Q pro and it has been very vanilla friendly and I have never been stuck at grey screen before so I don't know what causes it. I even put in NVInject just to hope...The thing is I don't have any error show up on verbose mode.

Some body has to be getting what I am getting. Please share.

Link to comment
Share on other sites

Quoted form the first post :

 

I saw the comment about the kernel. I don't understand it. You can recognize a kernel with a regular expression like "mach_kernel*". You already have the code to add the rd(0,0) to a file named "mach_kernel". Why not apply it to files named "mach_kernel*"?

 

This is not a big issue, and can't the /Etensions folder be usefull to boot with -f flag ?

 

How could that be? Is the ram disk writable during boot? I don't think so.

Link to comment
Share on other sites

Hum.. be careful with the E/E folder guys. I don't know about the pre boot but, on my HD install, if i leave the Extensions folder together with Extensions.mkext, the folder is loaded instead of the mkext. And if i leave it "empty", it's still the folder that loads.. not pretty :P

I never use both, just left it there to make more tests later and just deleted the kexts.. again, not pretty.. took me a bit to figure out the problem, so used i am to delete Extensions folder.

 

Anyway, i got a better one to share with you guys.. it seems Trauma must be doing some magic on the app :) voodoo, or something...

Well, while the DVD is loading i get these yellow messages (long time no see) about aicpmanagement.kext not loading and more surprisingly, also messages about no HPET available, that i never had. I found this very strange and decided to try boot without Disabler.. got this feeling.. and the damn thing just boots :( no kp and still the yellow messages.

Trauma, what have you done, mate?!? i want my kp back :D

I'm not kidding on this...!!

Link to comment
Share on other sites

Hey,

 

Ok, Extensions folder removing after mkext packing done. I also added few things to the app :

 

  1. BootCDMaker now can erase|burn the ISO instantly after its creation.
  2. Extensions folder cleanup after mkext packing.
  3. Few plist options added : DropSSDT, EHCIacquire,UHCIreset, Kernel Flags, Legacy Logo

 

I've fixed Applescript errors when using from 10.5, and clean up a bit the code (again).

 

It's steel need some more tests before next release.

 

I saw the comment about the kernel. I don't understand it. You can recognize a kernel with a regular expression like "mach_kernel*". You already have the code to add the rd(0,0) to a file named "mach_kernel". Why not apply it to files named "mach_kernel*"?

 

Well it easier to rename the kernel file to the "supported" name as it's to implement it. :) I'll think about that but using wildcards in a bash script isn't easy as that.

 

And if i change the code on this feature, i think i will use a file selection popup or a text input dialog.

 

Anyway, i got a better one to share with you guys.. it seems Trauma must be doing some magic on the app voodoo, or something...

 

If id did i swear it was conscienceless ;) I'll think about this strange legacy behavior. It might be related to the ramdisk loading.

 

Cheers guys.

Link to comment
Share on other sites

If id did i swear it was conscienceless :P I'll think about this strange legacy behavior. It might be related to the ramdisk loading.

 

Cheers guys.

I'm sure you didn't do it on purpose :) the voodoo man here is me..

I forgot to use kexts/kernel according to retail version, 10.5.4.. was using 5.8 ones :P i need osx86 vacations!!

I still have some errors about not finding library/startupitems (folder is there) and mDNSResponder. Nothing serious.

Will take a better look next round...

 

Stay safe..

Link to comment
Share on other sites

 Share

×
×
  • Create New...