Clover介绍 及 新版 config.plist 代码作用详解

OS X Mavericks 13/12/18 39.5k 1

论坛上面有几个介绍Clover不错的帖子,有些内容帖子不全,有些带有旧版本信息.(有旧版本信息的帖子特别可恶,让对Clover一点也没了解的新学习者,混乱思维)
config.plist 代码作用详解 是以3.3版的设置助手为容易模板整理旧帖子出来的.

PS:学习Clover只有短短的3天.,有错请指正,,,共同学习的说..(嗯 .最重要这个!!)
PS2: Clover真的很强大啊,我用了2年的10.7.2打完Clover后,可以系统直接升级到10.9GM,而且DSDT都不用,默认配置就基本驱动所有硬件..........给力V5


Clover 更新
http://sourceforge.net/projects/cloverefiboot/files/Installer/


Clover 专用设置软件(自动更新)
CloverConfiguratorUpdate.pkg
http://pan.baidu.com/s/13ONyC


Clover EFI Tools 更新






Clover 文件结构


BOOT:
ACPI: 存放DSDT.aml/SSDT.aml
CLOVERIA32.efi: 使用传统模式加载32位clover的主启动文件
CLOVERX64.efi: 使用传统模式加载64位clover的主启动文件
config.plist: clover配置文件,相当于变色龙的org.Chameleon.boot.plist
doc: clover的帮助文档
drivers32: 使用传统模式加载32位clover.efi所需的驱动 (需验证)
drivers32UEFI:  使用传统模式加载32位clover.efi在模拟uefi环境下所需的驱动      
drivers64: 使用传统模式加载64位clover.efi所需的驱动   (需验证)
drivers64UFI: 使用传统模式加载64位clover.efi在模拟uefi环境下所需的驱动
kexts: 使用kexts注入时,kext的存放位置
misc: 使用clover环境下的截图,提取dsdt.aml/ssdt.aml的存放位置
OEM: 分文件夹存放ACPI,config.plist等信息,及加载,实现单个U盘引导多个黑果平台
ROM: 显卡rom存放位置
themes: clover主题存放位置
tools: EFI Shell存放位置,放置用于进入shell环境的.efi,不可用于引导OSX,但可运行一些.efi程序





Clover 快捷键


Esc        退出子菜单或刷新主菜单
F1        显示帮助信息
F2        *保存preboot.log日志文件到/EFI/misc
F4        *保存原始DSDT到/EFI/ACPI/origin
F5        *保存初步修复的DSDT到/EFI/ACPI/origin
F6        *保存显卡Bios文件到/EFI/misc
F10        *保存屏幕截图到/EFI/misc        
F12        推出选中的(DVD)宗卷
空格键        显示选定项的,子菜单项,的详细信息
数字1-9        菜单快捷键
A        关于菜单
O        选项菜单
R        重启
U        关机



启动顺序


bios引导:
BIOS->boot0->boot1->BOOT->CLOVERIA32.efi->Apple's boot.efi->mach_kernel
BIOS->boot0->boot1->BOOT->CLOVERX64.efi->Apple's boot.efi->mach_kernel
UEFI BOOT:
UEFI BIOS->CLOVERX64.efi->Apple's boot.efi->mach_kernel


ACPI

DSDT
DsdtName:         dsdt.aml的名称
Debug
ReuseFFFF
SuspendOverride
SlpSsmiAtWake

Fix Display        修复显卡代码                (Yes/No, default: Yes)
Fix HPET        原生电源管理代码        (Yes/No, default: Yes)
Add DTGP        添加DTGP代码        (Yes/No, default: Yes)
Fix HDA        修复声卡代码                (Yes/No, default: Yes)
Add MCHC        添加MCHC代码        尚不清楚其具体作用         (Yes/No, default: No)
Fix LAN        修复网卡代码        经测试可修改网卡为内建        (Yes/No, default: Yes)
Fix Airport        修复Airport代码        无线网卡代码 (Yes/No, default: Yes)
Fix shutdown        修复关机断电代码        (Yes/No, default: Yes)
Fix USB        修复USB代码        包含EHCI代码(睡眠的关键)(Yes/No, default: Yes)
Fix Firewire        修复1394火线代码        (Yes/No, default: Yes)
Fix IDE        修复IDE代码                (Yes/No, default: No)
Fix SATA        修复SATA代码        经测试可修复“硬盘图标显示为橙黄色”问题        (Yes/No, default: No)
Fake LPC        (Yes/No, default: No)
Fix SBUS        (Yes/No, default: Yes)
Fix Darwin        (Yes/No, default: Yes)
Fix IPIC        修复IPIC        尚不清楚其具体作用        (Yes/No, default: Yes)


DropTables
SSDT: 未知
HPET: 未知
ECDT: 未知
BGRT: 未知
MCFG: 未知
DMAR: 未知
APIC  : 未知

SSDT
DoubleFirstState: (Yes/No, default: No) Ivy Bridge专用。ivy一般设为yes。依旧是cpu功耗有关。其他cpu可删。
DropOem 获取内建SSDT表单。clover可以自动获取,当然ssdt可放到EFI/OEM//ACPI/patched.  
GenerateCStates: (Yes/No, default: No) 设为yes,开启c-state功能,修复启动时(ACPI_SMC_PlatformPlugin)
GeneratePStates: (Yes/No, default: No) 设为yes,开启p-state功能

PluginType  值为0,则使用ACPI_SMC_PlatformPlugin;值为1时用X86PlatformPlugin(for ivy)
PLimitDict: (Number, default: 0) 限制cpu频率。值0,1,2。0不开启。
UnderVoltStep: (Number, default: 0) 限制CPU功率,只针对core2,对i系列CPU无效。可设为0,1,2。

MinMultiplier  设置最小变频数(?)
MaxMultiplier  设置最大变频数(?)

XXXX
PatchAPIC (Yes/No, default: No) Fix NMI in APIC table. 在ACPI表单中NMI丢失时,mac启动可能五国,启动是要用CPUS=1。所以这个可以起到这个作用。没有这个问题的可以忽略。
smartUPS  若启用,则在系统概述的”电源“项中"UPS已安装“显示为”是“。只起修饰作用

Halt Enabler (Yes/No, default: No)

ResetAddress: (should be: 0x64) Restart address
ResetValue: (should be: 0xFE) Restart address
(以上两个值可保留,可删。如果你重启的时候有问题(重启不断电?),可按照FACP.aml中值更改。
获取该表单的最佳方法就是clover自带功能(按F2,呀,说啦好几遍啦~)。或用DarwinDumper勾选ACPI TABLE。这货DarwinDumper算是一个利器。)




BOOT
        <key>Boot</key>
        <dict>
                <key>Timeout</key>
                <integer>5</integer>
                <key>Arguments</key>
                <string>npci=0x2000</string>
                <key>DefaultVolume</key>
                <string>MacHDD</string>
                <key>Log</key>
                <false/>
                <key>Fast</key>
                <false/>
                <key>XMPDetection</key>
                <string>-1</string>
                <key>Legacy</key>
                <string>PBR</string>
        </dict>

Arguments
verbose mode (-v)        -V启动
arch=i386                 此参数不适用于10.8原生内核
arch=x86_64
slide=0                 (Needed for 10.8)
darkwake=0        (for setting the "Deep sleep" mode in Lion/ML):一些mac的机型有这个参数才能深度睡眠。
npci=0x2000         (PCI Configuration Fix)
npci=0x3000         (PCI Configuration Fix)
dart=0 :bios中开启VT-x/VT-d无法启动os 的可使用这个参数
kemel
Mkext

DefaultBootVolume        默认启动分区.其值可以是分区卷标名,分区的uuid.
FAT, hfs 可以直接用mac下显示的卷标名, ntfs 是clover引导界面显示的名称如Legacy HD*
磁盘工具中信息项可以查看到uuid值(通用唯一标识), 分区详细信息 (preboot.log中可以查看到)
Legacy        一般默认PBR
XMPDetection                -1        
Log        (Yes/No, default: No)        调试日志,默认不开启,开启影响clover加载速度、
Fast        (Yes/No, default: No)




CPU

FrequencyMHz  设置CPU频率  eg.3.3GHz -> 3300
BusSpeedkHz  设置主频。eg.133MHz -> 133330    100MHz -> 99790kHz
Latency
Type  设置CPU类型,数值可百度。eg.core i3 ->0x0901
QPI  设置CPU的QPI,数值可百度。eg.i3 2120->5000
C2        启用CPU的Turbo功能
C4        启用CPU的Turbo功能
C6        启用CPU的Turbo功能




DEVICES (旧PCI板块)

        <key>Devices</key>
        <dict>
                <key>Inject</key>
                <false/>
                <key>Audio</key>
                <dict>
                        <key>Inject</key>
                        <string>No</string>
                </dict>
                <key>FakeID</key>
                <dict>
                        <key>ATI</key>
                        <string>0x0</string>
                        <key>IntelGFX</key>
                        <string>0x0</string>
                        <key>NVidia</key>
                        <string>0x0</string>
                        <key>SATA</key>
                        <string>0x0</string>
                        <key>WIFI</key>
                        <string>0x0</string>
                        <key>LAN</key>
                        <string>0x0</string>
                        <key>XHCI</key>
                        <string>0x0</string>
                </dict>
                <key>USB</key>
                <dict>
                        <key>Inject</key>
                        <true/>
                        <key>FixOwnership</key>
                        <true/>
                        <key>AddClockID</key>
                        <true/>
                </dict>
        </dict>
        <key>SystemParameters</key>
        <dict>
                <key>InjectSystemID</key>
                <true/>
        </dict>

FakeID        设备ID
Audio                 (Yes/No, default: No)
USB                USB修正 (Yes/No, default: Yes)
        Inject        使得usb键盘鼠标能唤醒os
        FixOwnership        修复USB所有权问题在UEFI模式引导时
AddClockID        使得唤醒mac后,usb依旧正常工作
LpcTune        似乎未达到预期目标,作用不知,应该是有关LPC注入




DisableDrivers

<key>DisableDrivers</key>
        <array>
                <string>CsmVideoDxe</string>
                <string>VBoxExt4</string>
        </array>
这个主要是禁止EFI驱动作用。应该是试图进入mac后消除EFI驱动的影响。有待测试。




GUI

        <key>GUI</key>
        <dict>
                <key>Hide</key>
                <array>
                        <string>Windows</string>
                        <string>\EFI\BOOT\BOOTX64.EFI</string>
                </array>
                <key>Language</key>
                <string>zh_CN:0</string>
                <key>Mouse</key>
                <dict>
                        <key>Enabled</key>
                        <false/>
                        <key>Speed</key>
                        <integer>0</integer>
                </dict>
                <key>Scan</key>
                <dict>
                        <key>Entries</key>
                        <true/>
                        <key>Legacy</key>
                        <true/>
                        <key>Tool</key>
                        <true/>
                </dict>
                <key>TextOnly</key>
                <false/>
                <key>Theme</key>
                <string>bluemac</string>
        </dict>

Language 设置clover的界面语言
Hide        隐藏的分区
Theme                clover的主题




Craphics

DualLink        0为关闭,1为启用。这个值开启可以解决某些高分屏花屏,黑边的问题。但某些卡必须设为0,否则进入mac可能见到4个桌面。(见到四个桌面当然也不一定是这个原因)
FBName        FBname就是变色龙中ati config值,其值要和你修改FB使用参数对应
NVCAP        display-cfg,N卡特有信息的.
VRAM                设置显卡的显存 eg.512MB->512
VideoPorts        定义了显卡的输出端口
Display-cfg        设置显卡的display-cfg数值
ig-platform-id        是特为hd4000或hd2500准备的

LoadVBios        使用提取的显卡rom,应该同chameleon。不过对于A卡移动版这个值可能要开启。A卡特有信息
PatchVBios        启用对开机扁平苹果logo的修复 默认NO
InjectEDID        注入自定的EDID
Injectintel        启用显卡自动识别功能        (Yes/No, default: Yes)
InjectATI        启用显卡自动识别功能        (Yes/No, default: No)
InjectNVidia        启用显卡自动识别功能        (Yes/No, default: No)




KernelAndKextPatches

AppleRTC  启用修复AppleRTC.kext重置bios功能 (Yes/No, default: Yes)
AsusAICPUPM  启用修复AICPM无法加载的问题 (Yes/No, default: Yes)
Debug  启用debug        (Yes/No, default: No)
KernelCpu  启用修复内核不支持的CPU的功能 如Atom, Pentium 4 (Yes/No, default: No)
KernelLapic:在v1731版本后加入 LAPIC kernel panic for HP notebook修复功能。使得hp笔记本启动无需输入cpu=1的启动参数。

ATIConnectorsController        定义要修改的驱动名字,规则如下:
6系列的Connectors就要在ATIConnectorsController定义6000
7系列的Connectors就要在ATIConnectorsController定义7000
5系列的Connectors就要在ATIConnectorsController定义5000

ATIConnectorsData        定义要修改的原始数据
ATIConnectorsPatch        为修改后适合你的显卡的参数

KextsToPatch
<key>KextsToPatch</key>
<array><key>0</key>
<dict>
        <key>Name</key>
        <string>VoodooHDA</string>
        <key>Find</key>
        <data>SGVhZHBob25lcwA=</data>
        <key>Replace</key>
        <data>VGVsZXBob25lcwA=</data>
</dict>
</array>




RtVariables
            
        <key>RtVariables</key>
        <dict>
                <key>MountEFI</key>
                <true/>
                <key>LogLineCount</key>
                <integer>3000</integer>
                <key>LogEveryBoot</key>
                <string>10</string>
        </dict>


LogEveryBoot  启用每次启动的纪录
LogLineCount  日志文件的总行数
MountEFI  开机加载efi分区
ROM        参数值为十二位十六进制。这个参数一般会从smbios中获取。一般不管。此项设置有关网卡的mac地址。既反映此值可随机。
MLB:和主板 serial number相关,17位数。其设置无别规则。最好的设置是sm+五个随机数,12位系列号加5个数随你选择。在以前可解决imessage登入后重启退出无法再次登入的的问题。现在加这个不知道有什么特别的意思。



SMBIOS

默认不设置,clover,它会自动设置认为合适你电脑配置的机型信息.如果你要设置特定的机型信息.

BiosReleaseDate  bios发布日期        <string>02/29/08</string>
BiosVendor  bios提供商                <string>Apple Computer, Inc.</string>
BiosVersion                                  <string>MP31.88Z.006C.B05.0802291410</string>
Board-ID                                <string>Mac-F42C88C8</string>
BoardManufacturer  主板提供商        <string>Apple Computer, Inc.</string>
BoardSerialNumber  设置处理器托架的序列号
BoardType                                <integer>11</integer>
BoardVersion                                <string>1.0</string>
ChassisManufacturer  机箱提供商        <string>Apple Computer, Inc.</string>
ChassisAssetTag                        <string>Pro-Enclosure</string>
ChassisType                                <integer>6</integer>
Family                                  <string>Mac Pro</string>
Manufacturer  整机制造商                <string>Apple Computer, Inc.</string>
ProductName                                <string>MacPro3,1</string>
SerialNumber                                <string>4H629LYAU9C</string>
SmUUID  格式应为00000000-0000-1000-8000-xxxxxxxxxxxx  “xxxxxxxxxxxx”为你的网卡MAC值
Version          应为1.0

Mobile  若为移动平台,请设为yes
Trust        和内置定义的smbios table挂钩,如果你的内存侦测存在问题请设置为NO试试

Memory
Channels        为通道数。一般旧主板是双通道,即数值为2
SlotCount        插槽数,最大可支持24个插槽。
Size:                                内存大小。通用有:512,1024,2048,4096.可整型,可字符型
Frequency:                        内存频率。常用800,1300,1600
Type:                                插槽位置,值可为整型,也可字符型.值0~24.Type:内存条类型,有DDR2,DDR3,DDR
Vendor:                        制造商,如Corsair




SystemParameters

<key>SystemParameters</key>
        <dict>
                <key>BacklightLevel</key>        //笔记本背景亮度调节,0xFFFF是最亮的,默认值0x0501,台式机可忽略
                <string>0xffff</string>
                <key>CustomUUID</key>        //定制系统信息中的硬件UUID
                <string></string>
                <key>InjectKexts</key>                //启用自动注入UUID功能 注:可能导致每次开机的UUID千变万化
                <false/>
                <key>InjectSystemID</key>
                <true/>
        </dict>


该贴已经同步到 admin的微博
相关帖子
admin
4 / 2.2k
请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!
您需要登录后才可以回帖 登录 | 注册
本版积分规则
645899167
13/12/19 09:24:10
楼主太地道了