Chameleon

Chameleon Commit Details

Date:2011-09-30 09:18:45 (12 years 6 months ago)
Author:blackosx
Commit:1592
Parents: 1591
Message:Moved the modules choice out of the bootloader menu to the root menu. Made some changes to the wording used for some of the options for the English strings, and will add more in time. Updated header info in Settings files.
Changes:
M/branches/blackosx/package/OptionalSettings/Video.txt
M/branches/blackosx/package/Resources/en.lproj/Localizable.strings
M/branches/blackosx/package/buildpkg.sh
M/branches/blackosx/version
M/branches/blackosx/package/OptionalSettings/PowerManagement.txt
M/branches/blackosx/package/OptionalSettings/General.txt
M/branches/blackosx/package/OptionalSettings/KernelFlags.txt
M/branches/blackosx/package/TO DO.txt
M/branches/blackosx/package/OptionalSettings/Control.txt
M/branches/blackosx/package/OptionalSettings/Resolution.txt

File differences

branches/blackosx/version
1
1
2.1svn
2.1svn
branches/blackosx/package/TO DO.txt
11
22
33
4
4
5
TO DO
* Add theme to org.chameleon.boot.plist? (Do what when more than one installed?)
* Implement adding more than one kernel flag.
* How to control which option is default when using the exclusive setting? I would prefer the 'None' option set as default.
* Finalise English Localizable.strings, then somehow update all the other languages??
branches/blackosx/package/OptionalSettings/Resolution.txt
11
22
3
4
5
63
4
5
6
7
8
9
710
811
912
......
1215
1316
1417
18
19
20
21
22
23
24
25
1526
1627
17
18
1928
2029
2130
# ---------------------------------------------
# Chameleon Optional Settings List.
# Add boot options or kernel flags in to these files.
# The filename is used as the sub menu heading.
# ---------------------------------------------
# Add boot options or kernel flags to the bottom of this file.
# They will appear under the package installer's Settings menu
# in a sub menu named with the filename of this file.
# to group different options under separate sub menus.
# ---------------------------------------------
# To add boot option: Structure is name:key=value
# example1: InstantMenu:Instant Menu=Yes
# example2: DropSSDT:DropSSDT=Yes
# example1: Npci:KFflag=npci=0x2000
# example2: Verbose:KFflag=-v
# ---------------------------------------------
# The package installer has a setting which controls what
# the user is allowed to choose.
# A) User can select every option from the list.
# B) User can select only one of the options from the list.
# Set Exclusive=False for A, or Exclusive=True for B.
#
Exclusive=True
# ---------------------------------------------
# Note: There must be a carriage return at end of last line
# ---------------------------------------------
Exclusive=True
# ---------------------------------------------
1024x600x32:Graphics Mode=1024x600x32
1024x768x32:Graphics Mode=1024x768x32
1280x768x32:Graphics Mode=1280x768x32
branches/blackosx/package/OptionalSettings/Video.txt
11
2
3
4
2
53
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
624
725
26
27
828
929
1030
# ---------------------------------------------
# Chameleon boot options list.
# Structure is name:key=value
# Note: There must be a carriage return at end of last line
# Chameleon Optional Settings List.
# ---------------------------------------------
# Add boot options or kernel flags to the bottom of this file.
# They will appear under the package installer's Settings menu
# in a sub menu named with the filename of this file.
# Use one file or many files - it's flexible to make it easy
# to group different options under separate sub menus.
# ---------------------------------------------
# To add boot option: Structure is name:key=value
# example1: InstantMenu:Instant Menu=Yes
# example2: DropSSDT:DropSSDT=Yes
# ---------------------------------------------
# To add kernel flag: Structure is name:KFflag=kernelflag
# example1: Npci:KFflag=npci=0x2000
# example2: Verbose:KFflag=-v
# ---------------------------------------------
# The package installer has a setting which controls what
# the user is allowed to choose.
# A) User can select every option from the list.
# B) User can select only one of the options from the list.
# Set Exclusive=False for A, or Exclusive=True for B.
#
Exclusive=False
# ---------------------------------------------
# Note: There must be a carriage return at end of last line
# ---------------------------------------------
GraphicsEnabler:GraphicsEnabler=Yes
UseAtiROM:UseAtiROM=Yes
UseNvidiaROM:UseNvidiaROM=Yes
branches/blackosx/package/OptionalSettings/PowerManagement.txt
11
22
3
4
5
63
4
5
6
7
8
9
710
811
912
......
1215
1316
1417
18
19
20
21
22
23
24
25
1526
1627
17
18
1928
2029
2130
# ---------------------------------------------
# Chameleon Optional Settings List.
# Add boot options or kernel flags in to these files.
# The filename is used as the sub menu heading.
# ---------------------------------------------
# Add boot options or kernel flags to the bottom of this file.
# They will appear under the package installer's Settings menu
# in a sub menu named with the filename of this file.
# to group different options under separate sub menus.
# ---------------------------------------------
# To add boot option: Structure is name:key=value
# example1: InstantMenu:Instant Menu=Yes
# example2: DropSSDT:DropSSDT=Yes
# example1: Npci:KFflag=npci=0x2000
# example2: Verbose:KFflag=-v
# ---------------------------------------------
# The package installer has a setting which controls what
# the user is allowed to choose.
# A) User can select every option from the list.
# B) User can select only one of the options from the list.
# Set Exclusive=False for A, or Exclusive=True for B.
#
Exclusive=False
# ---------------------------------------------
# Note: There must be a carriage return at end of last line
# ---------------------------------------------
Exclusive=False
# ---------------------------------------------
CSTUsingSystemIO:CSTUsingSystemIO=Yes
DropSSDT:DropSSDT=Yes
EnableC2State:EnableC2State=Yes
branches/blackosx/package/OptionalSettings/General.txt
11
22
3
4
5
63
4
5
6
7
8
9
710
811
912
......
1215
1316
1417
18
19
20
21
22
23
24
25
1526
1627
17
18
1928
2029
2130
# ---------------------------------------------
# Chameleon Optional Settings List.
# Add boot options or kernel flags in to these files.
# The filename is used as the sub menu heading.
# ---------------------------------------------
# Add boot options or kernel flags to the bottom of this file.
# They will appear under the package installer's Settings menu
# in a sub menu named with the filename of this file.
# to group different options under separate sub menus.
# ---------------------------------------------
# To add boot option: Structure is name:key=value
# example1: InstantMenu:Instant Menu=Yes
# example2: DropSSDT:DropSSDT=Yes
# example1: Npci:KFflag=npci=0x2000
# example2: Verbose:KFflag=-v
# ---------------------------------------------
# The package installer has a setting which controls what
# the user is allowed to choose.
# A) User can select every option from the list.
# B) User can select only one of the options from the list.
# Set Exclusive=False for A, or Exclusive=True for B.
#
Exclusive=False
# ---------------------------------------------
# Note: There must be a carriage return at end of last line
# ---------------------------------------------
Exclusive=False
# ---------------------------------------------
arch:arch=i386
EHCIacquire:EHCIacquire=Yes
EthernetBuiltIn:EthernetBuiltIn=Yes
branches/blackosx/package/OptionalSettings/KernelFlags.txt
11
22
3
4
5
63
4
5
6
7
8
9
710
811
912
......
1215
1316
1417
18
19
20
21
22
23
24
25
1526
1627
17
18
1928
2029
2130
# ---------------------------------------------
# Chameleon Optional Settings List.
# Add boot options or kernel flags in to these files.
# The filename is used as the sub menu heading.
# ---------------------------------------------
# Add boot options or kernel flags to the bottom of this file.
# They will appear under the package installer's Settings menu
# in a sub menu named with the filename of this file.
# to group different options under separate sub menus.
# ---------------------------------------------
# To add boot option: Structure is name:key=value
# example1: InstantMenu:Instant Menu=Yes
# example2: DropSSDT:DropSSDT=Yes
# example1: Npci:KFflag=npci=0x2000
# example2: Verbose:KFflag=-v
# ---------------------------------------------
# The package installer has a setting which controls what
# the user is allowed to choose.
# A) User can select every option from the list.
# B) User can select only one of the options from the list.
# Set Exclusive=False for A, or Exclusive=True for B.
#
Exclusive=False
# ---------------------------------------------
# Note: There must be a carriage return at end of last line
# ---------------------------------------------
Exclusive=False
# ---------------------------------------------
Verbose:KFflag=-v
Singleusermode:KFflag=-s
Ignorecaches:KFflag=-f
branches/blackosx/package/OptionalSettings/Control.txt
11
22
3
4
5
63
4
5
6
7
8
9
710
811
912
......
1215
1316
1417
18
19
20
21
22
23
24
25
1526
1627
17
18
1928
2029
2130
# ---------------------------------------------
# Chameleon Optional Settings List.
# Add boot options or kernel flags in to these files.
# The filename is used as the sub menu heading.
# ---------------------------------------------
# Add boot options or kernel flags to the bottom of this file.
# They will appear under the package installer's Settings menu
# in a sub menu named with the filename of this file.
# to group different options under separate sub menus.
# ---------------------------------------------
# To add boot option: Structure is name:key=value
# example1: InstantMenu:Instant Menu=Yes
# example2: DropSSDT:DropSSDT=Yes
# example1: Npci:KFflag=npci=0x2000
# example2: Verbose:KFflag=-v
# ---------------------------------------------
# The package installer has a setting which controls what
# the user is allowed to choose.
# A) User can select every option from the list.
# B) User can select only one of the options from the list.
# Set Exclusive=False for A, or Exclusive=True for B.
#
Exclusive=False
# ---------------------------------------------
# Note: There must be a carriage return at end of last line
# ---------------------------------------------
Exclusive=False
# ---------------------------------------------
BootBanner:Boot Banner=No
GUI:GUI=No
LegacyLogo:Legacy Logo=Yes
branches/blackosx/package/Resources/en.lproj/Localizable.strings
11
2
2
33
44
55
......
1616
1717
1818
19
19
2020
2121
2222
......
7171
7272
7373
74
74
7575
7676
7777
7878
7979
80
80
8181
8282
83
83
8484
8585
8686
8787
8888
89
89
9090
9191
92
92
9393
9494
9595
9696
9797
98
98
9999
100100
101101
......
142142
143143
144144
145
145
146146
147
148
147149
150
151
152
153
154
155
156
148157
149158
150159
"Chameleon_title" = "Bootloader & Modules";
"Chameleon_title" = "Bootloader";
"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.
// Modules
"Module_title" = "Chameleon Modules";
"Module_title" = "Modules";
"Module_description" = "The modules system incorporated in chameleon allows for a user or developer to extend the core functionality of chameleon without replacing the main boot file. ";
"AMDGraphicsEnabler_title" = "AMDGraphicsEnabler";
"Documentation_description" = "Documentation for Chameleon manual install and use";
// Boot Options
"Options_title" = "Available Settings";
"Options_title" = "Settings";
"Options_description" = "Create an /Extra/org.chameleon.Boot.plist by selecting any of these boot options and kernel flags.";
// Control
"Control_title" = "Control Options";
"Control_description" = "Settings to control the way Chameleon works.";
"Control_description" = "Settings to control how Chameleon works.";
"BootBanner_title" = "BootBanner=No";
"BootBanner_description" = "Hides Chameleon's boot banner in GUI.";
"BootBanner_description" = "Hides Chameleon's boot banner in GUI. This is the text that is drawn at the top left corner of the screen displaying the release version etc.";
"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.";
"LegacyLogo_description" = "Use the legacy 'dark grey' apple logo on the light grey screen for the boot process rather than the boot.png in the theme.";
"InstantMenu_title" = "InstantMenu=Yes";
"InstantMenu_description" = "Display the partition selection screen without showing the timeout screen.";
"InstantMenu_description" = "By default, when Chameleon loads you'll see the icon for the current default partition, along with a timeout progress bar which left alone will count down before Chameleon automatically boots that partition. This options skips that and takes you directly to the device selection screen.";
"QuietBoot_title" = "QuietBoot=Yes";
"QuietBoot_description" = "Enable quiet boot mode (no messages or prompt).";
"ShowInfo_title" = "ShowInfo=No";
"ShowInfo_description" = "Disables display of partition and resolution details.";
"ShowInfo_description" = "Disables display of partition and resolution details shown on the left side of the GUI under the boot banner. This is useful information for troubleshooting, though can clash with certain themes.";
"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.";
"KernelFlags_description" = "Choose from a selection of kernel flags.";
"Npci_title" = "npci=0x2000";
"Npci_description" = "Set the flag npci=0x2000 for the Kernel Flags";
"Npci_description" = "For overcoming a hang at 'PCI configuration begin' on some systems. 0x2000 is the kIOPCIConfiguratorPFM64 flag, as seen in the IOPCIFamily source code.";
"Verbose_title" = "Verbose Mode";
"Verbose_description" = "Turns on verbose logging and allows you to see messages from both Chameleon and the OS X kernel at boot time. Essential for troubleshooting.";
"Singleusermode_title" = "Single User Mode";
"Singleusermode_description" = "A troubleshooting option used for booting into OS X's BSD/Unix command line.";
"Ignorecaches_title" = "Ignore Caches";
"Ignorecaches_description" = "Not an option that's needed for everyday booting, but it can be useful if you want OS X to load all files from it's system folders, rather than relying on it's pre-built caches.";
// PowerManagement
"PowerManagement_title" = "Power Management";
"PowerManagement_description" = "A selection of options that deal with power management and speedstep.";
branches/blackosx/package/buildpkg.sh
2424
2525
2626
27
27
2828
2929
3030
......
114114
115115
116116
117
117
118
119
120
121
118122
119123
120124
......
136140
137141
138142
139
143
140144
141145
142146
......
155159
156160
157161
158
162
159163
160164
161165
......
164168
165169
166170
167
171
168172
169173
170174
......
177181
178182
179183
180
181
182
183184
185
184186
185187
186188
......
192194
193195
194196
195
197
196198
197199
198200
#version=$( grep I386BOOT_CHAMELEONVERSION vers.h | awk '{ print $3 }' | tr -d '\"' )
version=$( cat version )
stage=${version##*-}
stage=${version##*-}" (blackosx branch)"
revision=$( grep I386BOOT_CHAMELEONREVISION vers.h | awk '{ print $3 }' | tr -d '\"' )
builddate=$( grep I386BOOT_BUILDDATE vers.h | awk '{ print $3,$4 }' | tr -d '\"' )
timestamp=$( date -j -f "%Y-%m-%d %H:%M:%S" "${builddate}" "+%s" )
buildpackage "${1}/noboot" "/$chamTemp" "" "start_visible=\"true\" start_selected=\"false\" selected=\"exclusive(choices['Standard']) && exclusive(choices['EFI'])\"" >/dev/null 2>&1
# End build reset choice package
# build Modules package
((xmlindent--))
outline[$((outlinecount++))]="${indent[$xmlindent]}\t</line>"
# End build Chameleon package
# build Modules package
echo "================= Modules ================="
###############################
# Supported Modules #
mkdir -p ${1}/klibc/Root
ditto --noextattr --noqtn ${1%/*}/i386/modules/klibc.dylib ${1}/klibc/Root
echo "[BUILD] klibc "
buildpackage "${1}/klibc" "/$chamTemp/Extra/modules" "" "start_selected=\"true\"" >/dev/null 2>&1
buildpackage "${1}/klibc" "/$chamTemp/Extra/modules" "" "start_selected=\"false\"" >/dev/null 2>&1
}
fi
# -
ditto --noextattr --noqtn ${1%/*}/i386/modules/uClibcxx.dylib ${1}/uClibc/Root
ditto --noextattr --noqtn ${1%/*}/i386/modules/klibc.dylib ${1}/uClibc/Root
echo "[BUILD] uClibc++ "
buildpackage "${1}/uClibc" "/$chamTemp/Extra/modules" "" "start_selected=\"true\"" >/dev/null 2>&1
buildpackage "${1}/uClibc" "/$chamTemp/Extra/modules" "" "start_selected=\"false\"" >/dev/null 2>&1
}
fi
# -
mkdir -p ${1}/Keylayout/Root
ditto --noextattr --noqtn ${1%/*}/i386/modules/Keylayout.dylib ${1}/Keylayout/Root
echo "[BUILD] Keylayout "
buildpackage "${1}/Keylayout" "/$chamTemp/Extra/modules" "" "start_selected=\"true\"" >/dev/null 2>&1
buildpackage "${1}/Keylayout" "/$chamTemp/Extra/modules" "" "start_selected=\"false\"" >/dev/null 2>&1
}
fi
}
fi
# End build Modules packages
((xmlindent--))
outline[$((outlinecount++))]="${indent[$xmlindent]}\t</line>"
# End build Chameleon package
# build Extras package
# build options packages
# parse OptionalSettings folder to find files of boot options.
# ------------------------------------------------------
OptionalSettingsFolder="${pkgroot}/OptionalSettings"
OptionalSettingsFiles=($( find "${OptionalSettingsFolder}" -depth 1 -not -name '.svn' ))
OptionalSettingsFiles=($( find "${OptionalSettingsFolder}" -depth 1 ! -name '.svn' ! -name '.DS_Store' ))
for (( i = 0 ; i < ${#OptionalSettingsFiles[@]} ; i++ ))
do

Archive Download the corresponding diff file

Revision: 1592