eagle_xmw 发表于 2016-9-3 22:33

HP 820 G2变色龙安装10.11.6基本完美

初始状态:
一块ssd硬盘,MBR格式分区,安装了WIN7 64位.
不想动win系统,因此就安装在硬盘的扩展分区电脑配置:
cpu: i7-5600u
声卡: ALC280
显卡: HD5500
有线网卡: intel 218
无线网卡: intel ac7265(无法驱动,蓝牙免驱)



压缩磁盘、分区这些都不说了,主要就是分出两块来,一个用于写懒人版的cdr镜像,一个分区用于安装系统。
启动办法是使用EasyBCD增加一个菜单,然后在菜单中启动变色龙的光盘镜像。
这么做的目的是尽量少修改windows系统。


镜像取自https://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完成整个过程。
其实这些补丁有点正则表达式知识的,都是能够看得懂的。














eagle_xmw 发表于 2016-9-4 09:39

本帖最后由 eagle_xmw 于 2016-9-4 09:53 编辑




















最后来一张桌面抓屏

eagle_xmw 发表于 2016-9-4 09:40

本帖最后由 eagle_xmw 于 2016-9-4 09:55 编辑

修改dsdtr的大致步骤如下:Chameleon_2.3svn_r2839_Enoch_10.12_pkg+wowpc

CDR下载自
https://bbs.pcbeta.com/viewthread-1702502-1-2.html
文件名称:C:\El Capitan 10.11.6 Installer.cdr
文件大小:7677251584 字节
修改时间:2016年7月21日 16:27:18
MD5   :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 eb3e
3.Extra/Extensions目录下需要放FakePCIID.kext / FakePCIID_Intel_HD_Graphics.kext / FakePCIID_Intel_HDMI_Audio.kext等几个

click again on + and add:
Name* : disabled:IOAHCIBlockStorage
Find* : : 004150504C452053534400
Replace* : 0000000000000000000000
Comment: Enable TRIM for SSD
1.进入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








eagle_xmw 发表于 2016-9-4 09:40

本帖最后由 eagle_xmw 于 2016-9-4 10:01 编辑

相关附件包含:



其中dsdt的修改每次都可以与前一次修改后的结果进行文件对比,这样可以看出修改点是什么


eagle_xmw 发表于 2016-9-4 10:02

本帖最后由 eagle_xmw 于 2016-9-4 10:07 编辑

安装时用到的工具列表,打包在一起文件超过论坛上传附件大小要求了,因此又解包了。



nuandong327 发表于 2016-9-4 10:13

感谢楼主分享经验{:5_293:}

eagle_xmw 发表于 2016-9-4 11:28

注意,由于使用的是变色龙,因此并不支持内核KEXT打补丁,每次更新系统后都需要执行这个动作
使用UE修改AppleIntelBDWGraphicsFramebuffer的BIN文件,将其中的 4139c4 763e 改成 4139c4 eb3e

eagle_xmw 发表于 2016-9-12 09:06

置顶帖没有把我的帖子归到链接中啊,还是顶一下
毕竟他的帖子是使用四叶草,我是使用变色龙的,有点差异

dfh11 发表于 2016-9-19 23:43

感谢楼主分享经验

mm194 发表于 2016-9-24 15:22

多谢楼主............

hzj790351393 发表于 2016-9-25 18:09

楼主你好,我的惠普9480m也是和你一样的声卡但是耳机输出不了声音,电池电量不显示,用的仿冒声卡,请问你的声卡是怎么驱动的

eagle_xmw 发表于 2016-9-26 08:37

hzj790351393 发表于 2016-9-25 18:09 https://www.pcbeta.com/static/image/common/back.gif
楼主你好,我的惠普9480m也是和你一样的声卡但是耳机输出不了声音,电池电量不显示,用的仿冒声卡,请问你的 ...

声卡在E/E目录下放个AppleALC.kext就OK 了,而且是原生的,不需要做任何其他修改

AppleALC.kext可以至github下载,链接:
https://github.com/vit9696/AppleALC

hzj790351393 发表于 2016-9-28 07:50

eagle_xmw 发表于 2016-9-26 08:37 https://www.pcbeta.com/static/image/common/back.gif
声卡在E/E目录下放个AppleALC.kext就OK 了,而且是原生的,不需要做任何其他修改

AppleALC.kext可以至 ...

你的声卡驱动能发下我吗?

eagle_xmw 发表于 2016-9-29 08:46

hzj790351393 发表于 2016-9-28 07:50 https://www.pcbeta.com/static/image/common/back.gif
你的声卡驱动能发下我吗?

声卡驱动是使用OSX系统原生的,只不过在Extra/Extensions目录下放了AppleALC.kext
这个KEXT下载就在上面帖子所说的地方。

hzj790351393 发表于 2016-9-29 11:27

eagle_xmw 发表于 2016-9-29 08:46 https://www.pcbeta.com/static/image/common/back.gif
声卡驱动是使用OSX系统原生的,只不过在Extra/Extensions目录下放了AppleALC.kext
这个KEXT下载就在上面 ...

Extra/Extensions目录下是在system/资源库文件下还是在/资源库下

hzj790351393 发表于 2016-9-29 12:07

楼主好,你的kext、驱动文件能不能发下我,280的Applealc还有?

eagle_xmw 发表于 2016-10-8 09:11

hzj790351393 发表于 2016-9-29 12:07 https://www.pcbeta.com/static/image/common/back.gif
楼主好,你的kext、驱动文件能不能发下我,280的Applealc还有?

帖子里附了相应的KEXT

hzj790351393 发表于 2017-3-1 09:11

使用applealc,,但是3,4ID注入都无法使用啊

chungyu75 发表于 2017-5-6 02:11

謝謝…………

897772953 发表于 2019-12-9 22:42

拿走拿走。。
页: [1]
查看完整版本: HP 820 G2变色龙安装10.11.6基本完美