Index: branches/ErmaC/Trunk/i386/libsaio/ati.c =================================================================== --- branches/ErmaC/Trunk/i386/libsaio/ati.c (revision 1662) +++ branches/ErmaC/Trunk/i386/libsaio/ati.c (revision 1663) @@ -318,6 +318,9 @@ { 0x94C3, 0x2247148C, CHIP_FAMILY_RV610, "ATI Radeon HD 2400 LE", kNull }, { 0x94C3, 0x3000148C, CHIP_FAMILY_RV610, "ATI Radeon HD 2350 Series", kNull }, + { 0x94C3, 0x30001642, CHIP_FAMILY_RV610, "ATI Radeon HD 3410", kNull }, + { 0x94C3, 0x37161642, CHIP_FAMILY_RV610, "ATI Radeon HD 2400 PRO", kNull }, + { 0x94C3, 0x3000174B, CHIP_FAMILY_RV610, "ATI Radeon HD 2350 Series", kNull }, { 0x94C3, 0xE370174B, CHIP_FAMILY_RV610, "ATI Radeon HD 2400 PRO", kNull }, { 0x94C3, 0xE400174B, CHIP_FAMILY_RV610, "ATI Radeon HD 2400 PRO", kNull }, @@ -409,7 +412,7 @@ { 0x9598, 0xB3831002, CHIP_FAMILY_RV635, "ATI All-in-Wonder HD", kNull }, - { 0x9598, 0x30001043, CHIP_FAMILY_RV635, "HD3730", kNull }, + { 0x9598, 0x30001043, CHIP_FAMILY_RV635, "ATI Radeon HD 3730", kNull }, { 0x9598, 0x30011043, CHIP_FAMILY_RV635, "ATI Radeon HD 4570", kNull }, { 0x9598, 0x3000148C, CHIP_FAMILY_RV635, "ATI Radeon HD 3730", kNull }, @@ -504,6 +507,7 @@ { 0x68C0, 0x392717AA, CHIP_FAMILY_REDWOOD, "ATI Mobility Radeon HD 5730", kNull }, { 0x68C1, 0x033E1025, CHIP_FAMILY_REDWOOD, "ATI Mobility Radeon HD 5650", kNull }, + { 0x68C1, 0x9071104D, CHIP_FAMILY_REDWOOD, "ATI Mobility Radeon HD 5650", kEulemur }, { 0x68C8, 0x2306103C, CHIP_FAMILY_REDWOOD, "ATI FirePro V4800 (FireGL)", kNull }, @@ -577,20 +581,26 @@ { 0x6739, 0x24411462, CHIP_FAMILY_BARTS, "AMD Radeon HD 6850", kDuckweed }, + { 0x6739, 0x31101682, CHIP_FAMILY_BARTS, "AMD Radeon HD 6850", kDuckweed }, + { 0x6739, 0xE177174B, CHIP_FAMILY_BARTS, "AMD Radeon HD 6850", kDuckweed }, - + { 0x6740, 0x1657103C, CHIP_FAMILY_TURKS, "AMD Radeon HD 6770M", kNull }, + { 0x6740, 0x165A103C, CHIP_FAMILY_TURKS, "AMD Radeon HD 6770M", kNull }, - { 0x6741, 0x04891025, CHIP_FAMILY_TURKS, "AMD Radeon HD 6650M", kNull }, // ErmaC no tested { 0x6741, 0x050E1025, CHIP_FAMILY_TURKS, "AMD Radeon HD 6650M", kNull }, { 0x6741, 0x05131025, CHIP_FAMILY_TURKS, "AMD Radeon HD 6650M", kNull }, + { 0x6741, 0x1646103C, CHIP_FAMILY_TURKS, "AMD Radeon HD 6750M", kNull }, + { 0x6741, 0x9080104D, CHIP_FAMILY_TURKS, "AMD Radeon HD 6630M", kNull }, { 0x6758, 0x67581002, CHIP_FAMILY_TURKS, "AMD Radeon HD 6670", kBulrushes }, { 0x6758, 0x22051458, CHIP_FAMILY_TURKS, "AMD Radeon HD 6670", kBulrushes }, + { 0x6758, 0xE194174B, CHIP_FAMILY_TURKS, "AMD Radeon HD 6670", kBulrushes }, + { 0x6758, 0x31811682, CHIP_FAMILY_TURKS, "AMD Radeon HD 6670", kBulrushes }, { 0x6758, 0x31831682, CHIP_FAMILY_TURKS, "AMD Radeon HD 6670", kBulrushes }, @@ -598,14 +608,13 @@ { 0x6759, 0xE193174B, CHIP_FAMILY_TURKS, "AMD Radeon HD 6570", kNull }, - { 0x6760, 0x04CC1028, CHIP_FAMILY_RV730, "AMD Radeon HD 6490M", kNull }, - { 0x6760, 0x1CB21043, CHIP_FAMILY_RV730, "AMD Radeon HD 6470M", kNull }, - { 0x6760, 0x167D103C, CHIP_FAMILY_CAICOS, "AMD Radeon HD 6470M", kNull }, // ErmaC no tested - { 0x6760, 0x1656103C, CHIP_FAMILY_CAICOS, "AMD Radeon HD 6490M", kNull }, // ErmaC no tested + { 0x6760, 0x04CC1028, CHIP_FAMILY_CAICOS, "AMD Radeon HD 6490M", kNull }, + { 0x6760, 0x1CB21043, CHIP_FAMILY_CAICOS, "AMD Radeon HD 6470M", kNull }, + { 0x6779, 0x64501092, CHIP_FAMILY_CAICOS, "AMD Radeon HD 6450", kBulrushes }, - { 0x6779, 0xE164174B, CHIP_FAMILY_CAICOS, "AMD Radeon HD 6450", kBulrushes }, + { 0x6779, 0xE164174B, CHIP_FAMILY_CAICOS, "AMD Radeon HD 6450", kBulrushes }, /* standard/default models */ { 0x9400, 0x00000000, CHIP_FAMILY_R600, "ATI Radeon HD 2900 XT", kNull }, @@ -690,20 +699,23 @@ { 0x6718, 0x00000000, CHIP_FAMILY_CAYMAN, "AMD Radeon HD 6970 Series", kNull }, { 0x6719, 0x00000000, CHIP_FAMILY_CAYMAN, "AMD Radeon HD 6950 Series", kNull }, + { 0x6720, 0x00000000, CHIP_FAMILY_BARTS, "AMD Radeon HD 6900M Series", kNull }, + { 0x6738, 0x00000000, CHIP_FAMILY_BARTS, "AMD Radeon HD 6870 Series", kDuckweed }, { 0x6739, 0x00000000, CHIP_FAMILY_BARTS, "AMD Radeon HD 6850 Series", kDuckweed }, { 0x673E, 0x00000000, CHIP_FAMILY_BARTS, "AMD Radeon HD 6790 Series", kNull }, { 0x6740, 0x00000000, CHIP_FAMILY_TURKS, "AMD Radeon HD 6700M Series", kNull }, - { 0x6741, 0x00000000, CHIP_FAMILY_TURKS, "AMD Radeon HD 6600/6700M Series", kNull }, + { 0x6741, 0x00000000, CHIP_FAMILY_TURKS, "AMD Radeon HD 6600M/6700M Series", kNull }, - { 0x6758, 0x00000000, CHIP_FAMILY_TURKS, "AMD Radeon HD 6670 Series", kNull }, + { 0x6758, 0x00000000, CHIP_FAMILY_TURKS, "AMD Radeon HD 6670 Series", kBulrushes }, { 0x6759, 0x00000000, CHIP_FAMILY_TURKS, "AMD Radeon HD 6500 Series", kNull }, - - { 0x6760, 0x00000000, CHIP_FAMILY_RV730, "AMD Radeon HD 6470M", kNull }, - + + { 0x6760, 0x00000000, CHIP_FAMILY_CAICOS, "AMD Radeon HD 6400M Series", kNull }, + { 0x6761, 0x00000000, CHIP_FAMILY_CAICOS, "AMD Radeon HD 6430M Series", kNull }, + { 0x6770, 0x00000000, CHIP_FAMILY_CAICOS, "AMD Radeon HD 6400 Series", kNull }, - { 0x6779, 0x00000000, CHIP_FAMILY_CAICOS, "AMD Radeon HD 6450 Series", kNull }, + { 0x6779, 0x00000000, CHIP_FAMILY_CAICOS, "AMD Radeon HD 6450 Series", kBulrushes }, { 0x0000, 0x00000000, CHIP_FAMILY_UNKNOW, NULL, kNull } }; @@ -1314,7 +1326,8 @@ if (!card->info->device_id || !card->info->cfg_name) { - printf("Unsupported card!\n"); + verbose("Unsupported ATI card! Device ID: [%04x:%04x] Subsystem ID: [%08x] \n", + pci_dev->vendor_id, pci_dev->device_id, pci_dev->subsys_id); return false; } Index: branches/ErmaC/Trunk/package/OptionalSettings/General.txt =================================================================== --- branches/ErmaC/Trunk/package/OptionalSettings/General.txt (revision 1662) +++ branches/ErmaC/Trunk/package/OptionalSettings/General.txt (revision 1663) @@ -34,4 +34,4 @@ UHCIreset:UHCIreset=Yes UseMemDetect:UseMemDetect=No UseKernelCache:UseKernelCache=Yes -Wake:Wake=Yes \ No newline at end of file +Wake:Wake=Yes Index: branches/ErmaC/Trunk/package/Scripts/Main/ESPpostinstall =================================================================== --- branches/ErmaC/Trunk/package/Scripts/Main/ESPpostinstall (revision 1662) +++ branches/ErmaC/Trunk/package/Scripts/Main/ESPpostinstall (revision 1663) @@ -36,7 +36,15 @@ stage1LoaderFAT="boot1f32" stage2Loader="boot" -targetVolumeChosenByUser=$3 +# If target volume root of current system then replace +# / with volume name. +if [ "$3" == "/" ] +then + targetVolumeChosenByUser="/Volumes/"$( ls -1F /Volumes | sed -n 's:@$::p' ) +else + targetVolumeChosenByUser="$3" +fi + targetDeviceChosenByUser=$( df "${targetVolumeChosenByUser}" | sed -n '2p' | awk '{print $1}' ) targetVolume="/Volumes/EFI" Index: branches/ErmaC/Trunk/package/Scripts/Main/postinstall =================================================================== --- branches/ErmaC/Trunk/package/Scripts/Main/postinstall (revision 1662) +++ branches/ErmaC/Trunk/package/Scripts/Main/postinstall (revision 1663) @@ -3,8 +3,6 @@ echo "===============================================" echo "Post Post-Install Script" echo "*********************************" -echo "-----------------------------------------------" -echo "" #echo "DEBUG: $ 1 = Full path to the installation package the installer app is processing: " $1 #echo "DEBUG: $ 2 = Full path to the installation destination: " $2 @@ -18,10 +16,11 @@ exit 1 fi -# clean up what would otherwise turn into "//" paths +# If target volume root of current system then replace +# / with volume name. if [ "$3" == "/" ] then - dest_vol="" + dest_vol="/Volumes/"$( ls -1F /Volumes | sed -n 's:@$::p' ) else dest_vol="$3" fi @@ -31,23 +30,16 @@ export MYLOCATION="${MYLOCATION%/*}" scriptDir=$MYLOCATION -# Has install log already been generated? -if [ ! -f "${dest_vol}"/.ChameleonLogFlag ]; then - # Write some information to the Install Log - versionNumber=`cat "${scriptDir}"/Resources/version` - revisionNumber=`cat "${scriptDir}"/Resources/revision` - "$scriptDir"InstallLog.sh "${dest_vol}" "Installer version: ${versionNumber} ${revisionNumber}" - "$scriptDir"InstallLog.sh "${dest_vol}" "Running Post postinstall script" - "$scriptDir"InstallLog.sh "${dest_vol}" "Target volume = ${dest_vol}" -else - "$scriptDir"InstallLog.sh "${dest_vol}" "Running Post postinstall script" -fi +# Write some information to the Install Log +"$scriptDir"InstallLog.sh "${dest_vol}" "Running Post postinstall script" +"$scriptDir"InstallLog.sh "${dest_vol}" "Target volume = ${dest_vol}" # set temporary directory chamTemp="$dest_vol/usr/local/chamTemp" # Check for stopped installation due to Chameleon # already existing on the same disk. +# TO DO - This check can be removed as it's no longer used!! if [ ! -f "$dest_vol"/.ChameleonExists ]; then # --------------------------------------------- @@ -56,7 +48,7 @@ if [ -e "${chamTemp}"/Extra/modules ]; then ls "${chamTemp}"/Extra/modules | while read FILE do - "$scriptDir"InstallLog.sh "${dest_vol}" "Installed module:$FILE" + "$scriptDir"InstallLog.sh "${dest_vol}" "Added module: $FILE" done fi @@ -66,7 +58,7 @@ if [ -e "${chamTemp}"/Extra/Themes ]; then ls "${chamTemp}"/Extra/Themes | while read FILE do - "$scriptDir"InstallLog.sh "${dest_vol}" "Installed Theme:$FILE" + "$scriptDir"InstallLog.sh "${dest_vol}" "Added Theme: $FILE" done fi @@ -86,10 +78,12 @@ mkdir "$chamTemp"/Extra fi - # Create template for org.chameleon.Boot.plist" + tempOCBP="$chamTemp"/Extra/org.chameleon.Boot.plist + + # Create template for org.chameleon.Boot.plist" tempOCBP="$chamTemp"/Extra/org.chameleon.Boot.plist cp "$4"/Library/Preferences/SystemConfiguration/com.apple.Boot.plist "$tempOCBP" - + # Read list of all boot options the user added. arrayCount=0 kernelFlagCount=0 @@ -137,21 +131,84 @@ fi if [ $kernelFlagCount -gt 0 ]; then - # Add kernel flags + # Add any kernel flags together in to one string. for (( i=0 ; i < $kernelFlagCount ; i++ )) do - # Add any kernel flags together in to one string. kernelFlagString="${kernelFlagString} ${kernelflag[i]}" done - sudo /usr/libexec/plistbuddy -c "Add :Kernel\ Flags string $kernelFlagString" "$tempOCBP" - if [ ${returnValue}=1 ]; then # key already exists. - sudo /usr/libexec/plistbuddy -c "Delete :Kernel\ Flags" "$tempOCBP" - sudo /usr/libexec/plistbuddy -c "Add :Kernel\ Flags string $kernelFlagString" "$tempOCBP" - fi + # We add the final string in the next section. fi fi - + # --------------------------------------------- + # Merge /Extra folders? + # --------------------------------------------- + # Does the user want to upgrade an existing /Extra folder? + # If so, then merge their existing one in to the temp one + if [ -e "$chamTemp/install_type_upgrade" ]; then + "$scriptDir"InstallLog.sh "${dest_vol}" "User selected to do an upgrade install." + + # first move the new org.chameleon.Boot.plist out of tmp + # Extra folder so we can merge that separately. + mv "$tempOCBP" "$chamTemp/holding.plist" + + # Check for an existing /Extra folder + # and merge existing /Extra with temp one. + if [ -e "$dest_vol"/.ChameleonEFI ]; then + if [ -e "/Volumes/EFI/Extra" ]; then + "$scriptDir"InstallLog.sh "${dest_vol}" "Merging existing /Volumes/EFI/Extra folder." + ditto --noextattr --noqtn /Volumes/EFI/Extra "$chamTemp"/Extra + fi + else + if [ -e "$dest_vol/Extra" ]; then + "$scriptDir"InstallLog.sh "${dest_vol}" "Merging existing ${dest_vol}/Extra folder." + ditto --noextattr --noqtn "${dest_vol}"/Extra "$chamTemp"/Extra + fi + fi + + # Check existing plist name for old naming convention + # and change to new convention. + if [ -e "$chamTemp"/Extra/com.apple.Boot.plist ]; then + "$scriptDir"InstallLog.sh "${dest_vol}" "Renaming existing com.apple.Boot.plist to org.chameleon.Boot.plist." + mv "$chamTemp"/Extra/com.apple.Boot.plist "$tempOCBP" + fi + + # Before merging org.chameleon.Boot.plist, copy any + # existing kernel flags, then delete the entry. + currentFlags=$( sudo /usr/libexec/plistbuddy -c "Print :Kernel\ Flags" "$tempOCBP" ) + sudo /usr/libexec/plistbuddy -c "Delete :Kernel\ Flags" "$tempOCBP" + + # Merge new org.chameleon.Boot.plist (holding.plist) + # with their currently existing one. + "$scriptDir"InstallLog.sh "${dest_vol}" "Merging new options into org.chameleon.Boot.plist. +NOTE: Please check the new merged org.chameleon.Boot.plist as +NOTE: any existing keys will NOT have been updated. +NOTE: For example: If you already had Wait=No as a boot option +NOTE: and chose Wait=Yes from the list, this will NOT be changed." + sudo /usr/libexec/plistbuddy -c "Merge $chamTemp/holding.plist" "$tempOCBP" + + # Combine new kernel flags with old ones. + kernelFlagString="${kernelFlagString} $currentFlags" + # Write complete kernel flag entry back. + sudo /usr/libexec/plistbuddy -c "Add :Kernel\ Flags string $kernelFlagString" "$tempOCBP" + if [ ${returnValue}=1 ]; then # key already exists. + sudo /usr/libexec/plistbuddy -c "Delete :Kernel\ Flags" "$tempOCBP" + sudo /usr/libexec/plistbuddy -c "Add :Kernel\ Flags string $kernelFlagString" "$tempOCBP" + fi + + elif [ -e "$chamTemp/install_type_new" ]; then + "$scriptDir"InstallLog.sh "${dest_vol}" "User selected to make a new install." + # Add kernel flags (if any) + if [ $kernelFlagCount -gt 0 ]; then + sudo /usr/libexec/plistbuddy -c "Add :Kernel\ Flags string $kernelFlagString" "$tempOCBP" + if [ ${returnValue}=1 ]; then # key already exists. + sudo /usr/libexec/plistbuddy -c "Delete :Kernel\ Flags" "$tempOCBP" + sudo /usr/libexec/plistbuddy -c "Add :Kernel\ Flags string $kernelFlagString" "$tempOCBP" + fi + fi + fi + + # --------------------------------------------- # Copy temp Extra folder to target destination # --------------------------------------------- # If we've made a temporary Extra folder to use then @@ -166,21 +223,34 @@ # Does an /Extra folder already exist? if [ -e "$dest_vol"/Extra ]; then - "$scriptDir"InstallLog.sh "${dest_vol}" "Found existing $dest_vol/Extra folder. Renaming it $dest_vol/Extra-OLD-$( date "+%H-%M-%S" )" + "$scriptDir"InstallLog.sh "${dest_vol}" "Moving $dest_vol/Extra folder to $dest_vol/Extra-OLD-$( date "+%H-%M-%S" )" mv "$dest_vol/Extra" "$dest_vol/Extra_OLD-"$( date "+%H-%M-%S" ) fi - "$scriptDir"InstallLog.sh "${dest_vol}" "Writing folder: $dest_vol/Extra" + "$scriptDir"InstallLog.sh "${dest_vol}" "Writing new Extra folder to: $dest_vol/" + echo "Copying $chamTemp/Extra TO $dest_vol" cp -R "$chamTemp"/Extra "$dest_vol" else # The EFI system partition install option was chosen # Does a /Volumes/Extra folder already exist? if [ -e "/Volumes/EFI/Extra" ]; then - "$scriptDir"InstallLog.sh "${dest_vol}" "Found existing /Volumes/EFI/Extra folder. Renaming it Extra-OLD-$( date "+%H-%M-%S" )" + "$scriptDir"InstallLog.sh "${dest_vol}" "Moving /Volumes/EFI/Extra folder to /Volumes/EFI/Extra-OLD-$( date "+%H-%M-%S" )" mv "/Volumes/EFI/Extra" "/Volumes/EFI/Extra_OLD-"$( date "+%H-%M-%S" ) fi - "$scriptDir"InstallLog.sh "${dest_vol}" "Writing folder: /Volumes/EFI/Extra" + "$scriptDir"InstallLog.sh "${dest_vol}" "Writing new Extra folder to: /Volumes/EFI/" cp -R "$chamTemp"/Extra "/Volumes/EFI" fi + else + if [ ! -f "$dest_vol"/.ChameleonEFI ]; then + if [ -e "$dest_vol"/Extra ]; then + "$scriptDir"InstallLog.sh "${dest_vol}" "No elements selected for adding to an Extra folder, +so leaving existing $dest_vol/Extra folder untouched." + fi + else + if [ -e "/Volumes/EFI/Extra" ]; then + "$scriptDir"InstallLog.sh "${dest_vol}" "No elements selected for adding to an Extra folder, +so leaving existing /Volumes/EFI/Extra folder untouched." + fi + fi fi # Unmount ALL mounted volumes named EFI @@ -232,4 +302,4 @@ echo "END - Post Post-Install Script" echo "*********************************" echo "-----------------------------------------------" -echo "" \ No newline at end of file +echo "" Index: branches/ErmaC/Trunk/package/Scripts/Main/Standardpostinstall =================================================================== --- branches/ErmaC/Trunk/package/Scripts/Main/Standardpostinstall (revision 1662) +++ branches/ErmaC/Trunk/package/Scripts/Main/Standardpostinstall (revision 1663) @@ -37,7 +37,16 @@ stage1LoaderFAT="boot1f32" stage2Loader="boot" -targetVolume=$3 +# If target volume root of current system then replace +# / with volume name. +if [ "$3" == "/" ] +then + targetVolume="/Volumes/"$( ls -1F /Volumes | sed -n 's:@$::p' ) +else + targetVolume="$3" +fi + + targetDevice=$( df "${targetVolume}" | sed -n '2p' | awk '{print $1}' ) targetDeviceRaw=${targetDevice/disk/rdisk} targetDisk=${targetDevice%s*} @@ -192,6 +201,7 @@ "$scriptDir"InstallLog.sh "${targetVolume}" "LineBreak" "$scriptDir"InstallLog.sh "${targetVolume}" "Standard script complete" +"$scriptDir"InstallLog.sh "${targetVolume}" "LineBreak" echo "===============================================" echo "END - Standard Post-Install Script" Index: branches/ErmaC/Trunk/package/Scripts/Main/preinstall =================================================================== --- branches/ErmaC/Trunk/package/Scripts/Main/preinstall (revision 1662) +++ branches/ErmaC/Trunk/package/Scripts/Main/preinstall (revision 1663) @@ -20,8 +20,16 @@ export MYLOCATION="${MYLOCATION%/*}" scriptDir=$MYLOCATION -targetVolume=$3 +# If target volume root of current system then replace +# / with volume name. +if [ "$3" == "/" ] +then + targetVolume="/Volumes/"$( ls -1F /Volumes | sed -n 's:@$::p' ) +else + targetVolume="$3" +fi + logName="Chameleon_Installer_Log.txt" logFile="${targetVolume}"/$logName Index: branches/ErmaC/Trunk/package/Scripts/Sub/InstallLog.sh =================================================================== --- branches/ErmaC/Trunk/package/Scripts/Sub/InstallLog.sh (revision 1662) +++ branches/ErmaC/Trunk/package/Scripts/Sub/InstallLog.sh (revision 1663) @@ -1,8 +1,8 @@ #!/bin/bash -echo "===============================================" -echo "InstallLog: Create/Append installation log" -echo "**********************************************" +#echo "===============================================" +#echo "InstallLog: Create/Append installation log" +#echo "**********************************************" # Writes to the Chameleon_Installer_Log.txt file created # by the preinstall script at the start of installation. @@ -14,10 +14,10 @@ if [ "$#" -eq 2 ]; then logLocation="$1" verboseText="$2" - echo "DEBUG: passed argument = ${logLocation}" - echo "DEBUG: passed argument = ${verboseText}" + #echo "DEBUG: passed argument = ${logLocation}" + #echo "DEBUG: passed argument = ${verboseText}" else - echo "Error - wrong number of values passed" + echo "InstallLog: Error - wrong number of values passed" exit 9 fi Index: branches/ErmaC/Trunk/package/Resources/zh_TW.lproj/Localizable.strings =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: branches/ErmaC/Trunk/package/Resources/he.lproj/Localizable.strings =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: branches/ErmaC/Trunk/package/Resources/id.lproj/Localizable.strings =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: branches/ErmaC/Trunk/package/Resources/el.lproj/Localizable.strings =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: branches/ErmaC/Trunk/package/Resources/zh_CN.lproj/Localizable.strings =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: branches/ErmaC/Trunk/package/Resources/ar.lproj/Localizable.strings =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: branches/ErmaC/Trunk/package/Resources/en.lproj/Localizable.strings =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: branches/ErmaC/Trunk/package/Resources/en.lproj/Welcome.rtfd/TXT.rtf =================================================================== --- branches/ErmaC/Trunk/package/Resources/en.lproj/Welcome.rtfd/TXT.rtf (revision 1662) +++ branches/ErmaC/Trunk/package/Resources/en.lproj/Welcome.rtfd/TXT.rtf (revision 1663) @@ -26,7 +26,7 @@ \b0\fs30 \cf0 \ \pard\ri0\ql\qnatural -\b\fs26 \cf0 Packages credits to : %PKGDEV% +\b\fs26 \cf0 Packages : %PKGDEV% \b0\fs30 \ \pard\tx360\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural \cf0 \ Index: branches/ErmaC/Trunk/package/Resources/pt-PT.lproj/Localizable.strings =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: branches/ErmaC/Trunk/package/Resources/es.lproj/Localizable.strings =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: branches/ErmaC/Trunk/package/Resources/fr.lproj/Localizable.strings =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: branches/ErmaC/Trunk/package/Resources/mk.lproj/Localizable.strings =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: branches/ErmaC/Trunk/package/Resources/hr.lproj/Localizable.strings =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: branches/ErmaC/Trunk/package/Resources/nl.lproj/Localizable.strings =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: branches/ErmaC/Trunk/package/Resources/pl.lproj/Localizable.strings =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: branches/ErmaC/Trunk/package/Resources/it.lproj/Localizable.strings =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: branches/ErmaC/Trunk/package/Resources/pt-BR.lproj/Localizable.strings =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: branches/ErmaC/Trunk/package/Resources/sr.lproj/Localizable.strings =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: branches/ErmaC/Trunk/package/Resources/Japanese.lproj/Description.html =================================================================== --- branches/ErmaC/Trunk/package/Resources/Japanese.lproj/Description.html (revision 1662) +++ branches/ErmaC/Trunk/package/Resources/Japanese.lproj/Description.html (revision 1663) @@ -1,29 +1,45 @@ - + + + -

Chameleon is combination of various boot loader components.
It is based on David Elliott's fake EFI implementation added to Apple's boot-132 project.
Chameleon is extended with the following key features:

-
-

New features in Chameleon 2.0

-
-

- Fully customizable GUI to bring some color to the Darwin Bootloader.

-

- Booting retail DVDs by directly loading a ramdisk image without help of additional programs.

-

- Hibernation. Enjoy resuming your Mac OS X with a preview image.

-

- SMBIOS override to modify the factory SMBIOS values.

-

- DSDT override to use a modified fixed DSDT which can solve several issues.

-
-

- Device Property Injection via device-properties string.

-

- hybrid boot0 / boot1h for MBR and GPT partitioned disks.

-

- automatic FSB detection code even for recent AMD CPUs.

-

- Apple Software RAID support.

-
-

For detailed information, visit : http://chameleon.osx86.hu

+

Chameleon is a boot loader built using a combination of components which evolved from the development of David Elliott's fake EFI implementation added to Apple's boot-132 project.

+


+

Chameleon v2 is extended with many features. For example:

+


+

- Fully customizable GUI to bring some color to the Darwin Bootloader.

+

- Load a ramdisk to directly boot retail DVDs without additional programs.

+

- Hibernation. Enjoy resuming your Mac OS X with a preview image.

+

- SMBIOS override to modify the factory SMBIOS values.

+

- DSDT override to use a modified fixed DSDT which can solve several issues.

+

- Device Property Injection via device-properties string.

+

- hybrid boot0 / boot1h for MBR and GPT partitioned disks.

+

- Automatic FSB detection code even for recent AMD CPUs.

+

- Apple Software RAID support.

+

- Module support

+

- Memory detection adapted from memtest86: http://www.memtest.org

+


+


+

The code is released under version 2 of the Gnu Public License.

+

http://forge.voodooprojects.org/p/chameleon

+


+

FAQ's: http://forum.voodooprojects.org/index.php/topic,754.0.html

Index: branches/ErmaC/Trunk/package/Resources/Japanese.lproj/Localizable.strings =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: branches/ErmaC/Trunk/package/Resources/ru.lproj/Localizable.strings =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: branches/ErmaC/Trunk/package/Resources/de.lproj/Localizable.strings =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: branches/ErmaC/Trunk/package/Resources/bg.lproj/Localizable.strings =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: branches/ErmaC/Trunk/package/buildpkg.sh =================================================================== --- branches/ErmaC/Trunk/package/buildpkg.sh (revision 1662) +++ branches/ErmaC/Trunk/package/buildpkg.sh (revision 1663) @@ -88,6 +88,31 @@ buildpackage "${1}/Core" "/" "0" "start_visible=\"false\" start_selected=\"true\"" >/dev/null 2>&1 # End build core package +# build install type + echo "================= Chameleon =================" + outline[$((outlinecount++))]="${indent[$xmlindent]}" + choices[$((choicescount++))]="\t\n\t\n" + ((xmlindent++)) + packagesidentity="org.chameleon.type" + + # build new install package + mkdir -p ${1}/New/Root + echo "" > "${1}/New/Root/install_type_new" + echo " [BUILD] New " + buildpackage "${1}/New" "/$chamTemp" "" "start_enabled=\"true\" selected=\"exclusive(choices['Upgrade'])\"" >/dev/null 2>&1 + # End build new install package + + # build upgrade package + mkdir -p ${1}/Upgrade/Root + echo "" > "${1}/Upgrade/Root/install_type_upgrade" + echo " [BUILD] Upgrade " + buildpackage "${1}/Upgrade" "/$chamTemp" "" "start_selected=\"false\" selected=\"exclusive(choices['New'])\"" >/dev/null 2>&1 + # End build upgrade package + + ((xmlindent--)) + outline[$((outlinecount++))]="${indent[$xmlindent]}" +# End build install type + # build Chameleon package echo "================= Chameleon =================" outline[$((outlinecount++))]="${indent[$xmlindent]}" Index: branches/ErmaC/Modules/package/Scripts/Main/ESPpostinstall =================================================================== --- branches/ErmaC/Modules/package/Scripts/Main/ESPpostinstall (revision 1662) +++ branches/ErmaC/Modules/package/Scripts/Main/ESPpostinstall (revision 1663) @@ -36,7 +36,15 @@ stage1LoaderFAT="boot1f32" stage2Loader="boot" -targetVolumeChosenByUser=$3 +# If target volume root of current system then replace +# / with volume name. +if [ "$3" == "/" ] +then + targetVolumeChosenByUser="/Volumes/"$( ls -1F /Volumes | sed -n 's:@$::p' ) +else + targetVolumeChosenByUser="$3" +fi + targetDeviceChosenByUser=$( df "${targetVolumeChosenByUser}" | sed -n '2p' | awk '{print $1}' ) targetVolume="/Volumes/EFI" Index: branches/ErmaC/Modules/package/Scripts/Main/postinstall =================================================================== --- branches/ErmaC/Modules/package/Scripts/Main/postinstall (revision 1662) +++ branches/ErmaC/Modules/package/Scripts/Main/postinstall (revision 1663) @@ -3,8 +3,6 @@ echo "===============================================" echo "Post Post-Install Script" echo "*********************************" -echo "-----------------------------------------------" -echo "" #echo "DEBUG: $ 1 = Full path to the installation package the installer app is processing: " $1 #echo "DEBUG: $ 2 = Full path to the installation destination: " $2 @@ -18,10 +16,11 @@ exit 1 fi -# clean up what would otherwise turn into "//" paths +# If target volume root of current system then replace +# / with volume name. if [ "$3" == "/" ] then - dest_vol="" + dest_vol="/Volumes/"$( ls -1F /Volumes | sed -n 's:@$::p' ) else dest_vol="$3" fi @@ -31,23 +30,16 @@ export MYLOCATION="${MYLOCATION%/*}" scriptDir=$MYLOCATION -# Has install log already been generated? -if [ ! -f "${dest_vol}"/.ChameleonLogFlag ]; then - # Write some information to the Install Log - versionNumber=`cat "${scriptDir}"/Resources/version` - revisionNumber=`cat "${scriptDir}"/Resources/revision` - "$scriptDir"InstallLog.sh "${dest_vol}" "Installer version: ${versionNumber} ${revisionNumber}" - "$scriptDir"InstallLog.sh "${dest_vol}" "Running Post postinstall script" - "$scriptDir"InstallLog.sh "${dest_vol}" "Target volume = ${dest_vol}" -else - "$scriptDir"InstallLog.sh "${dest_vol}" "Running Post postinstall script" -fi +# Write some information to the Install Log +"$scriptDir"InstallLog.sh "${dest_vol}" "Running Post postinstall script" +"$scriptDir"InstallLog.sh "${dest_vol}" "Target volume = ${dest_vol}" # set temporary directory chamTemp="$dest_vol/usr/local/chamTemp" # Check for stopped installation due to Chameleon # already existing on the same disk. +# TO DO - This check can be removed as it's no longer used!! if [ ! -f "$dest_vol"/.ChameleonExists ]; then # --------------------------------------------- @@ -56,7 +48,7 @@ if [ -e "${chamTemp}"/Extra/modules ]; then ls "${chamTemp}"/Extra/modules | while read FILE do - "$scriptDir"InstallLog.sh "${dest_vol}" "Installed module:$FILE" + "$scriptDir"InstallLog.sh "${dest_vol}" "Added module: $FILE" done fi @@ -66,7 +58,7 @@ if [ -e "${chamTemp}"/Extra/Themes ]; then ls "${chamTemp}"/Extra/Themes | while read FILE do - "$scriptDir"InstallLog.sh "${dest_vol}" "Installed Theme:$FILE" + "$scriptDir"InstallLog.sh "${dest_vol}" "Added Theme: $FILE" done fi @@ -86,10 +78,12 @@ mkdir "$chamTemp"/Extra fi - # Create template for org.chameleon.Boot.plist" + tempOCBP="$chamTemp"/Extra/org.chameleon.Boot.plist + + # Create template for org.chameleon.Boot.plist" tempOCBP="$chamTemp"/Extra/org.chameleon.Boot.plist cp "$4"/Library/Preferences/SystemConfiguration/com.apple.Boot.plist "$tempOCBP" - + # Read list of all boot options the user added. arrayCount=0 kernelFlagCount=0 @@ -137,21 +131,84 @@ fi if [ $kernelFlagCount -gt 0 ]; then - # Add kernel flags + # Add any kernel flags together in to one string. for (( i=0 ; i < $kernelFlagCount ; i++ )) do - # Add any kernel flags together in to one string. kernelFlagString="${kernelFlagString} ${kernelflag[i]}" done - sudo /usr/libexec/plistbuddy -c "Add :Kernel\ Flags string $kernelFlagString" "$tempOCBP" - if [ ${returnValue}=1 ]; then # key already exists. - sudo /usr/libexec/plistbuddy -c "Delete :Kernel\ Flags" "$tempOCBP" - sudo /usr/libexec/plistbuddy -c "Add :Kernel\ Flags string $kernelFlagString" "$tempOCBP" - fi + # We add the final string in the next section. fi fi - + # --------------------------------------------- + # Merge /Extra folders? + # --------------------------------------------- + # Does the user want to upgrade an existing /Extra folder? + # If so, then merge their existing one in to the temp one + if [ -e "$chamTemp/install_type_upgrade" ]; then + "$scriptDir"InstallLog.sh "${dest_vol}" "User selected to do an upgrade install." + + # first move the new org.chameleon.Boot.plist out of tmp + # Extra folder so we can merge that separately. + mv "$tempOCBP" "$chamTemp/holding.plist" + + # Check for an existing /Extra folder + # and merge existing /Extra with temp one. + if [ -e "$dest_vol"/.ChameleonEFI ]; then + if [ -e "/Volumes/EFI/Extra" ]; then + "$scriptDir"InstallLog.sh "${dest_vol}" "Merging existing /Volumes/EFI/Extra folder." + ditto --noextattr --noqtn /Volumes/EFI/Extra "$chamTemp"/Extra + fi + else + if [ -e "$dest_vol/Extra" ]; then + "$scriptDir"InstallLog.sh "${dest_vol}" "Merging existing ${dest_vol}/Extra folder." + ditto --noextattr --noqtn "${dest_vol}"/Extra "$chamTemp"/Extra + fi + fi + + # Check existing plist name for old naming convention + # and change to new convention. + if [ -e "$chamTemp"/Extra/com.apple.Boot.plist ]; then + "$scriptDir"InstallLog.sh "${dest_vol}" "Renaming existing com.apple.Boot.plist to org.chameleon.Boot.plist." + mv "$chamTemp"/Extra/com.apple.Boot.plist "$tempOCBP" + fi + + # Before merging org.chameleon.Boot.plist, copy any + # existing kernel flags, then delete the entry. + currentFlags=$( sudo /usr/libexec/plistbuddy -c "Print :Kernel\ Flags" "$tempOCBP" ) + sudo /usr/libexec/plistbuddy -c "Delete :Kernel\ Flags" "$tempOCBP" + + # Merge new org.chameleon.Boot.plist (holding.plist) + # with their currently existing one. + "$scriptDir"InstallLog.sh "${dest_vol}" "Merging new options into org.chameleon.Boot.plist. +NOTE: Please check the new merged org.chameleon.Boot.plist as +NOTE: any existing keys will NOT have been updated. +NOTE: For example: If you already had Wait=No as a boot option +NOTE: and chose Wait=Yes from the list, this will NOT be changed." + sudo /usr/libexec/plistbuddy -c "Merge $chamTemp/holding.plist" "$tempOCBP" + + # Combine new kernel flags with old ones. + kernelFlagString="${kernelFlagString} $currentFlags" + # Write complete kernel flag entry back. + sudo /usr/libexec/plistbuddy -c "Add :Kernel\ Flags string $kernelFlagString" "$tempOCBP" + if [ ${returnValue}=1 ]; then # key already exists. + sudo /usr/libexec/plistbuddy -c "Delete :Kernel\ Flags" "$tempOCBP" + sudo /usr/libexec/plistbuddy -c "Add :Kernel\ Flags string $kernelFlagString" "$tempOCBP" + fi + + elif [ -e "$chamTemp/install_type_new" ]; then + "$scriptDir"InstallLog.sh "${dest_vol}" "User selected to make a new install." + # Add kernel flags (if any) + if [ $kernelFlagCount -gt 0 ]; then + sudo /usr/libexec/plistbuddy -c "Add :Kernel\ Flags string $kernelFlagString" "$tempOCBP" + if [ ${returnValue}=1 ]; then # key already exists. + sudo /usr/libexec/plistbuddy -c "Delete :Kernel\ Flags" "$tempOCBP" + sudo /usr/libexec/plistbuddy -c "Add :Kernel\ Flags string $kernelFlagString" "$tempOCBP" + fi + fi + fi + + # --------------------------------------------- # Copy temp Extra folder to target destination # --------------------------------------------- # If we've made a temporary Extra folder to use then @@ -166,21 +223,34 @@ # Does an /Extra folder already exist? if [ -e "$dest_vol"/Extra ]; then - "$scriptDir"InstallLog.sh "${dest_vol}" "Found existing $dest_vol/Extra folder. Renaming it $dest_vol/Extra-OLD-$( date "+%H-%M-%S" )" + "$scriptDir"InstallLog.sh "${dest_vol}" "Moving $dest_vol/Extra folder to $dest_vol/Extra-OLD-$( date "+%H-%M-%S" )" mv "$dest_vol/Extra" "$dest_vol/Extra_OLD-"$( date "+%H-%M-%S" ) fi - "$scriptDir"InstallLog.sh "${dest_vol}" "Writing folder: $dest_vol/Extra" + "$scriptDir"InstallLog.sh "${dest_vol}" "Writing new Extra folder to: $dest_vol/" + echo "Copying $chamTemp/Extra TO $dest_vol" cp -R "$chamTemp"/Extra "$dest_vol" else # The EFI system partition install option was chosen # Does a /Volumes/Extra folder already exist? if [ -e "/Volumes/EFI/Extra" ]; then - "$scriptDir"InstallLog.sh "${dest_vol}" "Found existing /Volumes/EFI/Extra folder. Renaming it Extra-OLD-$( date "+%H-%M-%S" )" + "$scriptDir"InstallLog.sh "${dest_vol}" "Moving /Volumes/EFI/Extra folder to /Volumes/EFI/Extra-OLD-$( date "+%H-%M-%S" )" mv "/Volumes/EFI/Extra" "/Volumes/EFI/Extra_OLD-"$( date "+%H-%M-%S" ) fi - "$scriptDir"InstallLog.sh "${dest_vol}" "Writing folder: /Volumes/EFI/Extra" + "$scriptDir"InstallLog.sh "${dest_vol}" "Writing new Extra folder to: /Volumes/EFI/" cp -R "$chamTemp"/Extra "/Volumes/EFI" fi + else + if [ ! -f "$dest_vol"/.ChameleonEFI ]; then + if [ -e "$dest_vol"/Extra ]; then + "$scriptDir"InstallLog.sh "${dest_vol}" "No elements selected for adding to an Extra folder, +so leaving existing $dest_vol/Extra folder untouched." + fi + else + if [ -e "/Volumes/EFI/Extra" ]; then + "$scriptDir"InstallLog.sh "${dest_vol}" "No elements selected for adding to an Extra folder, +so leaving existing /Volumes/EFI/Extra folder untouched." + fi + fi fi # Unmount ALL mounted volumes named EFI @@ -232,4 +302,4 @@ echo "END - Post Post-Install Script" echo "*********************************" echo "-----------------------------------------------" -echo "" \ No newline at end of file +echo "" Index: branches/ErmaC/Modules/package/Scripts/Main/Standardpostinstall =================================================================== --- branches/ErmaC/Modules/package/Scripts/Main/Standardpostinstall (revision 1662) +++ branches/ErmaC/Modules/package/Scripts/Main/Standardpostinstall (revision 1663) @@ -37,7 +37,16 @@ stage1LoaderFAT="boot1f32" stage2Loader="boot" -targetVolume=$3 +# If target volume root of current system then replace +# / with volume name. +if [ "$3" == "/" ] +then + targetVolume="/Volumes/"$( ls -1F /Volumes | sed -n 's:@$::p' ) +else + targetVolume="$3" +fi + + targetDevice=$( df "${targetVolume}" | sed -n '2p' | awk '{print $1}' ) targetDeviceRaw=${targetDevice/disk/rdisk} targetDisk=${targetDevice%s*} @@ -192,6 +201,7 @@ "$scriptDir"InstallLog.sh "${targetVolume}" "LineBreak" "$scriptDir"InstallLog.sh "${targetVolume}" "Standard script complete" +"$scriptDir"InstallLog.sh "${targetVolume}" "LineBreak" echo "===============================================" echo "END - Standard Post-Install Script" Index: branches/ErmaC/Modules/package/Scripts/Main/preinstall =================================================================== --- branches/ErmaC/Modules/package/Scripts/Main/preinstall (revision 1662) +++ branches/ErmaC/Modules/package/Scripts/Main/preinstall (revision 1663) @@ -20,8 +20,16 @@ export MYLOCATION="${MYLOCATION%/*}" scriptDir=$MYLOCATION -targetVolume=$3 +# If target volume root of current system then replace +# / with volume name. +if [ "$3" == "/" ] +then + targetVolume="/Volumes/"$( ls -1F /Volumes | sed -n 's:@$::p' ) +else + targetVolume="$3" +fi + logName="Chameleon_Installer_Log.txt" logFile="${targetVolume}"/$logName Index: branches/ErmaC/Modules/package/Scripts/Sub/InstallLog.sh =================================================================== --- branches/ErmaC/Modules/package/Scripts/Sub/InstallLog.sh (revision 1662) +++ branches/ErmaC/Modules/package/Scripts/Sub/InstallLog.sh (revision 1663) @@ -1,8 +1,8 @@ #!/bin/bash -echo "===============================================" -echo "InstallLog: Create/Append installation log" -echo "**********************************************" +#echo "===============================================" +#echo "InstallLog: Create/Append installation log" +#echo "**********************************************" # Writes to the Chameleon_Installer_Log.txt file created # by the preinstall script at the start of installation. @@ -14,10 +14,10 @@ if [ "$#" -eq 2 ]; then logLocation="$1" verboseText="$2" - echo "DEBUG: passed argument = ${logLocation}" - echo "DEBUG: passed argument = ${verboseText}" + #echo "DEBUG: passed argument = ${logLocation}" + #echo "DEBUG: passed argument = ${verboseText}" else - echo "Error - wrong number of values passed" + echo "InstallLog: Error - wrong number of values passed" exit 9 fi Index: branches/ErmaC/Modules/package/Resources/zh_TW.lproj/Localizable.strings =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: branches/ErmaC/Modules/package/Resources/he.lproj/Localizable.strings =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: branches/ErmaC/Modules/package/Resources/id.lproj/Localizable.strings =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: branches/ErmaC/Modules/package/Resources/el.lproj/Localizable.strings =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: branches/ErmaC/Modules/package/Resources/zh_CN.lproj/Localizable.strings =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: branches/ErmaC/Modules/package/Resources/ar.lproj/Localizable.strings =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: branches/ErmaC/Modules/package/Resources/en.lproj/Localizable.strings =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: branches/ErmaC/Modules/package/Resources/pt-PT.lproj/Localizable.strings =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: branches/ErmaC/Modules/package/Resources/es.lproj/Localizable.strings =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: branches/ErmaC/Modules/package/Resources/fr.lproj/Localizable.strings =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: branches/ErmaC/Modules/package/Resources/mk.lproj/Localizable.strings =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: branches/ErmaC/Modules/package/Resources/hr.lproj/Localizable.strings =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: branches/ErmaC/Modules/package/Resources/nl.lproj/Localizable.strings =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: branches/ErmaC/Modules/package/Resources/pl.lproj/Localizable.strings =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: branches/ErmaC/Modules/package/Resources/it.lproj/Localizable.strings =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: branches/ErmaC/Modules/package/Resources/pt-BR.lproj/Localizable.strings =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: branches/ErmaC/Modules/package/Resources/sr.lproj/Localizable.strings =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: branches/ErmaC/Modules/package/Resources/Japanese.lproj/Description.html =================================================================== --- branches/ErmaC/Modules/package/Resources/Japanese.lproj/Description.html (revision 1662) +++ branches/ErmaC/Modules/package/Resources/Japanese.lproj/Description.html (revision 1663) @@ -1,29 +1,45 @@ - + + + -

Chameleon is combination of various boot loader components.
It is based on David Elliott's fake EFI implementation added to Apple's boot-132 project.
Chameleon is extended with the following key features:

-
-

New features in Chameleon 2.0

-
-

- Fully customizable GUI to bring some color to the Darwin Bootloader.

-

- Booting retail DVDs by directly loading a ramdisk image without help of additional programs.

-

- Hibernation. Enjoy resuming your Mac OS X with a preview image.

-

- SMBIOS override to modify the factory SMBIOS values.

-

- DSDT override to use a modified fixed DSDT which can solve several issues.

-
-

- Device Property Injection via device-properties string.

-

- hybrid boot0 / boot1h for MBR and GPT partitioned disks.

-

- automatic FSB detection code even for recent AMD CPUs.

-

- Apple Software RAID support.

-
-

For detailed information, visit : http://chameleon.osx86.hu

+

Chameleon is a boot loader built using a combination of components which evolved from the development of David Elliott's fake EFI implementation added to Apple's boot-132 project.

+


+

Chameleon v2 is extended with many features. For example:

+


+

- Fully customizable GUI to bring some color to the Darwin Bootloader.

+

- Load a ramdisk to directly boot retail DVDs without additional programs.

+

- Hibernation. Enjoy resuming your Mac OS X with a preview image.

+

- SMBIOS override to modify the factory SMBIOS values.

+

- DSDT override to use a modified fixed DSDT which can solve several issues.

+

- Device Property Injection via device-properties string.

+

- hybrid boot0 / boot1h for MBR and GPT partitioned disks.

+

- Automatic FSB detection code even for recent AMD CPUs.

+

- Apple Software RAID support.

+

- Module support

+

- Memory detection adapted from memtest86: http://www.memtest.org

+


+


+

The code is released under version 2 of the Gnu Public License.

+

http://forge.voodooprojects.org/p/chameleon

+


+

FAQ's: http://forum.voodooprojects.org/index.php/topic,754.0.html

Index: branches/ErmaC/Modules/package/Resources/Japanese.lproj/Localizable.strings =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: branches/ErmaC/Modules/package/Resources/ru.lproj/Localizable.strings =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: branches/ErmaC/Modules/package/Resources/de.lproj/Localizable.strings =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: branches/ErmaC/Modules/package/Resources/bg.lproj/Localizable.strings =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: branches/ErmaC/Modules/package/buildpkg.sh =================================================================== --- branches/ErmaC/Modules/package/buildpkg.sh (revision 1662) +++ branches/ErmaC/Modules/package/buildpkg.sh (revision 1663) @@ -88,6 +88,31 @@ buildpackage "${1}/Core" "/" "0" "start_visible=\"false\" start_selected=\"true\"" >/dev/null 2>&1 # End build core package +# build install type + echo "================= Chameleon =================" + outline[$((outlinecount++))]="${indent[$xmlindent]}" + choices[$((choicescount++))]="\t\n\t\n" + ((xmlindent++)) + packagesidentity="org.chameleon.type" + + # build new install package + mkdir -p ${1}/New/Root + echo "" > "${1}/New/Root/install_type_new" + echo " [BUILD] New " + buildpackage "${1}/New" "/$chamTemp" "" "start_enabled=\"true\" selected=\"exclusive(choices['Upgrade'])\"" >/dev/null 2>&1 + # End build new install package + + # build upgrade package + mkdir -p ${1}/Upgrade/Root + echo "" > "${1}/Upgrade/Root/install_type_upgrade" + echo " [BUILD] Upgrade " + buildpackage "${1}/Upgrade" "/$chamTemp" "" "start_selected=\"false\" selected=\"exclusive(choices['New'])\"" >/dev/null 2>&1 + # End build upgrade package + + ((xmlindent--)) + outline[$((outlinecount++))]="${indent[$xmlindent]}" +# End build install type + # build Chameleon package echo "================= Chameleon =================" outline[$((outlinecount++))]="${indent[$xmlindent]}"