Chameleon

Chameleon Commit Details

Date:2011-12-27 22:15:54 (8 years 11 months ago)
Author:blackosx
Commit:1753
Parents: 1752
Message:Merge recent package installer changes from my branch in to trunk. Includes updates to Credits, installation log messages and localizable strings. Check for existence of EFI system partition before running the check for previous Chameleon installations. Only backup /Extra folder if necessary when running upgrade install.
Changes:
M/trunk/package/Resources/ja.lproj/Localizable.strings
M/trunk/package/Resources/zh_TW.lproj/Localizable.strings
M/trunk/package/Resources/he.lproj/Localizable.strings
M/trunk
M/trunk/package/Resources/zh_CN.lproj/Localizable.strings
M/trunk/package/Resources/ru.lproj/Description.html
M/trunk/package/Resources/bs.lproj/Localizable.strings
M/trunk/package/Resources/pt-PT.lproj/Localizable.strings
M/trunk/package/Resources/fr.lproj/Localizable.strings
M/trunk/package/Resources/nl.lproj/Localizable.strings
M/trunk/package/Resources/id.lproj/Description.html
M/trunk/package/Resources/pl.lproj/Localizable.strings
M/trunk/package/Resources/el.lproj/Description.html
M/trunk/package/Resources/ar.lproj/Description.html
M/trunk/package/Resources/en.lproj/Description.html
M/trunk/package/Resources/fr.lproj/Description.html
M/trunk/package/Resources/nl.lproj/Description.html
M/trunk/package/Resources/ru.lproj/Localizable.strings
M/trunk/package/Resources/pl.lproj/Description.html
M/trunk/package/Resources/it.lproj/Description.html
M/trunk/CREDITS
M/trunk/package/Resources/id.lproj/Localizable.strings
M/trunk/package/Resources/el.lproj/Localizable.strings
M/trunk/package/Resources/sr.lproj/Description.html
M/trunk/package/Resources/pt-BR.lproj/Description.html
M/trunk/package/Resources/en.lproj/Localizable.strings
M/trunk/package/Resources/ar.lproj/Localizable.strings
M/trunk/package/Resources
M/trunk/package/Resources/de.lproj/Description.html
M/trunk/package/Resources/bg.lproj/Description.html
M/trunk/package/Resources/es.lproj/Localizable.strings
M/trunk/package/Resources/ja.lproj/Description.html
M/trunk/package/Resources/mk.lproj/Localizable.strings
M/trunk/package/Resources/he.lproj/Description.html
M/trunk/package/Resources/ko.lproj/Localizable.strings
M/trunk/package/Resources/it.lproj/Localizable.strings
M/trunk/package/Resources/pt-PT.lproj/Description.html
M/trunk/package/Resources/bs.lproj/Description.html
M/trunk/version
M/trunk/package/Resources/mk.lproj/Description.html
M/trunk/package/Resources/es.lproj/Description.html
M/trunk/package/Resources/pt-BR.lproj/Localizable.strings
M/trunk/package/Resources/sr.lproj/Localizable.strings
M/trunk/package/Resources/ko.lproj/Description.html
M/trunk/package/Resources/bg.lproj/Localizable.strings
M/trunk/package/Resources/de.lproj/Localizable.strings

File differences

trunk/version
1
1
2.1svn
2.1svn
trunk/package/Changes.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
117
218
319
- Change Localizable.strings to match the recent changes to the install process.
- Improve messages written to the installation log.
- Change upgrade install to only backup /Extra folder if necessary.
- JrCs - Enhanced installer - We can add an option without an associated package - We can have an option that install
multiple packages - No more "fake" option (none) - The package that is build is already compressed (no need to
compress it again)
- JrCs - Update postinstall script - Fix a bug where kernel flags are not set properly - Fix indent - Add some comments.
- JrCs - Automaticaly select upgrade option if /Extra/org.chameleon.Boot.plist file exists on the target volume.
- JrCs - Keylayout / Keymaps fixed and made a mandatory install when a keymap is chosen.
- Add option to upgrade an existing install - or more exactly, merge newly selected options with an existing /Extra folder. Also, rename an existing /Extra/com.apple.Boot.plist to /Extra/org.chameleon.Boot.plist.
- Change the layout/wording displayed in the installer (English only) and give it a facelift. Adjust background image to scale to fit in the window.
trunk/package/Scripts/Main/ESPpostinstall
5656
5757
5858
59
60
5961
6062
6163
......
9294
9395
9496
95
97
9698
9799
98100
99101
100
102
101103
102104
105
106
107
108
103109
104110
105111
......
157163
158164
159165
160
166
161167
162168
163169
164170
165171
172
173
166174
167175
168176
targetResources="${targetVolumeChosenByUser}/usr/local/bin/"
efiPartitionExist=0 # target volume does not have EFI system partition.
echo "==============================================="
echo "DEBUG: display script variables"
echo "***************************"
echo "Confirm this is a GPT partitioned disk."
# Double check we can see the selected partition and it's of the right type.
# If the following script finds anything, it returns 1 to indicate failure.
# The following script returns either 0 or 1 to proceed, or 2 to indicate failure.
"$scriptDir"CheckProceed.sh "${targetVolume}" "${targetDeviceChosenByUser}" "${targetVolumeChosenByUser}" "${scriptDir}"
returnValue=$?
if [ ${returnValue} = 0 ]; then
if [ ${returnValue} -ne 2 ]; then
# OK to proceed
# Remember if the target volume has an EFI system partition.
if [ ${returnValue} -ne 1 ]; then
efiPartitionExist=1
fi
# Does a GRUB or Linux loader already exist in the disk's MBR?
# The script returns 1 if yes, 0 if no.
# OK to proceed
# Mount the EFI system partition
"$scriptDir"MountESP.sh "${targetDisk}" "${targetVolumeChosenByUser}" "${scriptDir}"
"$scriptDir"MountESP.sh "${targetDisk}" "${targetVolumeChosenByUser}" "${efiPartitionExist}" "${scriptDir}"
# Write the stage 2 loader to the root of the selected partition
"$scriptDir"WriteChameleonStage2.sh "${stage2Loader}" "${targetVolume}" "${targetDevice}" "${targetVolumeChosenByUser}" "${scriptDir}"
# Check for another existing Chameleon installation on the same disk
"$scriptDir"InstallLog.sh "${targetVolume}" "LineBreak"
"$scriptDir"InstallLog.sh "${targetVolume}" "Preparing to check target disk for previous installations."
"$scriptDir"CheckPreviousChameleon.sh "${targetDisk}" "${targetDeviceRaw}" "${targetDevice}" "${targetVolumeChosenByUser}" "${scriptDir}"
fi
trunk/package/Scripts/Main/postinstall
3737
3838
3939
40
41
42
43
40
41
42
43
44
45
46
4447
45
46
47
48
49
50
51
52
53
48
49
5450
55
56
57
58
59
60
61
62
51
52
53
6354
6455
65
66
67
68
69
70
71
56
7257
73
74
58
59
60
7561
76
77
78
79
62
63
64
65
66
67
8068
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
11690
11791
118
119
120
121
122
123
124
125
126
127
128
129
130
13192
93
94
13295
133
134
135
136
137
138
139
140
96
97
98
99
100
101
102
141103
104
142105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
143132
144133
145134
146135
147
136
148137
149138
150139
......
180169
181170
182171
183
172
173
184174
185175
186176
187
177
178
188179
189180
190181
......
210201
211202
212203
213
214
204
215205
216206
217207
218208
219
220
221
209
210
222211
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
212
213
214
215
240216
217
218
219
241220
242
243
244
221
222
223
224
225
226
227
228
229
230
231
232
233
245234
246
247
248
249
235
236
237
238
250239
251
252240
253241
254
255
256
257
258
259
260242
261243
262244
263245
264246
265247
248
249
250
266251
267252
268253
# 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
# ---------------------------------------------
# Build org.chameleon.Boot.plist
# ---------------------------------------------
# All options selected are now dummy files with
# the filename of the option and value residing
# in /usr/local/chamTemp/options/
# for example. Boot Banner=Yes
# ---------------------------------------------
# Add any installed modules to the Install Log
# ---------------------------------------------
if [ -e "${chamTemp}"/Extra/modules ]; then
ls "${chamTemp}"/Extra/modules | while read FILE
do
"$scriptDir"InstallLog.sh "${dest_vol}" "Added module: $FILE"
done
fi
# Are there any options to build?
if [ "$(ls -A ${chamTemp}/options )" ]; then
# ---------------------------------------------
# Add any installed themes to the Install Log
# ---------------------------------------------
if [ -e "${chamTemp}"/Extra/Themes ]; then
ls "${chamTemp}"/Extra/Themes | while read FILE
do
"$scriptDir"InstallLog.sh "${dest_vol}" "Added Theme: $FILE"
done
# Check for temporary directory/Extra folder.
if [ ! -d "$chamTemp"/Extra ]; then
mkdir "$chamTemp"/Extra
fi
# ---------------------------------------------
# Build org.chameleon.Boot.plist
# ---------------------------------------------
# All options selected are now dummy files with
# the filename of the option and value residing
# in /usr/local/chamTemp/options/
# for example. Boot Banner=Yes
tempOCBP="$chamTemp"/Extra/org.chameleon.Boot.plist
# Are there any options to build?
if [ "$(ls -A ${chamTemp}/options )" ]; then
# Create template for org.chameleon.Boot.plist"
tempOCBP="$chamTemp"/Extra/org.chameleon.Boot.plist
cp "$4"/Library/Preferences/SystemConfiguration/com.apple.Boot.plist "$tempOCBP"
# Check for temporary directory/Extra folder.
if [ ! -d "$chamTemp"/Extra ]; then
mkdir "$chamTemp"/Extra
fi
# Read list of all boot options the user added.
arrayCount=0
kernelFlagCount=0
while read FILE
do
options[arrayCount]="${FILE##*/}"
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
while read FILE
do
options[arrayCount]="${FILE##*/}"
# Check keyRead for 'KF' at beginning to
# indicate that should be a kernel flag
if [ ${options[arrayCount]:0:2} = "KF" ];then
# plistbuddy only add's if the key doesn't already exist.
# So let's store any kernelflags and add them all at the
# same time once when we reach the end of the options list.
kernelflag[kernelFlagCount]="${options[arrayCount]##*flag=}"
"$scriptDir"InstallLog.sh "${dest_vol}" "Added kernel flag: ${kernelflag[kernelFlagCount]}"
(( kernelFlagCount++ ))
else
keyRead="${options[$arrayCount]%=*}"
value="${options[$arrayCount]#*=}"
# escape any spaces
keyToUse=$( echo $keyRead | sed 's/ /\\ /g' )
if [ "${keyToUse}" != "DONT" ] && [ "${value}" != "ADD" ]; then
sudo /usr/libexec/plistbuddy -c "Add :${keyToUse} string ${value}" "$tempOCBP"
returnValue=$?
if [ ${returnValue} -ne 1 ]; then
"$scriptDir"InstallLog.sh "${dest_vol}" "Added boot option: ${keyRead}=${value}"
else
"$scriptDir"InstallLog.sh "${dest_vol}" "Can't add ${keyRead}=${value} as an option already exists for: ${keyRead}"
fi
# Check keyRead for 'KF' at beginning to
# indicate that should be a kernel flag
if [ ${options[arrayCount]:0:2} = "KF" ];then
# plistbuddy only add's if the key doesn't already exist.
# So let's store any kernelflags and add them all at the
# same time once when we reach the end of the options list.
kernelflag[kernelFlagCount]="${options[arrayCount]##*flag=}"
"$scriptDir"InstallLog.sh "${dest_vol}" "Added kernel flag: ${kernelflag[kernelFlagCount]}"
(( kernelFlagCount++ ))
else
keyRead="${options[$arrayCount]%=*}"
value="${options[$arrayCount]#*=}"
# escape any spaces
keyToUse=$( echo $keyRead | sed 's/ /\\ /g' )
if [ "${keyToUse}" != "DONT" ] && [ "${value}" != "ADD" ]; then
sudo /usr/libexec/plistbuddy -c "Add :${keyToUse} string ${value}" "$tempOCBP"
returnValue=$?
if [ ${returnValue} -ne 1 ]; then
"$scriptDir"InstallLog.sh "${dest_vol}" "Added boot option: ${keyRead}=${value}"
else
"$scriptDir"InstallLog.sh "${dest_vol}" "Can't add ${keyRead}=${value} as an option already exists for: ${keyRead}"
fi
fi
(( arrayCount++ ))
done < <(ls "${chamTemp}"/options )
# If exclusive options were used and the 'None' option was chosen,
# then a dummy file named DONT=ADD would be in /$chamTemp/Extra/options.
# If that was the only option then the above code would have made a
# temporary Extra folder with a default org.chameleon.Boot.plist
# In this case we don't need it and should discard it otherwise the folder
# will be copied to the users / directory when it's not wanted.
if [ ${arrayCount} == 1 ] && [ "${keyToUse}" == "DONT" ] && [ "${value}" == "ADD" ]; then
if [ -e "${chamTemp}"/Extra ] && [ ! -e "${chamTemp}"/Extra/Themes ] && [ ! -e "${chamTemp}"/Extra/Modules ]; then
rm -r -f "$chamTemp"/Extra
fi
fi
(( arrayCount++ ))
done < <(ls "${chamTemp}"/options )
if [ $kernelFlagCount -gt 0 ]; then
# Add any kernel flags together in to one string.
for (( i=0 ; i < $kernelFlagCount ; i++ ))
do
kernelFlagString="${kernelFlagString} ${kernelflag[i]}"
done
# We add the final string in the next section.
fi
if [ $kernelFlagCount -gt 0 ]; then
# Add any kernel flags together in to one string.
for (( i=0 ; i < $kernelFlagCount ; i++ ))
do
kernelFlagString="${kernelFlagString} ${kernelflag[i]}"
done
# We add the final string in the next section.
fi
fi
# ---------------------------------------------
# Add any installed modules to the Install Log
# ---------------------------------------------
if [ -e "${chamTemp}"/Extra/modules ]; then
ls "${chamTemp}"/Extra/modules | while read FILE
do
"$scriptDir"InstallLog.sh "${dest_vol}" "Added module: $FILE"
if [ "$FILE" == "Keylayout.dylib" ]; then
"$scriptDir"InstallLog.sh "${dest_vol}" "Also adding required Keymaps."
fi
done
fi
# ---------------------------------------------
# Add any installed themes to the Install Log
# ---------------------------------------------
if [ -e "${chamTemp}"/Extra/Themes ]; then
ls "${chamTemp}"/Extra/Themes | while read FILE
do
"$scriptDir"InstallLog.sh "${dest_vol}" "Added Theme: $FILE"
done
fi
# Does a temporary /Extra folder exist?
if [ -d "$chamTemp"/Extra ]; then
# ---------------------------------------------
# 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 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."
# 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.
"$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."
NOTE: and chose Wait=Yes from the list, this will NOT be changed.
------"
sudo /usr/libexec/plistbuddy -c "Merge $chamTemp/holding.plist" "$tempOCBP"
if [[ -n "$currentFlags" ]];then
# ---------------------------------------------
# Copy temp Extra folder to target destination
# ---------------------------------------------
# If we've made a temporary Extra folder to use then
# check for an existing /Extra folder. If found, back it up
# Check for an existing /Extra folder. If found, back it up
# before copying the temporary Extra folder to destination.
# Extra folder now resides in /usr/local/chamTemp/
# Copy /usr/local/chamTemp/Extra to correct location.
if [ -d "$chamTemp"/Extra ]; then
if [ ! -f "$dest_vol"/.ChameleonEFI ]; then
# The Standard install option chosen
if [ ! -f "$dest_vol"/.ChameleonEFI ]; then
# The Standard install option chosen
# Does an /Extra folder already exist?
if [ -e "$dest_vol"/Extra ]; then
"$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 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}" "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 new Extra folder to: /Volumes/EFI/"
cp -R "$chamTemp"/Extra "/Volumes/EFI"
# Does an /Extra folder already exist?
if [ -e "$dest_vol"/Extra ]; then
"$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 new Extra folder to: $dest_vol/"
echo "Copying $chamTemp/Extra TO $dest_vol"
cp -R "$chamTemp"/Extra "$dest_vol"
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,
# 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}" "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 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,
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
"$scriptDir"UnMountEFIvolumes.sh "${dest_vol}" "${scriptDir}"
else
cleanUp="${cleanUp},0"
rm "$dest_vol"/.ChameleonExists
fi
# ---------------------------------------------
# Cleanup
# ---------------------------------------------
# Unmount ALL mounted volumes named EFI
"$scriptDir"UnMountEFIvolumes.sh "${dest_vol}" "${scriptDir}"
# remove any temporary boot sector files if they exist
if [ -d /tmp/newbs ]; then
cleanUp="${cleanUp},1a"
trunk/package/Scripts/Main/Standardpostinstall
5656
5757
5858
59
5960
6061
6162
......
8283
8384
8485
85
86
8687
8788
8889
89
90
9091
92
93
94
95
96
9197
9298
9399
......
162168
163169
164170
165
166171
167
168
169
170
171172
172
173
174
175
176
177
178
179
180
181
182
183
173
174
175
176
177
178
179
184180
185
181
186182
187
188
189
190183
184
185
191186
192187
193188
targetResources="${targetVolume}/usr/local/bin/"
updateStage1=1 # by default update partition boot sector
efiPartitionExist=0 # target volume does not have EFI system partition.
echo "==============================================="
echo "DEBUG: display script variables"
"$scriptDir"InstallLog.sh "${targetVolume}" "Target volume = ${targetVolume} on ${targetDevice}"
# Double check we can see the selected partition and it's of the right type.
# If the following script finds anything, it returns 1 to indicate failure.
# The following script returns either 0 or 1 to proceed, or 2 to indicate failure.
"$scriptDir"CheckProceed.sh "${targetVolume}" "${targetDevice}" "${targetVolume}" "${scriptDir}"
returnValue=$?
if [ ${returnValue} = 0 ]; then
if [ ${returnValue} -ne 2 ]; then
# OK to proceed
# Remember if the target volume has an EFI system partition.
if [ ${returnValue} -ne 1 ]; then
efiPartitionExist=1
fi
# Does a GRUB or Linux loader already exist in the disk's MBR?
# The script returns 1 if yes, 0 if no.
# Write the stage 2 loader to the root of the selected partition
"$scriptDir"WriteChameleonStage2.sh "${stage2Loader}" "${3}" "${targetDevice}" "${targetVolume}" "${scriptDir}"
# Next we look to check for existing Chameleon installations.
# But as it will check /Volumes/EFI for the stage 2 loader,
# we need to make sure it's mounted.
# Tell the user what's going on.
"$scriptDir"InstallLog.sh "${targetVolume}" "LineBreak"
"$scriptDir"InstallLog.sh "${targetVolume}" "About to check your disk for previous installations"
"$scriptDir"InstallLog.sh "${targetVolume}" "which involves checking the EFI system partition if"
"$scriptDir"InstallLog.sh "${targetVolume}" "appropriate for this disk."
# Unmount ALL mounted volumes named EFI.
# Returns 0=success, 1=fail
"$scriptDir"UnMountEFIvolumes.sh "${targetVolume}" "${scriptDir}"
returnValue=$?
if [ ${returnValue} = 0 ]; then
# OK to proceed
if [ ${partitionScheme} = 1 ] || [ ${partitionScheme} = 2 ]; then
"$scriptDir"InstallLog.sh "${targetVolume}" "Preparing to check target disk for previous installations."
if [ ${efiPartitionExist} -ne 0 ]; then # volume has an EFI system partition
"$scriptDir"InstallLog.sh "${targetVolume}" "Going to check the EFI system partition also."
# Unmount ALL mounted volumes named EFI. Returns 0=success, 1=fail
"$scriptDir"UnMountEFIvolumes.sh "${targetVolume}" "${scriptDir}"
returnValue=$?
if [ ${returnValue} = 0 ]; then
# Mount the EFI system partition
"$scriptDir"MountESP.sh "${targetDisk}" "${targetVolume}" "${scriptDir}"
"$scriptDir"MountESP.sh "${targetDisk}" "${targetVolume}" "${efiPartitionExist}" "${scriptDir}"
fi
# Check for another existing Chameleon installation on the same disk
"$scriptDir"CheckPreviousChameleon.sh "${targetDisk}" "${targetDeviceRaw}" "${targetDevice}" "${targetVolume}" "${scriptDir}"
fi
# Check for another existing Chameleon installation on the same disk
"$scriptDir"CheckPreviousChameleon.sh "${targetDisk}" "${targetDeviceRaw}" "${targetDevice}" "${targetVolume}" "${scriptDir}"
# Append a line break to the installer log
"$scriptDir"InstallLog.sh "${targetVolume}" "LineBreak"
trunk/package/Scripts/Sub/CheckPreviousChameleon.sh
5252
5353
5454
55
56
55
5756
5857
5958
......
6463
6564
6665
66
6767
6868
6969
......
108108
109109
110110
111
111
112112
113113
114114
......
173173
174174
175175
176
177
176178
177
178179
179
180
180
181
182
183
184
181185
182186
183187
# if there is more than one partition on the disk.
# ===============================================
if [ $numSlices -gt 1 ]; then
"$scriptDir"InstallLog.sh "${installerVolume}" "LineBreak"
"$scriptDir"InstallLog.sh "${installerVolume}" "Checking for previous chameleon installations on ${targetDisk#/dev/}"
"$scriptDir"InstallLog.sh "${installerVolume}" "Checking ${targetDisk#/dev/}."
# Check the disk's MBR for existing stage 0 boot code (code from CheckDiskMicrocode.sh script)
stage0type=$( dd 2>/dev/null if="$targetDisk" count=3 bs=1 skip=105 | xxd | awk '{print $2$3}' )
fi
#Scan all partitions for Chameleon code
cleanRun=1
for (( i=1; i <= $numSlices; i++ ));
do
if [ $stage0type == 1 ] || [ $stage0type == 2 ]; then
"$scriptDir"InstallLog.sh "${installerVolume}" "${message}"
fi
if [ $stagesFound == 3 ] && [ $i -gt $sliceNumber ]; then
# Exisitng installation found which will no longer be default.
# Existing installation found which will no longer be default.
message="NOTE: There is an existing Chameleon installation on $targetDiskRaw
NOTE: but this installation on $targetDevice will be the default loader
NOTE: because you're installing to an earlier partition on the disk."
#echo "DEBUG: Boot0 not found"
fi
fi
else
(( cleanRun++ ))
fi
done
#else
#echo "DEBUG: Just one slice"
if [[ $cleanRun == $i ]]; then
"$scriptDir"InstallLog.sh "${installerVolume}" "Nothing found that could cause any problems."
fi
else
"$scriptDir"InstallLog.sh "${installerVolume}" "Nothing to check as there's only one partition."
fi
exit 0
trunk/package/Scripts/Sub/MountESP.sh
99
1010
1111
12
1213
1314
14
15
1516
1617
17
18
19
1820
1921
22
2023
2124
2225
2326
2427
2528
29
30
31
2632
27
28
29
30
33
34
35
36
3137
32
33
34
35
38
39
40
41
42
43
44
45
46
47
48
3649
37
38
39
40
4150
4251
# Receives targetDisk: for example /dev/disk2.
# Receives installerVolume: Volume to write the installer log to.
# Receives efiPartitionExist: either 0 or 1
# Receives scriptDir: The location of the main script dir.
if [ "$#" -eq 3 ]; then
if [ "$#" -eq 4 ]; then
targetDisk="$1"
installerVolume="$2"
scriptDir="$3"
efiPartitionExist="$3"
scriptDir="$4"
echo "DEBUG: passed argument for targetDisk = $targetDisk"
echo "DEBUG: passed argument for installerVolume = $installerVolume"
echo "DEBUG: passed argument for efiPartitionExist = $efiPartitionExist"
echo "DEBUG: passed argument for scriptDir = $scriptDir"
else
echo "Error - wrong number of values passed"
exit 9
fi
# Check the first partition is actually type 'EFI'
# as we could be checking a USB flash drive <4GB
if [ ${efiPartitionExist} = 1 ]; then
# Does the mountpoint exist?
if [ ! -e "/Volumes/EFI" ]; then
mkdir -p "/Volumes/EFI"
fi
# Does the mountpoint exist?
if [ ! -e "/Volumes/EFI" ]; then
mkdir -p "/Volumes/EFI"
fi
# Mount '/Volumes/EFI' using the correct format type
if [ "$( fstyp "${targetDisk}"s1 | grep hfs )" ]; then
"$scriptDir"InstallLog.sh "${installerVolume}" "Mounting ${targetDisk}s1 as /Volumes/EFI"
mount_hfs "${targetDisk}"s1 "/Volumes/EFI"
# Mount '/Volumes/EFI' using the correct format type
if [ "$( fstyp "${targetDisk}"s1 | grep hfs )" ]; then
"$scriptDir"InstallLog.sh "${installerVolume}" "Mounting ${targetDisk}s1 as /Volumes/EFI."
mount_hfs "${targetDisk}"s1 "/Volumes/EFI"
fi
if [ "$( fstyp "${targetDisk}"s1 | grep msdos )" ]; then
"$scriptDir"InstallLog.sh "${installerVolume}" "Mounting ${targetDisk}s1 as /Volumes/EFI."
mount_msdos -u 0 -g 0 "${targetDisk}"s1 "/Volumes/EFI"
fi
else
"$scriptDir"InstallLog.sh "${installerVolume}" "Target volume doesn't have an EFI system partition."
fi
if [ "$( fstyp "${targetDisk}"s1 | grep msdos )" ]; then
"$scriptDir"InstallLog.sh "${installerVolume}" "Mounting ${targetDisk}s1 as /Volumes/EFI"
mount_msdos -u 0 -g 0 "${targetDisk}"s1 "/Volumes/EFI"
fi
exit 0
trunk/package/Scripts/Sub/CheckProceed.sh
66
77
88
9
10
11
912
1013
1114
......
2629
2730
2831
29
3032
3133
3234
3335
34
35
36
36
3737
3838
39
4039
4140
4241
4342
44
45
46
43
4744
4845
46
47
48
49
50
51
4952
50
51
52
53
54
55
56
57
58
59
53
54
55
56
57
58
59
6060
61
6261
62
6363
6464
6565
# Checks the selected volume is present and the disk is partitioned
# Now also check for another existing Chameleon installation on the same disk.
# Exit with 0 to indicate okay to proceed, no problems.
# Exit with 1 to indicate okay to proceed, but target disk doesn't have EFI system partition.
# Exit with 2 to indicate not to proceed.
# Receives targetVolume: Volume to install to (will be '/Volumes/EFI' if EFI install)
# Receives targetDevice: Stores device number, for example /dev/disk2s1.
exit 9
fi
# Does target volume exist?
if [ -z "$targetVolume" ]; then
echo "*** Cannot find the volume. Exiting."
"$scriptDir"InstallLog.sh "${installerVolume}" "FAIL: Cannot file the volume: $targetVolume."
exit 1
#else
#echo "DEBUG: Confirming target volume exists"
exit 2
fi
# Does target volume use slices?
if [ "$targetDevice" = "$targetDevice#*disk*s" ]; then
echo "*** ERROR Volume does not use slices. Exiting."
"$scriptDir"InstallLog.sh "${installerVolume}" "FAIL: $targetVolume doesn't use slices."
exit 1
#else
#echo "DEBUG: Confirming target device uses slices"
exit 2
fi
# Check to find if an EFI system partition exists on the disk.
# This is used in two cases:
# A) When checking for existing Chameleon installations.
# B) When the user chooses the EFI system partition install option,
# and installing to a 'small' HFS device like a 1GB USB flash
# drive which won't have an EFI System Partition.
# Add check for installing to a 'small' HFS device like a
# 1GB USB flash drive which won't have an EFI System Partition.
if [ "$targetVolume" = "/Volumes/EFI" ]; then
# Take target device and check slice 1 matches partition named "EFI"
stripped=$( echo ${targetDevice#/dev/} )
if [ ! $(echo ${stripped#*disk*s}) = 1 ]; then
stripped=$( echo ${stripped%s*})"s1"
fi
if [ ! $( diskutil list | grep ${stripped} | awk {'print $2'} ) = "EFI" ]; then
#echo "DEBUG: *** The selected volume doesn't have an EFI System Partition. Exiting."
# Take target device and check if slice 1 is not named "EFI"
stripped=$( echo ${targetDevice#/dev/} )
if [ ! $(echo ${stripped#*disk*s}) = 1 ]; then
stripped=$( echo ${stripped%s*})"s1"
fi
if [ ! $( diskutil list | grep ${stripped} | awk {'print $2'} ) = "EFI" ]; then
if [ "$targetVolume" = "/Volumes/EFI" ]; then
"$scriptDir"InstallLog.sh "${installerVolume}" "FAIL: Selected disk does not have an EFI System Partition."
exit 1
fi
exit 1
fi
exit 0
trunk/package/Resources/ja.lproj/Description.html
3434
3535
3636
37
3837
3938
4039
<p class="p1">- Automatic P-State &amp; C-State generation for native power management.</p>
<p class="p1">- Message logging.</p>
<p class="p3"><br></p>
<p class="p3"><br></p>
<p class="p1">The code is released under version 2 of the Gnu Public License.</p>
<p class="p4"><span class="s2"><a href="http://forge.voodooprojects.org/p/chameleon/">http://forge.voodooprojects.org/p/chameleon</a></span></p>
<p class="p2"><br></p>
trunk/package/Resources/he.lproj/Description.html
3434
3535
3636
37
3837
3938
4039
<p class="p1">- Automatic P-State &amp; C-State generation for native power management.</p>
<p class="p1">- Message logging.</p>
<p class="p3"><br></p>
<p class="p3"><br></p>
<p class="p1">The code is released under version 2 of the Gnu Public License.</p>
<p class="p4"><span class="s2"><a href="http://forge.voodooprojects.org/p/chameleon/">http://forge.voodooprojects.org/p/chameleon</a></span></p>
<p class="p2"><br></p>
trunk/package/Resources/id.lproj/Description.html
3434
3535
3636
37
3837
3938
4039
<p class="p1">- Automatic P-State &amp; C-State generation for native power management.</p>
<p class="p1">- Message logging.</p>
<p class="p3"><br></p>
<p class="p3"><br></p>
<p class="p1">The code is released under version 2 of the Gnu Public License.</p>
<p class="p4"><span class="s2"><a href="http://forge.voodooprojects.org/p/chameleon/">http://forge.voodooprojects.org/p/chameleon</a></span></p>
<p class="p2"><br></p>
trunk/package/Resources/id.lproj/Localizable.strings
4545
4646
4747
48
48
4949
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
5066
5167
5268
......
299315
300316
301317
302
318
303319
304320
305321
......
307323
308324
309325
310
326
311327
312328
313329
// Modules
// ----------------------------------------------------------------------------
"Module_title" = "Modul Chameleon";
"Module_description" = "Sistem modul terintegrasi dalam Chameleon memungkinkan pengguna atau programmer untuk memperluas fungsionalitas dasar Chameleon tanpa perlu mengganti file master boot tersebut.";
"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";
"AMDGraphicsEnabler_description" = "Kode GraphicsEnabler ATI ( > r784) yang telah dideportasi ke modul.
Kode ini tidak mendukung adanya 'legacy' dari kartu VGA ATI.
Jika kartu VGA HD anda didukung pada kode sebelumnya dan menemukan kejanggalan dengan kode ini (masalah), harap laporkan ke:
http://forge.voodooprojects.org/p/chameleon/issues/
Hal yang sama berlaku pada kartu VGA yang belum didukung didalam kode ini.
Hanya kartu VGA yang dikenali dan bekerja dengan baik yang akan ditambahkan.";
"ATiGraphicsEnabler_title" = "ATiGraphicsEnabler";
"ATiGraphicsEnabler_description" = "KOde GraphicsEnabler ATI ( < r784) yang telah dideportasi ke modul.
Dukungakn untuk kartu VGA 'legacy'...
Berdasarkan karya Meklort.";
"IntelGraphicsEnabler_title" = "IntelGraphicsEnabler";
"IntelGraphicsEnabler_description" = "Mengaktifkan sebagian kartu Intel untuk digunakan tanpa patch/driver apapun, sebagian besar untuk yang versi 'mobile'.";
"klibc_title" = "klibc";
"klibc_description" = "Modul ini menyediakan librari standar c kepada modul untuk menyambung jika librari yang disediakan oleh chameleon kurang memadai.
Biasanya digunakan oleh librari uClibc++.
// Resolution
"Resolution_title" = "Resolusi";
"Resolution_description" = "Mengatur resolusi layar anda";
"Resolution_description" = "Set one resolution to use.";
// Video
"Video_title" = "Video";
// KeyLayout
"KeyLayout_title" = "Layout keyboard";
"KeyLayout_description" = "Pilihan layout keyboard atau pilih 'None' jika menggunakan keyboard standar.";
"KeyLayout_description" = "Select one keylayout to use. This will also install the Keylayout module and keymaps.";
// Themes
"Themes_title" = "Tema";
trunk/package/Resources/el.lproj/Description.html
3434
3535
3636
37
3837
3938
4039
<p class="p1">- Automatic P-State &amp; C-State generation for native power management.</p>
<p class="p1">- Message logging.</p>
<p class="p3"><br></p>
<p class="p3"><br></p>
<p class="p1">The code is released under version 2 of the Gnu Public License.</p>
<p class="p4"><span class="s2"><a href="http://forge.voodooprojects.org/p/chameleon/">http://forge.voodooprojects.org/p/chameleon</a></span></p>
<p class="p2"><br></p>
trunk/package/Resources/ar.lproj/Description.html
3434
3535
3636
37
3837
3938
4039
<p class="p1">- Automatic P-State &amp; C-State generation لادارة الطاقة كما يجب ان يكون .</p>
<p class="p1">- Message logging.</p>
<p class="p3"><br></p>
<p class="p3"><br></p>
<p class="p1">هذا البرنامج صدر تحت رخضة الاصدار الثانى الهام ل Gnu .</p>
<p class="p4"><span class="s2"><a href="http://forge.voodooprojects.org/p/chameleon/">http://forge.voodooprojects.org/p/chameleon</a></span></p>
<p class="p2"><br></p>
trunk/package/Resources/en.lproj/Description.html
3434
3535
3636
37
3837
3938
4039
<p class="p1">- Automatic P-State &amp; C-State generation for native power management.</p>
<p class="p1">- Message logging.</p>
<p class="p3"><br></p>
<p class="p3"><br></p>
<p class="p1">The code is released under version 2 of the Gnu Public License.</p>
<p class="p4"><span class="s2"><a href="http://forge.voodooprojects.org/p/chameleon/">http://forge.voodooprojects.org/p/chameleon</a></span></p>
<p class="p2"><br></p>
trunk/package/Resources/en.lproj/Localizable.strings
1818
1919
2020
21
21
2222
2323
2424
......
4444
4545
4646
47
47
4848
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
4966
5067
5168
5269
5370
5471
55
56
57
72
5873
5974
60
61
62
75
76
6377
6478
6579
6680
67
81
6882
6983
7084
......
300314
301315
302316
303
317
304318
305319
306320
......
308322
309323
310324
311
325
312326
313327
314328
"New_description" = "Backup an existing /Extra folder, if found on the target partition. A new one will be created if any options are chosen from the installer, other than the Bootloader.";
"Upgrade_title" = "Upgrade";
"Upgrade_description" = "Merge an existing /Extra folder, if found on the target, with any options chosen from the installer, other than the Bootloader.";
"Upgrade_description" = "Merge an existing /Extra folder, if found on the target, with any options chosen from the installer, other than the Bootloader. The original /Extra folder will be backed up.";
// ============================================================================
// 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. ";
"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";
"AMDGraphicsEnabler_description" = "The GraphicsEnabler ATI code ( > r784) ported to a module.
This code has no support for 'legacy' ATI cards.
If your HD card was supported on the old code and you find
it missing on this, please file an issue at:
http://forge.voodooprojects.org/p/chameleon/issues/
The same applies to any missing card on this code.
Only cards known to work will be added.";
"ATiGraphicsEnabler_title" = "ATiGraphicsEnabler";
"ATiGraphicsEnabler_description" = "The GraphicsEnabler ATI code ( < r784) ported to a module.
Support for 'legacy' cards...
Based on Meklort's work.";
"IntelGraphicsEnabler_title" = "IntelGraphicsEnabler";
"IntelGraphicsEnabler_description" = "Enables a few Intel cards to be used out of the box, mostly mobile ones.";
"klibc_title" = "klibc";
"klibc_description" = "This module provides a standard c library for modules to link to if the library provided by chameleon is insufficient.
This is currently only used by the uClibc++ library.
Source: http://www.kernel.org/pub/linux/libs/klibc/";
"AutoReso_title" = "Resolution";
"AutoReso_description" = "This module reads the edid information from the monitor attached to the main display.
The module is currently not integrated into trunk and has minimal uses as it stands.
Additionally, the module will patch the vesa modes available in pre intel hd graphics cards to provide proper resolution while booting.";
"AutoReso_description" = "This module reads the edid information from the monitor attached to the main display. The module is currently not integrated into trunk and has minimal uses as it stands. Additionally, the module will patch the vesa modes available in pre intel hd graphics cards to provide proper resolution while booting.";
"uClibc_title" = "uClibc++";
"uClibc_description" = "This module provides a minimalistic c++ runtime library for use in other modules.
This does not provide functionality by itself, instead it is used to allow for the c++ language to be used in other modules.
Please note that rtti and exceptions has both been disabled.
"uClibc_description" = "This module provides a minimalistic c++ runtime library for use in other modules. This does not provide functionality by itself, instead it is used to allow for the c++ language to be used in other modules.
*Please note that rtti and exceptions has both been disabled.
Source: http://cxx.uclibc.org/
Dependencies: klibc";
"Keylayout_title" = "Keylayout";
"Keylayout_description" = "This module permits the user to define the keyboard key mappings.";
"Keylayout_description" = "This module permits the user to define the keyboard key mappings. This module and associated keymaps are installed by default.";
// ============================================================================
// Resolution
"Resolution_title" = "Resolution";
"Resolution_description" = "Set one resolution to use, or select 'None' if you don't want to select a resolution.";
"Resolution_description" = "Set one resolution to use.";
// Video
"Video_title" = "Video";
// KeyLayout
"KeyLayout_title" = "KeyLayout";
"KeyLayout_description" = "Set one keylayout to use, or select 'None' if you don't want to select a keylayout.";
"KeyLayout_description" = "Select one keylayout to use. This will also install the Keylayout module and keymaps.";
// Themes
"Themes_title" = "Themes";
trunk/package/Resources/pt-PT.lproj/Description.html
3434
3535
3636
37
3837
3938
4039
<p class="p1">- P-State automático &amp; Geração C-State para gestão de energia nativa.</p>
<p class="p1">- Protocolo Mensagens.</p>
<p class="p3"><br></p>
<p class="p3"><br></p>
<p class="p1">Este código é distribuido sobre os termos da versão 2 da Gnu Public License.</p>
<p class="p4"><span class="s2"><a href="http://forge.voodooprojects.org/p/chameleon/">http://forge.voodooprojects.org/p/chameleon</a></span></p>
<p class="p2"><br></p>
trunk/package/Resources/pt-PT.lproj/Localizable.strings
4444
4545
4646
47
47
4848
4949
5050
......
300300
301301
302302
303
303
304304
305305
306306
......
308308
309309
310310
311
311
312312
313313
314314
// 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.";
"klibc_title" = "klibc";
// Resolution
"Resolution_description" = "Set one resolution to use.";
// Video
"Video_title" = "Video";
// KeyLayout
"KeyLayout_title" = "KeyLayout";
"KeyLayout_description" = "Configura o layout de teclado a ser usado.";
"KeyLayout_description" = "Select one keylayout to use. This will also install the Keylayout module and keymaps.";
// Themes
"Themes_title" = "Temas";
trunk/package/Resources/bs.lproj/Description.html
3434
3535
3636
37
3837
3938
4039
<p class="p1">- Automatsko generisanje P-State i C-State za izvorno upravljanje energijom.</p>
<p class="p1">- Prijava porukama.</p>
<p class="p3"><br></p>
<p class="p3"><br></p>
<p class="p1">Kod je objavljen pod verzijom 2 GNU javna licenca.</p>
<p class="p4"><span class="s2"><a href="http://forge.voodooprojects.org/p/chameleon/">http://forge.voodooprojects.org/p/chameleon</a></span></p>
<p class="p2"><br></p>
trunk/package/Resources/es.lproj/Description.html
3434
3535
3636
37
3837
3938
4039
<p class="p1">- Generación automática de P-States &amp; C-States para gestión de energía nativa.</p>
<p class="p1">- Registro de Mensajes.</p>
<p class="p3"><br></p>
<p class="p3"><br></p>
<p class="p1">El código está liberado bajo la versión 2 de la Licencia Pública GNU.</p>
<p class="p4"><span class="s2"><a href="http://forge.voodooprojects.org/p/chameleon/">http://forge.voodooprojects.org/p/chameleon</a></span></p>
<p class="p2"><br></p>
trunk/package/Resources/es.lproj/Localizable.strings
9090
9191
92
9392
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
94110
95111
96112
97113
98
99114
......
618652
619653
620
621654
"AMDGraphicsEnabler_title" = "AMDGraphicsEnabler";+
http://forge.voodooprojects.org/p/chameleon/issues/+
+
"ATiGraphicsEnabler_title" = "ATiGraphicsEnabler";+
Soporte para tarjetas ATI 'legacy'...+
Basado en el trabajo de Meklort.";+
+
"IntelGraphicsEnabler_title" = "IntelGraphicsEnabler";+
+
"klibc_title" = "klibc";
"KeyLayout_title" = "KeyLayout";
"KeyLayout_description" = "Establecer un keylayout a utilizar, o seleccione 'Ninguno' si no desea seleccionar un keylayout.";+"KeyLayout_description" = "Select one keylayout to use. This will also install the Keylayout module and keymaps.";
trunk/package/Resources/fr.lproj/Description.html
3434
3535
3636
37
3837
3938
4039
<p class="p1">- Génération automatique des P-State &amp; C-State pour une gestion de l'alimentation native.</p>
<p class="p1">- Journalisation des messages console.</p>
<p class="p3"><br></p>
<p class="p3"><br></p>
<p class="p1">Le code est publié sous la version 2 de la licence GPL (Gnu Public License).</p>
<p class="p4"><span class="s2"><a href="http://forge.voodooprojects.org/p/chameleon/">http://forge.voodooprojects.org/p/chameleon</a></span></p>
<p class="p2"><br></p>
trunk/package/Resources/fr.lproj/Localizable.strings
4444
4545
4646
47
47
4848
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
4966
5067
5168
......
300317
301318
302319
303
320
304321
305322
306323
......
308325
309326
310327
311
328
312329
313330
314331
// 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";
Ce code ne supporte pas les anciennes ('legacy') cartes.
mais qu'elle est manquante sur celui-ci, svp reportez-le sur :
http://forge.voodooprojects.org/p/chameleon/issues/
"ATiGraphicsEnabler_title" = "ATiGraphicsEnabler";
Support des anciennes ('legacy') cartes.
"IntelGraphicsEnabler_title" = "IntelGraphicsEnabler";
"klibc_title" = "klibc";
// Resolution
"Resolution_description" = "Set one resolution to use.";
// Video
// KeyLayout
"KeyLayout_title" = "Mappage de clavier";
"KeyLayout_description" = "Selectionnez un mappage de clavier a utiliser. Selectonnez 'Aucun' si vous ne voulez pas utiliser de mappage de clavier.";
"KeyLayout_description" = "Select one keylayout to use. This will also install the Keylayout module and keymaps.";
// Themes
trunk/package/Resources/mk.lproj/Description.html
3434
3535
3636
37
3837
3938
4039
<p class="p1">- Автоматско генерирање на P-State &amp; C-State за природна контрола на процесорот.</p>
<p class="p1">- Логирање на пораки.</p>
<p class="p3"><br></p>
<p class="p3"><br></p>
<p class="p1">Овој код е објавен под верзијата 2 од Gnu Public License.</p>
<p class="p4"><span class="s2"><a href="http://forge.voodooprojects.org/p/chameleon/">http://forge.voodooprojects.org/p/chameleon</a></span></p>
<p class="p2"><br></p>
trunk/package/Resources/nl.lproj/Description.html
3434
3535
3636
37
3837
3938
4039
<p class="p1">- Automatisch P-State's &amp; C-State's aangemaakt voor automatisch stroombeheer.</p>
<p class="p1">- Bericht logboek.</p>
<p class="p3"><br></p>
<p class="p3"><br></p>
<p class="p1">De code is vrijgegeven onder versie 2 van de Gnu Public License.</p>
<p class="p4"><span class="s2"><a href="http://forge.voodooprojects.org/p/chameleon/">http://forge.voodooprojects.org/p/chameleon</a></span></p>
<p class="p2"><br></p>
trunk/package/Resources/hr.lproj/Description.html
3434
3535
3636
37
3837
3938
4039
<p class="p1">- Automatsko generiranje P-State i C-State za izvorno upravljanje energijom.</p>
<p class="p1">- Prijava porukama.</p>
<p class="p3"><br></p>
<p class="p3"><br></p>
<p class="p1">Kod je objavljen pod verzijom 2 GNU javna licenca.</p>
<p class="p4"><span class="s2"><a href="http://forge.voodooprojects.org/p/chameleon/">http://forge.voodooprojects.org/p/chameleon</a></span></p>
<p class="p2"><br></p>
trunk/package/Resources/ko.lproj/Description.html
3939
4040
4141
42
4342
4443
4544
<p class="p1">- <span class="s1">자동</span> P-State &amp; C-State <span class="s1">생성기능으로 자연적인 전원 관리</span>.</p>
<p class="p3"><span class="s2">- </span>메세지 로깅<span class="s2">.</span></p>
<p class="p4"><br></p>
<p class="p4"><br></p>
<p class="p3">이 코드는 <span class="s2">GNU </span>일반 공중 사용 허가서<span class="s2">(GPL)</span> 버전 <span class="s2">2 </span>아래 공개 되었습니다<span class="s2">.</span></p>
<p class="p5"><span class="s5">(</span><span class="s6">영문</span><span class="s5">) <a href="http://forge.voodooprojects.org/p/chameleon/"><span class="s7">http://forge.voodooprojects.org/p/chameleon</span></a></span></p>
<p class="p2"><br></p>
trunk/package/Resources/pl.lproj/Description.html
3434
3535
3636
37
3837
3938
4039
<p class="p1">- Automatyczne generowanie stanów P-State &amp; C-State w celu uzyskania natywnego zarządzania energią.</p>
<p class="p1">- Logownie komunikatów.</p>
<p class="p3"><br></p>
<p class="p3"><br></p>
<p class="p1">Kod jest publikowany z licencją Gnu Public License w wersji 2.</p>
<p class="p4"><span class="s2"><a href="http://forge.voodooprojects.org/p/chameleon/">http://forge.voodooprojects.org/p/chameleon</a></span></p>
<p class="p2"><br></p>
trunk/package/Resources/pl.lproj/Localizable.strings
4545
4646
4747
48
48
4949
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
5067
5168
5269
......
301318
302319
303320
304
321
305322
306323
307324
......
309326
310327
311328
312
329
313330
314331
315332
// Modules
// ----------------------------------------------------------------------------
"Module_title" = "ModuBy";
"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";
"AMDGraphicsEnabler_description" = "The GraphicsEnabler ATI code ( > r784) ported to a module.
This code has no support for 'legacy' ATI cards.
If your HD card was supported on the old code and you find
it missing on this, please file an issue at:
http://forge.voodooprojects.org/p/chameleon/issues/
The same applies to any missing card on this code.
Only cards known to work will be added.";
"ATiGraphicsEnabler_title" = "ATiGraphicsEnabler";
"ATiGraphicsEnabler_description" = "The GraphicsEnabler ATI code ( < r784) ported to a module.
Support for 'legacy' cards...
Based on Meklort's work.";
"IntelGraphicsEnabler_title" = "IntelGraphicsEnabler";
"IntelGraphicsEnabler_description" = "Enables a few Intel cards to be used out of the box, mostly mobile ones.";
"klibc_title" = "klibc";
Aktualnie jest u|ywane tylko przez bibliotek uClibc++.
// Resolution
"Resolution_title" = "Rozdzielczo[";
"Resolution_description" = "Ustaw rozdzielczo[ ekranu dla twojego monitora.";
"Resolution_description" = "Set one resolution to use.";
// Video
"Video_title" = "Grafika";
// KeyLayout
"KeyLayout_title" = "KeyLayout";
"KeyLayout_description" = "Wybierz ukBad klawiatury, lub wybierz '{aden', je[li nie chcesz wybiera.";
"KeyLayout_description" = "Select one keylayout to use. This will also install the Keylayout module and keymaps.";
// Themes
"Themes_title" = "Tematy";
trunk/package/Resources/it.lproj/Description.html
3434
3535
3636
37
3837
3938
4039
<p class="p1">- Generazione automatica dei P-State e C-State.</p>
<p class="p1">- Log dei messaggi.</p>
<p class="p3"><br></p>
<p class="p3"><br></p>
<p class="p1">Il codice è rilasciato sotto la versione 2 della licenza GPL (Gnu Public License).</p>
<p class="p4"><span class="s2"><a href="http://forge.voodooprojects.org/p/chameleon/">http://forge.voodooprojects.org/p/chameleon</a></span></p>
<p class="p2"><br></p>
trunk/package/Resources/it.lproj/Localizable.strings
4444
4545
4646
47
47
4848
4949
5050
......
300300
301301
302302
303
303
304304
305305
306306
......
308308
309309
310310
311
311
312312
313313
314314
// Moduli
// ----------------------------------------------------------------------------
"Module_title" = "Moduli per Chameleon";
"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.";
"klibc_title" = "klibc";
"klibc_description" = "Questo modulo fornisce una libreria c standard ai moduli per collegarli alla libreria fornita da chameleon nel caso essa non sia sufficiente.
// Resolution
"Resolution_title" = "Risoluzioni";
"Resolution_description" = "Imposta la risoluzione del tuo monitor, o seleziona 'Nessuna' se non vuoi impostare la risoluzione.";
"Resolution_description" = "Set one resolution to use.";
// Video
"Video_title" = "Video";
// KeyLayout
"KeyLayout_title" = "Mappatura tastiera";
"KeyLayout_description" = "Seleziona la mappatura da utilizzare";
"KeyLayout_description" = "Select one keylayout to use. This will also install the Keylayout module and keymaps.";
// Themes
"Themes_title" = "Temi";
trunk/package/Resources/pt-BR.lproj/Description.html
3434
3535
3636
37
3837
3938
4039
<p class="p1">- P-State automático &amp; Geração C-State para gestão de energia nativa.</p>
<p class="p1">- Protocolo Mensagens.</p>
<p class="p3"><br></p>
<p class="p3"><br></p>
<p class="p1">Este código é distribuido sobre os termos da versão 2 da Gnu Public License.</p>
<p class="p4"><span class="s2"><a href="http://forge.voodooprojects.org/p/chameleon/">http://forge.voodooprojects.org/p/chameleon</a></span></p>
<p class="p2"><br></p>
trunk/package/Resources/pt-BR.lproj/Localizable.strings
4444
4545
4646
47
47
4848
4949
5050
......
300300
301301
302302
303
303
304304
305305
306306
......
308308
309309
310310
311
311
312312
313313
314314
// 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.";
"klibc_title" = "klibc";
// Resolution
"Resolution_description" = "Set one resolution to use.";
// Video
"Video_title" = "Video";
// KeyLayout
"KeyLayout_title" = "KeyLayout";
"KeyLayout_description" = "Configura o layout de teclado a ser usado.";
"KeyLayout_description" = "Select one keylayout to use. This will also install the Keylayout module and keymaps.";
// Themes
"Themes_title" = "Temas";
trunk/package/Resources/sr.lproj/Description.html
3434
3535
3636
37
3837
3938
4039
<p class="p1">- Automatsko generisanje P-State i C-State za izvorno upravljanje energijom.</p>
<p class="p1">- Prijava porukama.</p>
<p class="p3"><br></p>
<p class="p3"><br></p>
<p class="p1">Kod je objavljen pod verzijom 2 GNU javna licenca.</p>
<p class="p4"><span class="s2"><a href="http://forge.voodooprojects.org/p/chameleon/">http://forge.voodooprojects.org/p/chameleon</a></span></p>
<p class="p2"><br></p>
trunk/package/Resources/sr.lproj/Localizable.strings
4949
5050
5151
52
52
5353
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
5470
5571
5672
......
351370
352371
353372
354
373
355374
356375
357376
......
359378
360379
361380
362
381
363382
364383
365384
// Modules
// ----------------------------------------------------------------------------
"Module_title" = "Chameleon Moduli";
"Module_description" = "Moduli ugraeni u sistem Cameleona omoguavaju korisniku ili programeru proairenje funkcionalnosti Cameleon jezgre bez zamene glavnog boot fajla. ";
"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";
"AMDGraphicsEnabler_description" = "Kod za ATI grafi+ku aktivaciju ( > r784) prenesen na modul.
Ovaj kod nema podraku za 'legacy' ATI kartice.
Ako je Vaaa HD kartica bila podr~ana na starom kodu i nedostaje vam na ovom, molimo poaaljite upit na:
http://forge.voodooprojects.org/p/chameleon/issues/
Isto vrijedi i za bilo koju drugu karticu kojoj nedostaje ovaj kod.
Karticama za koje znamo da rade, biti e dodan kod.";
"ATiGraphicsEnabler_title" = "ATiGraphicsEnabler";
"ATiGraphicsEnabler_description" = "Kod za ATI grafi+ku aktivaciju ( > r784) prenesen na modul.
Podraka za 'legacy' karte...
Bazirane na Meklortu rade.";
"IntelGraphicsEnabler_title" = "IntelGraphicsEnabler";
"IntelGraphicsEnabler_description" = "Uklju+uje nekoliko Intel kartica koje se koriste out of the box, uglavnom mobilne.";
"klibc_title" = "klibc";
"klibc_description" = "Ovaj modul omoguava standard c biblioteku za module za povezivanje ako chameleon biblioteka nije dovoljna.
Ovo se trenutno koristi samo sa uClibc++ bibliotekom.
// Resolution
"Resolution_title" = "Resolution";
"Resolution_description" = "Postavlja rezoluciju ekrana za vaa monitor";
"Resolution_description" = "Set one resolution to use.";
// Video
"Video_title" = "Video";
// KeyLayout
"KeyLayout_title" = "KeyLayout";
"KeyLayout_description" = "Postavite jedan keylayout za koriaenje, ili odaberite "None" ako ne ~elite izabrati keylayout.";
"KeyLayout_description" = "Select one keylayout to use. This will also install the Keylayout module and keymaps.";
// Themes
"Themes_title" = "Themes";
trunk/package/Resources/ru.lproj/Description.html
3434
3535
3636
37
3837
3938
4039
<p class="p1">- Automatic P-State &amp; C-State generation for native power management.</p>
<p class="p1">- Message logging.</p>
<p class="p3"><br></p>
<p class="p3"><br></p>
<p class="p1">The code is released under version 2 of the Gnu Public License.</p>
<p class="p4"><span class="s2"><a href="http://forge.voodooprojects.org/p/chameleon/">http://forge.voodooprojects.org/p/chameleon</a></span></p>
<p class="p2"><br></p>
trunk/package/Resources/de.lproj/Description.html
3434
3535
3636
37
3837
3938
4039
<p class="p1">- Automatische P-State &amp; C-State generation f&uuml;r native power management.</p>
<p class="p1">- Message logging.</p>
<p class="p3"><br></p>
<p class="p3"><br></p>
<p class="p1">The code is released under version 2 of the Gnu Public License.</p>
<p class="p4"><span class="s2"><a href="http://forge.voodooprojects.org/p/chameleon/">http://forge.voodooprojects.org/p/chameleon</a></span></p>
<p class="p2"><br></p>
trunk/package/Resources/de.lproj/Localizable.strings
4545
4646
4747
48
48
4949
5050
5151
......
301301
302302
303303
304
304
305305
306306
307307
......
309309
310310
311311
312
312
313313
314314
315315
// Modules
// ----------------------------------------------------------------------------
"Module_title" = "Chameleon Module";
"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.";
"klibc_title" = "klibc";
// Resolution
"Resolution_description" = "Set one resolution to use.";
// Video
"Video_title" = "Vid