变色龙注解

本帖最后由 道奇兔 于 2011-9-28 18:56 编辑

「前言」

※(2010/10/05)修正某些選項的說明。

※(2010/11/03)基於最近自己在研究變色龍的源文件,對於參數項的瞭解又多了些,於是修正某些選項的說明。

※(2011/09/22)變色龍最近更新到 2.1svn,新增了一些參數。

如果只安裝好變色龍,不過只是勉強算進入了開啓蘋果的大門,
如果想要更進一步完善蘋果的功能,就不得不對 Extra 資料夾下的檔案花些功夫。
其中,Extra 資料夾下的 com.apple.Boot.plist 和 SMBIOS.plist 跟變色龍最為息息相關。
由於大家的需求各自不同,以下並不會有所謂最佳配置的方案。
請有興趣的朋友可以針對各個選項作增減以達到屬於自己的最佳配置。

再者,編輯 .plist 檔案可以使用以下幾個程式:

其中 文字編輯 與 Dashcode 是以純文字方式編輯。
而 Property List Editor 與 Xcode 是以表格方式編輯。
如果要使用 Xcode、Dashcode、Property List Editor,請打開 Mac 安裝光碟中 “選擇安裝” 資料夾,
就會看見 Xcode 的安裝程式,安裝完後開啓 .plist 就會預設以 Property List Editor 開啓。
而程式會預設安裝於系統根目錄下的 Developer 資料夾。
<ignore_js_op> <ignore_js_op> <ignore_js_op> 
這是以 文字編輯 與 Dashcode 是開啓 .plist 檔案的樣子:
<ignore_js_op>

這是以 Property List Editor 與 Xcode 是開啓 .plist 檔案的樣子:

<ignore_js_op>

「com.apple.Boot.plist 說明」

com.apple.Boot.plist 的功能在於提供許多變色龍的功能設定,
由於變色龍的功能越來越強大,可以使用的功能也越來越多。選擇自己想要的參數來打造自己的最佳配置。

以下參數以 Chameleon 2.1svn 為準,
如果你是使用 AsereBLN Booter 或者 PC EFI 甚至是舊版的 Chameleon 請不要直接套用。

Graphics Mode=1024x768x32
設定開機時的顯示解析度,寬度x高度x色彩深度。

Theme=Default
就算不是內建圖形介面,依舊可以使用此選項來設定圖形化界面 (11/03)
設定圖形化界面的佈景主題,配合 /Extra/Theme/Default。
其中 Default 是佈景主題名稱,可以變更為任意第三方佈景主題名稱。

Wait=Yes(No)
啓用點擊按鍵後,才開始啓動內核。

Quiet Boot=Yes(No)
啓用開機時不顯示文字或圖形選單,直接進入系統。

Timeout=8
設定開機選擇啓動分區的秒數,時間到會以預設分區開機。
在圖形化介面上,此參數會有失效或延遲的現象。

Instant Menu=Yes
啓用強制顯示分區選擇選單。

Default Partition=hd(x,y)|UUID|"Label"
設定預設開機分區,可使用代碼、UUID、標籤表示。
x 代表磁碟碼,y 代表分區碼。

Hide Partition=hd(x,y)|UUID|"Label"
設定隱藏磁碟分區,可使用代碼、UUID、標籤表示,
亦可以添加多個參數以隱藏多個分區,使用空白鍵作分隔(11/03)。
x 代表磁碟碼,y 代表分區碼。

Rename Partition=hd(x,y)|UUID|"Label" <alias>
設定磁碟分區的名稱。可使用代碼、UUID、標簽表示,
亦可以添加多個參數以命名多個分區,使用空白鍵作分隔(11/03)。
x 代表磁碟碼,y 代表分區碼,<alias> 代表修改名稱(因為使用空白鍵作分隔,所以命名不可包含空白鍵)(11/03)。

GUI=Yes(No)
設定啓用單圖形化界面的開機選單。(預設是 Yes)

Boot Banner=Yes(No)
啓用在圖形化介面顯示變色龍版本等訊息文字橫幅。(預設是 Yes)

Legacy Logo=Yes(No)
啓用在進入系統化面顯示原蘋果 Logo 。(預設是 No)
以下是 Yes 與 No 的差別:

<ignore_js_op> <ignore_js_op> 
PCIRootUID=0(11/03 看了源文件後,發現選項並非說明書上的 PCIRoot)
設定 PCI0 的值,可解決 UUID 錯誤。(預設是 0)【變色龍已經可以自行偵測】
請對照 DSDT 裡在 Device (PCI0) 位置下方的 Name (_UID, ?)
如果為 Name (_UID, 0x01) 或 Name (_UID, One) 就填上 1(一般技嘉的主機板都是這個值)
如果為 Name (_UID, 0x00) 或 Name (_UID, Zero) 就填上 0 (華碩的主機板有可能是這個值)

SystemID=
設定開機 UUID。

RestartFix=Yes
啓用重新啓動修正功能,建議開啓(11/03)。

System-Type=(1),2,3
1=桌上型,2=筆記型,3=伺服器、工作站。(預設是 1)
        iMac                1
        MacBook        2
        Mac Pro        3

DropSSDT=Yes(No)
啓用略過 BIOS 中的 SSDT,讀取 Extra 資料中的 SSDT 資料。(預設是 No)

GenerateCStates=Yes
啓用生成 CPU C-State 功能。
C-State 是管理 CPU 電源狀態,可以讓 CPU 在閒置狀態下處於不同低功耗狀態。

GeneratePStates=Yes
啓用生成 CPU P-State 功能。
P-State 是管理 CPU 性能狀態,可以讓 CPU 在不同覆載量下改變功耗。
此項目跟之前熱烈討論修改 DSDT 達到 CPU 降頻(Speedstep)是同樣功用。

EnableC2State=Yes(11/03)
啓用 C2 State 功能。
強制生成 C2 State 是管理 CPU 電源狀態,可以讓 CPU 在閒置狀態下處於低功耗狀態。

EnableC3State=Yes(11/03)
啓用 C3 State 功能。
強制生成 C3 State 是管理 CPU 電源狀態,可以讓 CPU 在閒置狀態下處於低功耗狀態。

EnableC4State=Yes(11/03)
啓用 C4 State 功能。
強制生成 C4 State 是管理 CPU 電源狀態,可以讓 CPU 在閒置狀態下處於低功耗狀態。
一般來說數字越大其節能效果愈佳,不過能不能突破主機板與 CPU 限制強制開啓我不確定。
如果有朋友知道測試方法,可以提供分享討論。

GraphicsEnabler=Yes(No)
啓用顯示偵測卡功能。(預設是 No)
此功能可以取代在 DSDT 添加的顯示卡參數。

UseNvidiaROM=Yes(No)
啓用 Nvidia EEPRom 功能,可以在不刷顯示卡 BIOS 的情況下使用修改的 Rom。(預設是 No)
請命名為 “VenderID_DeviceID.rom” 放置 Extra 資料夾。如:10de_0614.rom。

UseAtiROM=Yes(No)
啓用 ATI EEPRom 功能,可以在不刷顯示卡 BIOS 的情況下使用修改的 Rom。(預設是 No)
請命名為 “VenderID_DeviceID.rom” 放置 Extra 資料夾。如:1002_6899.rom。

VBIOS=Yes(No) 
僅針對 NVIDIA 顯示卡的參數選項,所以 ATI 顯示卡請不要使用。(11/03)
啓用讀取顯示卡參數,可在顯示卡資訊中顯示 ROM 修正版 資訊。(預設是 No)
如果在 Extra 資料夾放置顯示卡 Rom 檔案,版本號會變成顯示 Rom 檔路徑。
如:/Extra/10de_0602.rom

EthernetBuiltIn=Yes(No)
啓用網路卡內建設定偵測功能。(預設是 No)
此功能只是讓網路卡可以識別為內建,並沒有驅動的功能。

USBBusFix=Yes(No)
啓用下方三項功能修正。(預設是 No)
沒有特殊需求下,建議不要開啓此功能。

EHCIacquire=Yes(No)
啓用 EHCI 功能修正。(預設是 No)
沒有特殊需求下,建議不要開啓此功能。

UHCIreset=Yes(No)
啓用 UHCI 功能修正。(預設是 No)
沒有特殊需求下,建議不要開啓此功能。

USBLegacyOff=Yes(No)
啓用 USB 原生功能修正。(預設是 No)
沒有特殊需求下,建議不要開啓此功能。

Wake=Yes(No)
啓用睡眠喚醒功能。(預設是 Yes)

ForceHPET=Yes(No)
啓用強制 HPET 功能。(預設是 No)
此功能是提供給主機板 BIOS 無此項目者使用。

ForceWake=Yes(No)
啓用強制使用睡眠資料映像功能。(預設是 No)

SMBIOSdefaults=Yes(No)
啓用 smbios 的預設值。(預設是 No)

Scan Single Drive=Yes(No)
啓用掃描單一光碟機模式。(預設是 No)

Rescan=Yes
啓用光碟機重新掃描模式。

config=/Extra/com.apple.Boot.plist
設定 com.apple.Boot.plist 的位置。
com.apple.Boot.plist 置於預設位置 /com.apple.Boot.plist 與 /Extra/com.apple.Boot.plist 可不用作此設定。

SMBIOS=/Extra/SMBIOS.plist
設定 SMBIOS.plist 的位置。
SMBIOS.plist 置於預設位置 /SMBIOS.plist 與 /Extra/SMBIOS.plist 可不用作此設定。

DSDT=/Extra/DSDT.aml
設定 DSDT.aml 的位置。
DSDT.aml 置於預設位置 /DSDT.aml 與 /Extra/DSDT.aml 可不用作此設定。

md0=/Extra/Postboot.img
設定 Postboot.img 的位置。

WakeImage=/private/var/vm/sleepimage
設定睡眠資料映像檔案位置。

kext=/Extra/Extensions
設定驅動檔案 .kext 或 .mkext 所在資料夾的位置。

以下為 09/22 新增的參數。(2011/09/22)

UseKernelCache=Yes(No)
用 Lion 啟動進程並忽略 Extensions.mkext 檔案。若使用 RAID 安裝 Lion 務必開啟。(預設是 No)

ShowInfo=No
取消磁碟分卷與解析度細節顯示。

CSTUsingSystemIO=Yes
啟用新式生成 CPU C-State 功能。

AtiConfig=<cardcfg>
設定 ATI 顯示卡 Framebuffer,更有效驅動顯示卡。(如:AtiConfig=Uakari)

AtiPorts=<value>
設定 ATI 顯示卡接口數目。

display_0=<value>
寫入 Nvidia 顯示卡 NVDA,[email protected] 的 display-cfg 參數。

display_1=<value>
寫入 Nvidia 顯示卡 NVDA,[email protected] 的 display-cfg 參數。

「SMBIOS.plist 說明」

SMBIOS.plist 的功能在於捕足 Mac 中偵測或顯示錯誤的資訊。
諸如:處理器型號、記憶體規格、序號、Boot ROM 版本...等等。
目前變色龍已經支援幾乎所有的偵測功能,
也就是只要你不是很在乎這些資訊顯示,是可以不使用這個檔案。
或者,你只要想修改部份項目,也可以挑選想要的部份來應用。

SMfamily=MacPro (Mac) (MacBookPro)
設定產品的類型。
※ iMac 設定會影響音效卡使用時產生電流聲,如果有困擾請設定為 MacPro
        Mac Pro                MacPro
        iMac                        Mac
        MacBook Pro        MacBookPro

SMproductname=MacPro3,1 (iMac11,1) (MacBookPro6,1)
設定產品型號,須對應上方的產品類型。(此項目設定會影響處理器降頻的檔數的支援)
※ 非 Nehalem 系列處理器請不要設定為 MacPro4,1 會無法進入系統,請設定為 MacPro3,1 或其他。

SMmanufacturer=Apple Inc.
設定製造者。可以自行設定。

SMbiosvendor=Apple Inc.
設定 BIOS 供應商。可以自行設定。

SMboardmanufacturer=Apple Inc.
設定主機板製造者。可以自行設定。

SMboardproduct=Mac-F221BEC8
設定主機板型號。可以自行設定。
        MacPro3,1                        Mac-F42C88C8
        MacPro4,1                        Mac-F221BEC8
        MacPro5,1                        Mac-F221BEC8
        iMac10,1                        Mac-F2268DC8
        iMac11,1                        Mac-F2268DAE
        iMac11,2                        Mac-F2238AC8
        iMac12,2                        Mac-942B59F58194171B(08/05 更新)
        MacBookPro3,1                Mac-F4238BC8
        MacBookPro4,1                Mac-F42C89C8
        MacBookPro5,1                Mac-F42D86C8
        MacBookPro5,2                Mac-F2268EC8
        MacBookPro5,3                Mac-F22587C8
        MacBookPro5,5                Mac-F2268AC8
        MacBookPro6,1                Mac-F22589C8
        MacBookPro7,1                Mac-F222BEC8
        MacBookPro8,1                Mac-94245B3640C91C81(08/05 更新)

SMbiosversion=MP41.88Z.0081.B04.0903051113
設定 Bios 版本。可以自行設定。
        MacPro3,1                        MP31.88Z.006C.B05.0802291410
        MacPro4,1                        MP41.88Z.0081.B07.0910130729
        MacPro5,1                        MP51.88Z.007F.B03.1010071432(11/03 更新)
        iMac10,1                        IM101.88Z.00CC.B00.0909031926
        iMac11,1                        IM111.88Z.0034.B02.1003171314
        iMac11,2                        IM112.88Z.0057.B00.1005031455
        iMac12,2                        IM121.88Z.0047.B00.1102091756(08/05 更新)
        MacBookPro3,1                MBP31.88Z.0070.B07.0803051658
        MacBookPro4,1                MBP41.88Z.00C1.B00.0802091544
        MacBookPro5,1                MBP51.88Z.007E.B05.0803171226
        MacBookPro5,2                MBP52.88Z.008E.B05.0905042202
        MacBookPro5,3                MBP53.88Z.00AC.B03.0906151647
        MacBookPro5,5                MBP55.88Z.00AC.B03.0906151708
        MacBookPro6,1                MBP61.88Z.0057.B0C.1007261552
        MacBookPro7,1                MBP71.88Z.0039.B05.1003251322
        MacBookPro8,1                MBP81.88Z.0047.B04.1102071707(08/05 更新)

SMserial=CK916000000
設定序號。可以自行設定。
        MacPro3,1                        G88014V4XYK
        MacPro4,1                        G89093TK4PC
        MacPro5,1                        YM0330U7EUH
        iMac10,1                        W89412335PE
        iMac11,1                        W89470DZ5RU
        iMac11,2                        W8023G5TDB7
        iMac12,2                        C02FK06YDHJF(08/05 更新)
        MacBookPro3,1                W87480YBXAH
        MacBookPro4,1                W88198N6YJX
        MacBookPro5,1                W8841NP21G0
        MacBookPro5,2                W89234098YA
        MacBookPro5,3                W89213TF642
        MacBookPro5,5                W8923YDH66D
        MacBookPro6,1                C02CJ2DNDC79
        MacBookPro7,1                W80140U3ATM
        MacBookPro8,1                C02F9DHNDH2G(08/05 更新)

SMsystemversion=1.0

SMcputype=1793(1537)
設定處理器的類型。
        Core 2 Solo                257
        Core 2 Duo                769
        Core 2 Quad                1281
        Core i5                        1537
        Core i7                        1793

SMmaximalclock=2926
設定處理器之內頻(主頻)。
例如:紫米的 i7 930 2.8G
其數據應該是 內頻(主頻)= 外頻 X 倍頻
所以是 2793 = 133 X 21
然而,紫米把倍頻設到 22
所以是 2926 = 133 x 22
這些數據可以從 BIOS 中得到以及作設定。
或者使用 CPU-Z 亦可得到詳細數據。
內頻(主頻)= CPU Frequency
外頻 = Base Clock Frequency
倍頻 = CPU Clock Ratio

SMexternalclock=133
設定處理器的外頻。(解說同上)

SMbusspeed=4800
設定匯流排速度。
主機板上包裝上會有資料,也可以上官方網站查詢規格數據。

SMmemtype=24
設定記憶體規格。
        DDR2=19
        DDR3=24

SMmemspeed=1333
設定記憶體時脈。
        DDR2 667=667
        DDR2 800=800
        DDR3 1066=1066
        DDR3 1333=1333
        DDR3 1600=1600

SMmemmanufacturer_1=Kingston
SMmemmanufacturer_2=Kingston
SMmemmanufacturer_3=Kingston
SMmemmanufacturer_4=Kingston
SMmemmanufacturer_5=Kingston
SMmemmanufacturer_6=Kingston
設定記憶體製造商。

SMmempart_1=9905458-009.A00LF
SMmempart_2=9905458-009.A00LF
SMmempart_3=9905458-009.A00LF
SMmempart_4=9905458-009.A00LF
SMmempart_5=9905458-009.A00LF
SMmempart_6=9905458-009.A00LF
設定記憶體零件編號。

SMmemserial_1=76344B29
SMmemserial_2=76344B29
SMmemserial_3=76344B29
SMmemserial_4=76344B29
SMmemserial_5=76344B29
SMmemserial_6=76344B29
設定記憶體序號。

「SSDT 取得方式」

使用 Everest Ultimate,參照下圖自系統提取 SSDT:

「後記」

Extra 資料夾請務必保持管理員權限,可以確保系統穩定性。
也就是在做檔案的修改、移除、貼上,最好都使用 “終端機” 指令來完成動作。
使用終端機指令,只要目的資料夾權限已經設定好,不管來源檔案是否是系統權限,
拷貝到目的地的檔案就會直接轉成系統權限,
可以減少權限修復的動作、也減少其他因素所帶來的系統不穩及五國的發生。

移除檔案:
        sudo rm -R /Extra/DSDT.aml
複製檔案:
        sudo cp -R ~/Desktop/DSDT.aml /Extra
修改權限:
        sudo chown -R 0:0 /Extra

sudo 表示使用管理員權限、rm 表示移除檔案、cp 表示拷貝檔案、chown 表示修改權限。
其中的 -R 是一個細項參數,有與無會有一些不同:

sudo cp 僅針對單一檔案,也就是如果你拖曳資料夾的話,指令就會失敗。
        sudo cp -R 可以對整個資料夾下的檔案進行操同一指令操作,當然用在單一檔案也可。

以上只有藍色的部份需要手動輸入或貼上,而後方的檔案、資料夾、路徑全部都可以使用拖拉放的方式完成,
相信有看過【變色龍系列一】都應該覺得指令其實很簡單。

相信之前有許多人對於修改 DSDT 達到 CPU 降頻(speedstep)的過程相當頭痛,
目前在紫米的電腦上只要開啓 GenerateCStates=Yes、GeneratePStates=Yes,
即可完成 CPU 降頻(speedstep)的功能:
<ignore_js_op> 
<ignore_js_op> 
<ignore_js_op>

最後,附件 Extra.zip 提供兩文件全參數模版,方便新手編輯。
        1. com.apple.Boot 設定說明.rtf
        2. SMBIOS 設定說明.rtf
        3. com.apple.Boot.plist
        4. SMBIOS.plist

时间: 2024-10-07 15:58:24

变色龙注解的相关文章

2、@RequestMapping注解的用法

@RequestMapping有如下属性值: 1.@RequestMapping来映射URL    注解 @RequestMapping 可以用在类定义处和方法定义处.    类定义处:规定初步的请求映射,相对于web应用的根目录:    方法定义处:进一步细分请求映射,相对于类定义处的URL.如果类定义处没有使用该注解,则方法标记的URL相对于根目录而言: package com.springmvc.helloworld_1; import org.springframework.stereo

Java注解(2)-注解处理器(运行时|RetentionPolicy.RUNTIME)

如果没有用来读取注解的工具,那注解将基本没有任何作用,它也不会比注释更有用.读取注解的工具叫作注解处理器.Java提供了两种方式来处理注解:第一种是利用运行时反射机制:另一种是使用Java提供的API来处理编译期的注解. 反射机制方式的注解处理器 仅当定义的注解的@Retention为RUNTIME时,才能够通过运行时的反射机制来处理注解.下面结合例子来说明这种方式的处理方法. Java中的反射API(如java.lang.Class.java.lang.reflect.Field等)都实现了接

Java注解(1)-注解基础

注解(Annotation)是在JAVA5中开始引入的,它为在代码中添加信息提供了一种新的方式.注解在一定程度上把元数据与源代码文件结合在一起,正如许多成熟的框架(Spring)所做的那样.那么,注解到底可以做什么呢? 1.注解的作用. 提供用来完整地描述程序所需要的信息,如编译期校验程序信息. 生成描述符文件,或生成新类的定义. 减轻编写"样板"代码(配置文件)的负担,可以使用注解自动生成. 更加干净易读的代码. 编译期类型检查. 2.Java提供的注解 Java5内置了一些原生的注

Java注解(3)-注解处理器(编译期|RetentionPolicy.SOURCE)

注解的处理除了可以在运行时通过反射机制处理外,还可以在编译期进行处理.在编译期处理注解时,会处理到不再产生新的源文件为止,之后再对所有源文件进行编译. Java5中提供了apt工具来进行编译期的注解处理.apt是命令行工具,与之配套的是一套描述"程序在编译时刻的静态结构"的API:Mirror API(com.sun.mirror.*).通过Mirror API可以获取到被注解的Java类型元素的信息,从而提供自定义的处理逻辑.具体的处理工具交给apt来处理.编写注解处理器的核心是两个

Spring 注解详解03

@Controller @Service @Autowired @RequestMapping @RequestParam @ModelAttribute @Cacheable @CacheFlush @resource @PostConstruct @PreDestroy @repository @component (不推荐使用) @scope @SessionAttributes @InitBinder @Required @qualifier // @Controller 例如 @Con

java注解中的元注解

一:java注解中的元注解 四个元注解分别是:@Target,@Retention,@Documented,@Inherited , 再次强调下元注解是java API提供,是专门用来定义注解的注解,其作用分别如下: @Target 表示该注解用于什么地方,可能的值在枚举类 ElemenetType 中,包括: ElemenetType.CONSTRUCTOR----------------------------构造器声明 ElemenetType.FIELD ----------------

手动添加arraylist注解类(Contact联系人对象)

因为在Java核心库不支持arraylist xml直接注解,这里可以自己写个小工具类 Contact.java: package com.newer.xml; import java.util.ArrayList; import org.simpleframework.xml.Attribute; import org.simpleframework.xml.Element; import org.simpleframework.xml.ElementList; import org.simp

Java自定义注解

自定义注解类编写的一些规则: 1. Annotation型定义为@interface, 所有的Annotation会自动继承Java.lang.Annotation这一接口,并且不能再去继承别的类或是接口. 2. 参数成员只能用public或默认(default)这两个访问权修饰 3. 参数成员只能用基本类型byte,short,char,int,long,float,double,boolean八种基本数据类型和String.Enum.Class.annotations等数据类型,以及这一些类

MyBatis应用开发(3)应用之开发方式注解方式篇

1.1. 注解方式 1.1.1. 开发步骤 目标:使用MyBatis从数据库中查询t_person表的全部记录. MyBatis还可以使用注解来配置数据库中的记录与Java对象之间的映射关系.此时SQL语句出现在Mapper接口的方法的注解中.优点是不再需要编写独立的Mapper配置文件. 使用MyBatis 的注解方式开发数据库应用的步骤如下所示: (1)编写POJO类Person. (2)编写Mapper接口PersonMapper. (3)编写业务接口PersonService. (4)编