2016年9月

初始状态:

一块ssd硬盘,MBR格式分区,安装了WIN7 64位.

不想动win系统,因此就安装在硬盘的扩展分区

电脑配置:

cpu: i7-5600u

声卡: ALC280

显卡: HD5500

有线网卡: intel 218

无线网卡: intel ac7265(无法驱动,蓝牙免驱)

 

 

压缩磁盘、分区这些都不说了,主要就是分出两块来,一个用于写懒人版的cdr镜像,一个分区用于安装系统。

启动办法是使用EasyBCD增加一个菜单,然后在菜单中启动变色龙的光盘镜像。

这么做的目的是尽量少修改windows系统。

 

镜像取自http://bbs.pcbeta.com/viewthread-1702502-1-2.html

文件大小:7677251584 字节

修改时间:2016年7月21日 16:27:18

MD5     :FD03267F7948DCFBF561B8E2EFD8B52A

SHA1    :4C200BEA4E57B89FF70D1239B47C1697106DEF17

CRC32   :89E0CA2B

 

这个镜像里面的smbios是imac,

同时在e/e目录下的FakeSMC在hp 820 g2上运行有问题,我就换成新版本的,进了安装界面

安装后,修改dsdt基本是参照大神RehabMan的github上的说明修改的

 

参考https://github.com/RehabMan/HP-ProBook-4x30s-DSDT-Patch/blob/master/patches/02_DSDTPatch.txt进行修改

由于笔记本型号毕竟不一样,我基本上是看了这些修改点,然后手工修改dsdt完成整个过程。

其实这些补丁有点正则表达式知识的,都是能够看得懂的。

 

 

 

 

 

 

 

 

修改dsdtr的大致步骤如下:

Chameleon_2.3svn_r2839_Enoch_10.12_pkg+wowpc

CDR下载自
http://bbs.pcbeta.com/viewthread-
1702502-1-2.html
文件名称:C:\El Capitan
10.11.6Installer.cdr
文件大小:
7677251584字节
修改时间:2016年7月21日
16:27:18MD5 :FD03267F7948DCFBF561B8E2EFD8B52A
SHA1 :4C200BEA4E57B89FF70D1239B47C1697106DEF17
CRC32 :89E0CA2B
链接:http://pan.baidu.com/s/1bpaBXRD 密码:6tec

安装时CDR中的FakeSmc.kext在820上会kernel panic,替换最新版本的FakeSmc后OK

DSDT修改:
repair error.
Store (\_GPE.VHOV (Arg0
, 0x00),0x01)
Local1
=> Store (\_GPE.VHOV (Arg0, 0x00, 0x01),Local1)

参考https://github.com/RehabMan/HP-ProBook-4x30s-DSDT-Patch/blob/master/patches/02_DSDTPatch.txt进行修改

into device label WMID remove_entry
;into all code_regex Name\s*\(WSIP,[\s\S]*Name\s*\(ETYP,\s*Buffer\s*\(.*\)\s*\{\}\) remove_matched;into_all all code_regex \.AC, replaceall_matched begin .ADP1, end;into_all all code_regex \(AC, replaceall_matched begin (ADP1, end;into all label AC set_label begin ADP1 end;into device label ADP1 code_regex Name\s+\(_PRW,[\s\S]*\}\) remove_matched;into device label ADP1 insert
begin
Name (_PRW
, Package() { 0x18,0x03 })
end
;into method label _DSM parent_label PS2K remove_entry;into device label PS2K insert
begin
Method (_DSM
, 4,NotSerialized)\n
{\n
If (LEqual (Arg2
,Zero)) { Return (Buffer() { 0x03 } ) }\n
Return (Package()\n
{\n
"RM,oem-id", "HPQOEM",\n"RM,oem-table-id", "167C",\n
})\n
}\n
end
;# Inject Audio info
into method label _DSM parent_label HDEF remove_entry
;into device label HDEF insert
begin
Method (_DSM
, 4,NotSerialized)\n
{\n
If (LEqual (Arg2
,Zero)) { Return (Buffer() { 0x03 } ) }\n
Return (Package()\n
{\n
"hda-gfx", Buffer() { "onboard-1" },\n"layout-id", Buffer() { 0x0C, 0x00, 0x00, 0x00 },\n"PinConfigurations", Buffer() { },\n
//
"MaximumBootBeepVolume", 77,\n
})\n
}\n
end
;参考如下文档里layout-id应该是3或者4
# https://github.com/RehabMan/HP-ProBook-4x30s-DSDT-Patch/blob/master/Resources_ProBook/README.txt
# http://www.tonymacx86.com/threads/hp-elitebook-g2-alc280-combo-jack-wip
.191207/#post1242688

# IRQ fix
into device name_hid PNP0000 code_regex IRQNoFlags\s\(\)\n\s+\{(\d+)\} remove_matched
;into device name_hid PNP0100 code_regex IRQNoFlags\s\(\)\n\s+\{(\d+)\} remove_matched;into device name_hid PNP0B00 code_regex IRQNoFlags\s\(\)\n\s+\{(\d+)\} remove_matched;into device name_hid PNP0103 code_regex IRQNoFlags\s\(\)\n\s+\{.*\} removeall_matched;into device name_hid PNP0103 code_regex Name\s\(([^,]+),\sResourceTemplate\s\(\)\n\s+\{((?:.|\n)*)\}\) replace_matched
begin
Name (%
1,ResourceTemplate()\n
{\n
IRQNoFlags() {
0, 8, 11, 15}\n
%
2})\n
end
;# Rename all instances of GFX0 to IGPU
into_all all code_regex GFX0 replaceall_matched begin IGPU end
;into_all all label GFX0 set_label begin IGPU end;GFX0 => GFX0
inject
"hda-gfx"="onboard-1"into IGPU (GFX0 originally)

B0D3
=> HDAU
inject
"hda-gfx"="onboard-1"into HDAU

# Rename all instances of GFX0 to IGPU
into_all all code_regex GFX0 replaceall_matched begin IGPU end
;into_all all label GFX0 set_label begin IGPU end;GFX0 => GFX0
inject
"hda-gfx"="onboard-1"into IGPU (GFX0 originally)

# Brightness control fix
into device label PNLF remove_entry
;into scope label \_SB insert
begin
Device (PNLF)\n
{\n
Name (_HID
, EisaId ("APP0002"))\n
Name (_CID
, "backlight")\n
Name (_UID
, 10)\n
Name (_STA
,0x0B)\n
}\n
end
;into_all method code_regex If\s+\([\\]?_OSI\s+\(\"Windows\s2012\"\)\) replace_matched begin If(LOr(_OSI("Darwin"),_OSI("Windows 2012"))) end;# RTC fix
into device name_hid PNP0B00 code_regex (IO\s\((?:\s*
[^,]+,\s*(?:\/\/\s.*)?\s*\n)+\s*)(\dx\d+)(,\s*(?:\/\/\s.*)?\s*\n\s*\)) replace_matched begin %10x02%3 end;http://www.insanelymac.com/forum/topic/289798-applertc-patch-cmos-reset-after-sleepwake/

# SMBUS fix
into device label BUS0 parent_adr 0x001F0003 remove_entry
;into device name_adr 0x001F0003 insert
begin
Device (BUS0)\n
{\n
Name (_CID
, "smbus")\n
Name (_ADR
,Zero)\n
Device (DVL0)\n
{\n
Name (_ADR
,0x57)\n
Name (_CID
, "diagsvault")\n
Method (_DSM
, 4,NotSerialized)\n
{\n
If (LEqual (Arg2
,Zero)) { Return (Buffer() { 0x03 } ) }\n
Return (Package() {
"address",0x57 })\n
}\n
}\n
}\n
end
;# Add missing IMEI device
into device label IMEI parent_label PCI0 remove_entry
;into device label PCI0 insert
begin
Device (IMEI)\n
{\n
Name (_ADR
,0x00160000)\n
}\n
end
;# HPET fix to avoid AppleIntelCPUPowerManagement panic
into method label _STA parent_hid PNP0103 remove_entry
;into device name_hid PNP0103 code_regex Name\s\(_STA\,\s+0x0F\) remove_matched;into device name_hid PNP0103 insert
begin
Name (_STA
,0x0F)\n
end
;# repair HD5500"device-id",Buffer (0x04)
{
0x16
, 0x16, 0x00,0x00
}
, "AAPL,ig-platform-id",Buffer (0x04)
{
0x02
, 0x00, 0x16,0x16
}
, "model",Buffer (0x17)
{
"Intel HD Graphics 5500"}, 2.使用UE修改AppleIntelBDWGraphicsFramebuffer的BIN文件,将其中的 4139c4 763e 改成 4139c4 eb3e3.Extra/Extensions目录下需要放FakePCIID.kext / FakePCIID_Intel_HD_Graphics.kext / FakePCIID_Intel_HDMI_Audio.kext等几个

click again on + and add:
Name* : disabled:IOAHCIBlockStorage
Find* :
[HEX]: 004150504C452053534400
Replace*
[HEX] : 0000000000000000000000Comment: Enable TRIM for SSD1.进入SLE目录下去找到IOAHCIBlockStorage(在IOAHCIFamily.kext\Contents\PlugIns目录下),使用UE修改\IOAHCIBlockStorage.kext\Contents\MacOS目录下的IOAHCIBlockStorage文件

修改DSDT及SSDT中涉及HDAU中的layout-id为4
在Extra/Extensions目录下需要放AppleALC.kext

将EC0下面16bit的变量拆分成两个8bit,同时修改使用这些变量的函数,添加B1B2函数(由于没有32BIT的,因此没有B1B4函数)
例如:BDC
, 16, => BDC0, 8, BDC1, 8,Store (BPR, Local3) => Store (B1B2 (BPR0, BPR1),Local3)
在Extra/Extensions目录下需要放ACPIBatteryManager.kext

删除之前添加的PNLF设备
在IGPU下添加PNLF设备,相关信息从如下链接中取得
https://github.com/RehabMan/Laptop-DSDT-Patch/blob/master/graphics/graphics_PNLF_haswell.txt
在Extra/Extensions目录下需要放ACPIBacklight.kext