Index: branches/blackosx/package/BootOptions/Resolution.txt =================================================================== --- branches/blackosx/package/BootOptions/Resolution.txt (revision 0) +++ branches/blackosx/package/BootOptions/Resolution.txt (revision 1578) @@ -0,0 +1,11 @@ +1024x600x32:Graphics Mode=1024x600x32 +1024x768x32:Graphics Mode=1024x768x32 +1280x768x32:Graphics Mode=1280x768x32 +1280x800x32:Graphics Mode=1280x800x32 +1280x960x32:Graphics Mode=1280x960x32 +1280x1024x32:Graphics Mode=1280x1024x32 +1440x900x32:Graphics Mode=1440x900x32 +1600x900x32:Graphics Mode=1600x900x32 +1680x1050x32:Graphics Mode=1680x1050x32 +1920x1080x32:Graphics Mode=1920x1080x32 +1920x1200x32:Graphics Mode=1920x1200x32 Index: branches/blackosx/package/BootOptions/Video.txt =================================================================== --- branches/blackosx/package/BootOptions/Video.txt (revision 0) +++ branches/blackosx/package/BootOptions/Video.txt (revision 1578) @@ -0,0 +1,4 @@ +GraphicsEnabler:GraphicsEnabler=Yes +UseAtiROM:UseAtiROM=Yes +UseNvidiaROM:UseNvidiaROM=Yes +VBIOS:VBIOS=Yes Index: branches/blackosx/package/BootOptions/PowerManagement.txt =================================================================== --- branches/blackosx/package/BootOptions/PowerManagement.txt (revision 0) +++ branches/blackosx/package/BootOptions/PowerManagement.txt (revision 1578) @@ -0,0 +1,7 @@ +CSTUsingSystemIO:CSTUsingSystemIO=Yes +DropSSDT:DropSSDT=Yes +EnableC2State:EnableC2State=Yes +EnableC3State:EnableC3State=Yes +EnableC4State:EnableC4State=Yes +GenerateCStates:GenerateCStates=Yes +GeneratePStates:GeneratePStates=Yes Index: branches/blackosx/package/BootOptions/General.txt =================================================================== --- branches/blackosx/package/BootOptions/General.txt (revision 0) +++ branches/blackosx/package/BootOptions/General.txt (revision 1578) @@ -0,0 +1,10 @@ +arch:arch=i386 +EHCIacquire:EHCIacquire=Yes +EthernetBuiltIn:EthernetBuiltIn=Yes +ForceHPET:ForceHPET=Yes +ForceWake:ForceWake=Yes +RestartFix:RestartFix=No +UHCIreset:UHCIreset=Yes +UseMemDetect:UseMemDetect=No +UseKernelCache:UseKernelCache=Yes +Wake:Wake=Yes Index: branches/blackosx/package/BootOptions/KernelFlags.txt =================================================================== --- branches/blackosx/package/BootOptions/KernelFlags.txt (revision 0) +++ branches/blackosx/package/BootOptions/KernelFlags.txt (revision 1578) @@ -0,0 +1 @@ +Npci:KF npci=0x2000 Index: branches/blackosx/package/BootOptions/Control.txt =================================================================== --- branches/blackosx/package/BootOptions/Control.txt (revision 0) +++ branches/blackosx/package/BootOptions/Control.txt (revision 1578) @@ -0,0 +1,7 @@ +BootBanner:Boot Banner=No +GUI:GUI=No +LegacyLogo:Legacy Logo=Yes +InstantMenu:Instant Menu=Yes +QuietBoot:QuietBoot=Yes +ShowInfo:ShowInfo=No +Wait:Wait=Yes Index: branches/blackosx/package/Resources/en.lproj/Localizable.strings =================================================================== --- branches/blackosx/package/Resources/en.lproj/Localizable.strings (revision 1577) +++ branches/blackosx/package/Resources/en.lproj/Localizable.strings (revision 1578) @@ -1,5 +1,5 @@ ÿþ// General -"Chameleon_title" = "Chameleon Bootloader"; +"Chameleon_title" = "Bootloader & Modules"; "Chameleon_description" = "Chameleon requires three essential files. (in simple terms) boot0 (On the drive's MBR) responsible for loading boot1. boot1 (On the partition's boot-sector) to finding boot2. @@ -56,6 +56,7 @@ "Keylayout_title" = "Keylayout"; "Keylayout_description" = "This module permits the user to define the keyboard key mappings."; + // Utility "Utility_title" = "Utilities"; "Utility_description" = "Optional files to help setup"; @@ -69,85 +70,50 @@ "Documentation_title" = "Documentation"; "Documentation_description" = "Documentation for Chameleon manual install and use"; -// Options +// Boot Options "Options_title" = "Boot Options"; "Options_description" = "Create an /Extra/org.chameleon.Boot.plist and select your desired options to control Chameleon's settings."; -"arch_title" = "arch=i386"; -"arch_description" = "Boots the kernel in 32bit mode rather than the default 64bit mode."; -"InstantMenu_title" = "InstantMenu=Yes"; -"InstantMenu_description" = "Display the partition selection screen without showing the timeout screen."; +// Control +"Control_title" = "Control Options"; +"Control_description" = "Settings to control the way Chameleon works."; -"QuietBoot_title" = "QuietBoot=Yes"; -"QuietBoot_description" = "Enable quiet boot mode (no messages or prompt)."; - -"RestartFix_title" = "RestartFix=No"; -"RestartFix_description" = "Disables the automatically enabled restart fix."; - -"ShowInfo_title" = "ShowInfo=No"; -"ShowInfo_description" = "Disables display of partition and resolution details."; - -"DropSSDT_title" = "DropSSDT=Yes"; -"DropSSDT_description" = "Discard the motherboard's built-in SSDT tables."; - -"EthernetBuiltIn_title" = "EthernetBuiltIn=Yes"; -"EthernetBuiltIn_description" = "Enables the option of adding 'built-in' to your ethernet devices."; - -"GraphicsEnabler_title" = "GraphicsEnabler=Yes"; -"GraphicsEnabler_description" = "Enables the option to autodetect NVIDIA based GPUs and inject the correct info."; - -"EnableC2State_title" = "EnableC2State=Yes"; -"EnableC2State_description" = "Enable specific Processor power state, C2."; - -"EnableC3State_title" = "EnableC3State=Yes"; -"EnableC3State_description" = "Enable specific Processor power state, C3."; - -"EnableC4State_title" = "EnableC4State=Yes"; -"EnableC4State_description" = "Enable specific Processor power state, C4."; - -// Advanced -"Advanced_title" = "Advanced"; -"Advanced_description" = "Select your advanced desired options to control Chameleon's settings."; - -"Npci_title" = "npci=0x2000"; -"Npci_description" = "Set the flag npci=0x2000 for the Kernel Flags"; - "BootBanner_title" = "BootBanner=No"; "BootBanner_description" = "Hides Chameleon's boot banner in GUI."; +"GUI_title" = "GUI=No"; +"GUI_description" = "Disables the default enabled graphic user interface."; + "LegacyLogo_title" = "LegacyLogo=Yes"; "LegacyLogo_description" = "Use the legacy (grey on white) apple logo on the boot screen rather than the boot.png in the theme."; -"SMBIOSdefaults_title" = "SMBIOSdefaults=Yes"; -"SMBIOSdefaults_description" = "Enables SMBIOSdefaults options."; +"InstantMenu_title" = "InstantMenu=Yes"; +"InstantMenu_description" = "Display the partition selection screen without showing the timeout screen."; -"UseAtiROM_title" = "UseAtiROM=Yes"; -"UseAtiROM_description" = "Enables UseAtiROM options."; +"QuietBoot_title" = "QuietBoot=Yes"; +"QuietBoot_description" = "Enable quiet boot mode (no messages or prompt)."; -"UseNvidiaROM_title" = "UseNvidiaROM=Yes"; -"UseNvidiaROM_description" = "Enables UseNvidiaROM options."; +"ShowInfo_title" = "ShowInfo=No"; +"ShowInfo_description" = "Disables display of partition and resolution details."; "Wait_title" = "Wait=Yes"; "Wait_description" = "Pauses the boot process after Chameleon has finished it's setup then waits for a key press before it starts the mach kernel. Useful when combined with verbose boot for troubleshooting."; -"Wake_title" = "Wake=Yes"; -"Wake_description" = "Attempts to load the sleep image saved from last hibernation."; -"GUI_title" = "GUI=No"; -"GUI_description" = "Disables the default enabled graphic user interface."; -"VBIOS_title" = "VBIOS=Yes"; -"VBIOS_description" = "Enables VBIOS option"; +// General +"General_title" = "General Options"; +"General_description" = "Choose from a selection of base options."; -"GenerateCStates_title" = "Generate C-States=Yes"; -"GenerateCStates_description" = "Enable auto generation of processor idle sleep states (C-States)."; +"arch_title" = "arch=i386"; +"arch_description" = "Boots the kernel in 32bit mode rather than the default 64bit mode."; -"GeneratePStates_title" = "Generate P-States=Yes"; -"GeneratePStates_description" = "Enable auto generation of processor power performance states (P-States)."; +"EHCIacquire_title" = "EHCIacquire=Yes"; +"EHCIacquire_description" = "Enables the option to fix any EHCI ownership issues due to bad bioses."; -"CSTUsingSystemIO_title" = "New - Generate C-States=Yes"; -"CSTUsingSystemIO_description" = "New C-State _CST generation method using SystemIO registers instead of FixedHW."; +"EthernetBuiltIn_title" = "EthernetBuiltIn=Yes"; +"EthernetBuiltIn_description" = "Enables the option of adding 'built-in' to your ethernet devices."; "ForceHPET_title" = "ForceHPET=Yes"; "ForceHPET_description" = "Enables HPET on intel chipsets, for bioses that dont include the option."; @@ -155,8 +121,8 @@ "ForceWake_title" = "ForceWake=Yes"; "ForceWake_description" = "This option enables you to bypass bad sleep images."; -"EHCIacquire_title" = "EHCIacquire=Yes"; -"EHCIacquire_description" = "Enables the option to fix any EHCI ownership issues due to bad bioses."; +"RestartFix_title" = "RestartFix=No"; +"RestartFix_description" = "Disables the automatically enabled restart fix."; "UHCIreset_title" = "UHCIreset=Yes"; "UHCIreset_description" = "Enables the option to reset UHCI controllers before starting OS X."; @@ -167,28 +133,44 @@ "UseKernelCache_title" = "UseKernelCache=Yes"; "UseKernelCache_description" = "For Lion only. Enables loading of the pre-linked kernel. This will ignore /E/E and /S/L/E. ONLY use this is you have know it contains everything you need."; -// KeyLayout -"KeyLayout_title" = "KeyLayout"; -"KeyLayout_description" = "Set keylayout to use"; +"Wake_title" = "Wake=Yes"; +"Wake_description" = "Attempts to load the sleep image saved from last hibernation."; -"mac-de_title" = "German Mac Keyboard"; -"mac-de_description" = "Use the keyboard layout for a German Mac keyboard"; -"mac-es_title" = "Spanish Mac Keyboard"; -"mac-es_description" = "Use the keyboard layout for a Spanish Mac keyboard"; +// KernelFlags +"KernelFlags_title" = "Kernel Flags"; +"KernelFlags_description" = "Choose from a selection of kernel flags."; -"mac-fr_title" = "French Mac Keyboard"; -"mac-fr_description" = "Use the keyboard layout for a French Mac keyboard"; +"Npci_title" = "npci=0x2000"; +"Npci_description" = "Set the flag npci=0x2000 for the Kernel Flags"; -"mac-it_title" = "Italian Mac Keyboard"; -"mac-it_description" = "Use the keyboard layout for an Italian Mac keyboard"; -"mac-se_title" = "Swedish Mac Keyboard"; -"mac-se_description" = "Use the keyboard layout for a Swedish Mac keyboard"; +// PowerManagement +"PowerManagement_title" = "Power Management"; +"PowerManagement_description" = "A selection of options that deal with power management and speedstep."; -"pc-fr_title" = "French PC Keyboard"; -"pc-fr_description" = "Use the keyboard layout for a French PC keyboard"; +"CSTUsingSystemIO_title" = "Generate C-States=Yes"; +"CSTUsingSystemIO_description" = "New C-State _CST generation method using SystemIO registers instead of FixedHW."; +"DropSSDT_title" = "DropSSDT=Yes"; +"DropSSDT_description" = "Discard the motherboard's built-in SSDT tables."; + +"EnableC2State_title" = "EnableC2State=Yes"; +"EnableC2State_description" = "Enable specific Processor power state, C2."; + +"EnableC3State_title" = "EnableC3State=Yes"; +"EnableC3State_description" = "Enable specific Processor power state, C3."; + +"EnableC4State_title" = "EnableC4State=Yes"; +"EnableC4State_description" = "Enable specific Processor power state, C4."; + +"GenerateCStates_title" = "Generate C-States=Yes"; +"GenerateCStates_description" = "Enable auto generation of processor idle sleep states (C-States)."; + +"GeneratePStates_title" = "Generate P-States=Yes"; +"GeneratePStates_description" = "Enable auto generation of processor power performance states (P-States)."; + + // Resolution "Resolution_title" = "Resolution"; "Resolution_description" = "Set the screen resolution of your display"; @@ -226,6 +208,47 @@ "1920x1200x32_title" = "1920x1200x32"; "1920x1200x32_description" = "1920x1200x32"; + +// Video +"Video_title" = "Video"; +"Video_description" = "A selection of options that deal with video."; + +"GraphicsEnabler_title" = "GraphicsEnabler=Yes"; +"GraphicsEnabler_description" = "Enables the option to autodetect NVIDIA based GPUs and inject the correct info."; + +"UseAtiROM_title" = "UseAtiROM=Yes"; +"UseAtiROM_description" = "Enables UseAtiROM options."; + +"UseNvidiaROM_title" = "UseNvidiaROM=Yes"; +"UseNvidiaROM_description" = "Enables UseNvidiaROM options."; + +"VBIOS_title" = "VBIOS=Yes"; +"VBIOS_description" = "Enables VBIOS option"; + + +// KeyLayout +"KeyLayout_title" = "KeyLayout"; +"KeyLayout_description" = "Set keylayout to use"; + +"mac-de_title" = "German Mac Keyboard"; +"mac-de_description" = "Use the keyboard layout for a German Mac keyboard"; + +"mac-es_title" = "Spanish Mac Keyboard"; +"mac-es_description" = "Use the keyboard layout for a Spanish Mac keyboard"; + +"mac-fr_title" = "French Mac Keyboard"; +"mac-fr_description" = "Use the keyboard layout for a French Mac keyboard"; + +"mac-it_title" = "Italian Mac Keyboard"; +"mac-it_description" = "Use the keyboard layout for an Italian Mac keyboard"; + +"mac-se_title" = "Swedish Mac Keyboard"; +"mac-se_description" = "Use the keyboard layout for a Swedish Mac keyboard"; + +"pc-fr_title" = "French PC Keyboard"; +"pc-fr_description" = "Use the keyboard layout for a French PC keyboard"; + + // Themes "Themes_title" = "Themes"; "Themes_description" = "A collection of sample themes Index: branches/blackosx/package/buildpkg.sh =================================================================== --- branches/blackosx/package/buildpkg.sh (revision 1577) +++ branches/blackosx/package/buildpkg.sh (revision 1578) @@ -183,23 +183,57 @@ # build Extras package # build options packages - echo "================= Options =================" + outline[$((outlinecount++))]="${indent[$xmlindent]}\t" choices[$((choicescount++))]="\n\n" ((xmlindent++)) - # build base options packages - packagesidentity="org.chameleon.options" - options=($( find "${pkgroot}/Scripts/BaseOptions" -type d -depth 1 -not -name '.svn' )) - for (( i = 0 ; i < ${#options[@]} ; i++ )) + # ------------------------------------------------------ + # parse BootOptions folder to find files of boot options. + # ------------------------------------------------------ + bootOptionsFolder="${pkgroot}/BootOptions" + bootOptionFiles=($( find "${bootOptionsFolder}" -depth 1 -not -name '.svn' )) + + for (( i = 0 ; i < ${#bootOptionFiles[@]} ; i++ )) + do + + # Take filename and Strip .txt from end and path from front + builtOptionsFolderName=$( echo ${bootOptionFiles[$i]%.txt} ) + builtOptionsFolderName=$( echo ${builtOptionsFolderName##*/} ) + echo "================= $builtOptionsFolderName =================" + + outline[$((outlinecount++))]="${indent[$xmlindent]}\t" + choices[$((choicescount++))]="\n\n" + ((xmlindent++)) + packagesidentity="org.chameleon.options.$builtOptionsFolderName" + + # ------------------------------------------------------ + # Read boot option file. for example, Resolutions.txt. + # Each line in the file is a boot option to add. + # Structure of boot option in file is name:key=value + # ------------------------------------------------------ + while read textLine do - mkdir -p "${1}/${options[$i]##*/}/Root" - cp "${options[$i]}"/* "${1}/${options[$i]##*/}/Root" - echo " [BUILD] ${options[$i]##*/} " - buildpackage "${1}/${options[$i]##*/}" "/$chamTemp/options" "" "start_selected=\"false\"" >/dev/null 2>&1 - done - # End build base options packages + # split line - taking all before ':' as option name + # and all after ':' as key/value + optionName=${textLine%:*} + keyValue=${textLine##*:} + # create folders required for each boot option + mkdir -p "${1}/$optionName/Root/" + + # create dummy file with name of key/value + echo "" > "${1}/$optionName/Root/${keyValue}" + + echo " [BUILD] ${optionName} " + buildpackage "${1}/${optionName}" "/$chamTemp/options" "" "start_selected=\"false\"" >/dev/null 2>&1 + + done < ${bootOptionFiles[$i]} + + ((xmlindent--)) + outline[$((outlinecount++))]="${indent[$xmlindent]}\t" + done + # build KeyLayout options packages echo "================= Keymaps Options =================" outline[$((outlinecount++))]="${indent[$xmlindent]}\t" @@ -216,47 +250,12 @@ done ((xmlindent--)) outline[$((outlinecount++))]="${indent[$xmlindent]}\t" - # End build base options packages - # build resolution packages - echo "================= Res. Options =================" - outline[$((outlinecount++))]="${indent[$xmlindent]}\t" - choices[$((choicescount++))]="\n\n" - ((xmlindent++)) - packagesidentity="org.chameleon.options.resolution" - resolutions=($( find "${pkgroot}/Scripts/Resolutions" -type d -depth 1 -not -name '.svn' )) - for (( i = 0 ; i < ${#resolutions[@]} ; i++ )) - do - mkdir -p "${1}/${resolutions[$i]##*/}/Root/" - cp "${resolutions[$i]}"/* "${1}/${resolutions[$i]##*/}/Root" - echo " [BUILD] ${resolutions[$i]##*/} " - buildpackage "${1}/${resolutions[$i]##*/}" "/$chamTemp/options" "" "start_selected=\"false\"" >/dev/null 2>&1 - done - ((xmlindent--)) - outline[$((outlinecount++))]="${indent[$xmlindent]}\t" - # End build resolution packages + # End build KeyLayout options packages - # build Advanced packages - echo "================= Adv. Options =================" - outline[$((outlinecount++))]="${indent[$xmlindent]}\t" - choices[$((choicescount++))]="\n\n" - ((xmlindent++)) - - packagesidentity="org.chameleon.options.advanced" - optionsadv=($( find "${pkgroot}/Scripts/Advanced" -type d -depth 1 -not -name '.svn' )) - for (( i = 0 ; i < ${#optionsadv[@]} ; i++ )) - do - mkdir -p "${1}/${optionsadv[$i]##*/}/Root" - cp "${optionsadv[$i]}"/* "${1}/${optionsadv[$i]##*/}/Root" - echo " [BUILD] ${optionsadv[$i]##*/} " - buildpackage "${1}/${optionsadv[$i]##*/}" "/$chamTemp/options" "" "start_selected=\"false\"" >/dev/null 2>&1 - done - ((xmlindent--)) - outline[$((outlinecount++))]="${indent[$xmlindent]}\t" - # End build Advanced packages - ((xmlindent--)) outline[$((outlinecount++))]="${indent[$xmlindent]}\t" + # End build options packages # build theme packages @@ -298,7 +297,7 @@ # clean up - rm -R -f "${1}" + #rm -R -f "${1}" } @@ -339,7 +338,7 @@ header+="auth=\"root\">\n" header+="\t\n" - rm -R -f "${1}/Temp" + #rm -R -f "${1}/Temp" [ -d "${1}/Temp" ] || mkdir -m 777 "${1}/Temp" [ -d "${1}/Root" ] && mkbom "${1}/Root" "${1}/Temp/Bom" @@ -376,7 +375,7 @@ fi choices[$((choicescount++))]="\n\t#${packagename// /}.pkg\n\n" - rm -R -f "${1}" + #rm -R -f "${1}" fi }