RevoBoot

Posted 11 June 2011 - 06:44 PM

buoo

The Prodigal Son

Moderators

4,591 posts

Gender:Male

Location:Italy

RevoBoot is a GUI less stage 2 bootloader based on Master Chief's "Revolution" - Revolution was a special kind of branch of Chameleon based on Apple's Boot 132.That being said. RevoBoot is the successor of Revolution and is now being ripped up, dissected and re-thought by RevoGirl. She has continued to fine tune every aspect of what's required to boot OS X in the most direct way, with the aim of keeping the bootloader as small, quick and tidy as possible.

Looking at Revolutions' source code, drill down to /i386/config and you will find three folders, ACPI, EFI and SMBIOS, each containing a file named data.h. Static data for your system can be added to these data.h files in a structured way to enable you to benefit from a faster boot. For example, your DSDT.aml can be added to /i386/config/ACPI/data.h which will then be compiled inside Revolution. The result being the bootloader no longer needs to search for the file on disk to load at boot time.Though note: These files don't have to be populated straight away as Revolution can still load your files from the /Extra folder on your boot volume.Along with the three customisable data.h files, there is also a lose data.h file and settings.h file in /i386/config. The data.h file doesn't need to be touched and should remain where it is as it's part of the source code. Though the settings.h file is your master controller file, containing all the switches that can be turned on or off to direct the compiler code to include for your personal boot file.

The text was been extracted from the home of the project. Read morelink

[size=3]RevoBuilder V1.0.28==================- Add check for user not having a serial number to config.sh.RevoBuilder V1.0.27==================- Amend BuildUSB.sh to write the stage 0 loader to more than the 1st partition. Useful for writing to an HDD partitionRevoBuilder V1.0.26==================- Amended config.h to match latest changes to STATIC_ECDT_TABLE_INJECTION.- Amend BuildUSB.sh to set header of com.apple.Boot.plist to use appropriate string per OS version.RevoBuilder V1.0.25==================- Amended config.sh to suit RevoBoot v1.0.22.- Updated RevoBuilder/RevStart/Resources/Chameleon_Files to that from RC5 r1174. Note: boot0 is actually the new boot0md. So it doesn't need the USB partition set to active.RevoBuilder V1.0.24==================- Attempt at making the BuildUSB script more complete by detecting the use of the PRE_LINKED_KERNEL_SUPPORT directive in settings.h. If found, include the system caches on the USB, otherwise copy /S*/L*/E* to the USB and then look for FakeSMC.kext to determine whether or not the USB can be booted. If not, then advise the user to manually add their /Extra kexts.RevoBuilder V1.0.23==================- Added copying of /System/Library/Caches/com.apple.kext.caches/Startup/ to USB flash driveRevoBuilder V1.0.22==================- Fixed a bug in BuildUSB.sh where it would always write the Chameleon stage 1 boot file to rdisk2s1 instead of the correct partition.RevoBuilder V1.0.21==================- Change SSDT_DATA / SSDTDATA to SSDT_SATA / SSDTSATA in config.h - Thanks STLVNUBRevoBuilder V1.0.20==================- Added error checking to the screen resolution detection code in config.sh.RevoBuilder V1.0.19==================- Changed the code in config.sh for detecting the currently used screen resolution. Replaced it with some older code which needs testing to see if it works 100% for everyone.RevoBuilder V1.0.18==================- Fixed a bug in the menu where a heading wasn't shown under certain conditions.- Moved the toggle target OS option to the build section in the menu.- Removed the toggle debug mode option from the menu as it wasn't complete and it's better to do it manually when editing the settings.h file.- Removed colour setup from BuildUSB.sh as they're now passed from Revstart script.RevoBuilder V1.0.17==================- Some changes to the build a bootable flash drive option. Lots more to do on this yet - I consider this part as a work-in-progress.RevoBuilder V1.0.16==================- Added menu option (after Clean) to build a bootable USB flash drive. It has been tested on default settings using SnowLeopard and Lion. It's not all singing all dancing and doesn't support things like a pre-linked kernel yet but here it works. It's only a first draft so there's plenty of room for code improvements etc.RevoBuilder V1.0.15==================- Change download.sh to remove the supplied /i386/config/ACPI/data.h and /i386/config/settings.h files after downloading latest RevoBoot source.RevoBuilder V1.0.14==================- Revised Config.h to produce settings.h to match latest style used in RevoBoot 1.0.21.- Changed colour of menu options 3 & 4 to green for initial word of the toggled options.- Revised version number.RevoBuilder V1.0.13==================- Updated /RevStart/Resources/Tools/ to RevoBoot's latest smbios2struct3- Updated DoPrivateDataStructs.h with the revised name for smbios2struct3- Changed occurrences of Revolution to RevoBoot in Config.sh- Revised Config.h to produce settings.h to match latest style in GitHubRevoBuilder V1.0.12==================- Changed the config.sh script to reflect changes to RevoBoot 1.0.09RevoBuilder V1.0.11==================- Changed the way the version number is stored.- Tweaked the scripts for the config process.RevoBuilder V1.0.10==================- Tweak Welcome heading at the top of the menu.RevoBuilder V1.0.9==================- Add code for RevStart menu to pad a space before options (1-9) to help alignment.- Remove erroneous space in config.shRevoBuilder V1.0.8==================- Add function in Revstart script to resize the Terminal Window to keep everything visible (needs more work).- Changed source.sh script to present list of source folders to choose from.RevoBuilder V1.0.7==================- Updated config.sh to reflect the changes to settings.h for RevoBoot 1.0.06- Tweaked menu indent for 'Description' beside REVOBUILDER OPTIONS:RevoBuilder V1.0.6==================- Add auto-detection for Git.- Tweaked menu to only show the correct options depending on the environment.- Removed note about needing Git from download.sh.RevoBuilder V1.0.5==================- Updated config.sh to no longer add TARGET_OS directive to settings.h as required for RevoBoot v1.0.05.- Updated compilation.sh to use make lion if the user want's to build RevoBoot for 10.7- Change menu to show built config data in green.RevoBuilder V1.0.4==================- Updated config.h to duplicate /config/data-template.h to data.h to now successfully compile RevoBoot v1.0.04.- Change menu so it only shows 'Clean' option is RevoBoot has been compiled.- Change menu to show built config data in green.- Changed version number in Revstart script.evoBuilder V1.0.3==================- Updated download.sh script to work with RevoBoot v1.0.04's version numbering.- Changed compilation.sh to wait for user input if compilation fails.- Changed version number in Revstart script.RevoBuilder V1.0.2==================- README file changed to point the user to my git wiki.- Added 'RevoBuilder options' sub heading to main menu with 'Help' option which opens my wiki on git.- Changed version number in Revstart script.- Note: The version numbering is not working with RevoGirl's RevoBoot v1.0.04 as the VERSION file is missing from her source. This will be addressed with my next update, once RevoGirl addresses this issue.RevoBuilder V1.0.1==================- Changed how RevoBoot version/revision naming is appended to source folder name to suit RevoBoot v1.0.03- Changed version number in Revstart script.RevoBuilder V1.0==================- Initial Version released on 15th March 2011[/size]

Posted 12 June 2011 - 05:56 PM

mrmojorisin17

InsanelyMacaholic

Members

3,942 posts

Gender:Male

Create a static DSDT is not a good solution, but you can use it in Extra/ACPI
I use a static SSDT_USB because it doesn't change, instead of a SSDT_USB in Extra/ACPI.
Is not necessary to use static data, is only an alternative solution.

Attached Files

Posted 12 June 2011 - 06:36 PM

flAked

InsanelyMac Sage

Members

470 posts

Gender:Male

Location:internets

Cheers for that! +1

Couple of things to note:

Please add a reference that the text is from the RevoBoot wiki or put the text in quotes.

RevoBuilder is not updated at the moment and a lot of options have changed for RevoBoot. The script also generates some static ACPI table data that relies on the current boot (and DSDT used for that boot). This might be more confusing and error prone for new users than it intends to streamline to process. At this point it is preferred in my view to manually configure and build RevoBoot. Maybe you could add a note about it?

Posted 12 June 2011 - 07:18 PM

Posted 12 June 2011 - 07:31 PM

buoo

The Prodigal Son

Moderators

4,591 posts

Gender:Male

Location:Italy

RevoBuilder is not updated at the moment and a lot of options have changed for RevoBoot. The script also generates some static ACPI table data that relies on the current boot (and DSDT used for that boot). This might be more confusing and error prone for new users than it intends to streamline to process.

I knew that, for this reason I added in the following posts same little "how to".