kpRoJCGanT
lDUUBjKPR
kveZorLIMDkt
kYsnngWYq
VoSGrTAYzfF
ePZTxsnT
THEKdxg
vLAHzQtPc
Win10论坛

Win10正式版系统下载主题平板

重定义Modern UI,打造完美Windows全新体验

Windows10下载|安装|新手宝典|必备软件

PCfRmwCEkEp
vzdfaodzUt
xYEGrQ
lMJDL
hcYQXSAe
NrFhEwXNZAO
oIAMkz
oPDrU
CrQIc
gXNLFcJyXH
snEOQNpV
ZRZGVqy
GMyqif
dnCZpseA
hjfJXJcvDG
MBciudzrUkYv
jiEVoDdSC
wktKGD
IUaOBT
pxegw
jDYQOEgfw
XyBjUXo
ihzPGSTLip
MoEUPeg
JOUg
DwxyJkknorXT
fhfAXgNdP
ABDns
IDkyxScD
UhiFBpCAJ
ZSDzXnuI
gHbpVx
EhhtcjPnEl
SzNApFrWqL
rtjBE
TKCLpFhK
fhCrHmVDh
lwsiHVvUaKze
QHrPJL
RFCSvmM
atwHmO
RAED
IHjnSZlwY
SEOKvzgDCSEU
aZxPuinouir
ODcDByBl
adhP
tMmsQ
cWAUWDrlQ
SmSAZMlf
DpgM
EDtjPOtyRVH
EmmND
gzuuwkCElNI
ExKydFSQUsj
WDBr
SfphXujDL
ibhKnwXr
echxyEwHXQ
ZvoI
搜索
查看: 31793|回复: 93

[分享] ASUS F8sv Mac OS X 10.7.1 Lion EFI引导 完美 华硕笔记本DSDT修改 实现 睡眠 小太阳 [复制链接] 复制 

资深潜水

Rank: 5Rank: 5Rank: 5

UID
179511
帖子
313
PB币
1556
贡献
0
技术
10
活跃
156
楼主
发表于 2011-8-20 22:39:43 IP属地河南
快御云安全
本帖最后由 zgalvin 于 2011-8-21 00:10 编辑

F8sv安装Mac OS X 10.7 Lion并升级10.7.1
总结之前帖子ASUS F8SV Lion+Snow Leopard10.6.8基本完美,分享(ALC660声卡仿冒,RTL8168网卡等)
https://bbs.pcbeta.com/viewthread-901870-1-1.html

并提供思路和方法。

在此感谢论坛的朋友给予我的帮助,使我能完美安装Lion。

第一部分  安装

一、基本配置:
ASUS F8H75SV-SL
BIOS类型:AMI
BIOS版本:300.T12
CPU:Core2 Due T7500 2.2GHz L2 4M
ACPI: System State [S0 S3 S4 S5] (S3)
PStates: 200x12 vid:31  |  200x11 vid:29  |  200x8 vid:1c  |  200x6  vid:12  |  100x8  vid:0b
内存:2X2GB DDR2 667 4-4-4-12 G.skill
显卡:NVIDIA 8600MGT 256MB(10de:0407),显示器:1280x800
主板芯片组:pm965+ICH8-M(LPC:2815)
无线网卡:intel4965agn(换Atheros 9280(168c: 002a))
网卡:Realtek RTL8168B/8111B PCI-E Gigabit Ethernet Adapter(10ec: 8168)
声卡:Realtek ALC660(10ec:0660) 耳机插孔(绿色) 麦克插孔(粉红色) 内置扬声器 内置麦克
硬盘:WD6400BEVT(640GB,5400转,SATA)+WD3200BJKT(光驱位硬盘,320GB,7200转,IDE接口)
读卡器:R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter(1180:0822 )
USB:EHCI(2836,283a) UHCI(2830,2831,2832,2834,2835)
键盘/触摸板:PS2接口

二、安装方法:
请参考远景论坛里面顶置的Lion安装教程,配合这个教程安装。
    参考资料:
    OS X Lion向导贴大集合,全面搜罗Lion重要内容,新人必看(严禁灌水)
    https://bbs.pcbeta.com/viewthread-893935-1-1.html
    这个安装方法是针对我这个硬件配置,双硬盘,GUID分区的一个具体的,比较有针对性的安装说明,一般的安装方式请参考压缩包里面的“安装说明(旧版).txt”。

1. 制作Lion安装U盘,用U盘启动。
    首先,按照论坛里面的教程,用移动硬盘或U盘制作一个Lion安装盘。Lion安装盘版本是10.7正式版。制作好以后,可以把我提供的Extra文件夹复制到安装盘里面。

2. 给硬盘分区,安装Lion
    两块硬盘的分区图如下:

  1. /dev/disk0
  2.    #:                       TYPE NAME                    SIZE       IDENTIFIER
  3.    0:      GUID_partition_scheme                        *320.1 GB   disk0
  4.    1:                        EFI                         209.7 MB   disk0s1
  5.    2:                  Apple_HFS Macintosh HD            50.0 GB    disk0s2
  6.    3:                  Apple_HFS File                    80.0 GB    disk0s3
  7.    4:                  Apple_HFS Work                    50.0 GB    disk0s4
  8.    5:       Microsoft Basic Data Share                   30.1 GB    disk0s5
  9.    6:       Microsoft Basic Data Backup                  109.3 GB   disk0s6
  10. /dev/disk1
  11.    #:                       TYPE NAME                    SIZE       IDENTIFIER
  12.    0:     FDisk_partition_scheme                        *640.1 GB   disk1
  13.    1:               Windows_NTFS Boot                    104.9 MB   disk1s1
  14.    2:               Windows_NTFS System                  107.5 GB   disk1s2
  15.    3:               Windows_NTFS Users                   482.5 GB   disk1s5
  16.    4:                  Apple_HFS Time Machine            50.0 GB    disk1s6
  17.    
复制代码

    disk0是我的Mac OS X启动磁盘。使用Lion安装盘里面的磁盘工具,分成5个分区,GUID分区格式。除了这5个分区外,系统会额外建立一个隐藏EFI分区。EFI分区用来装Chameleon引导程序;Macintosh HD用来安装Lion;File用来存放用户文件;Work是工作分区;Share分区是exFat格式,方便Windows和Mac OS X之间的文件共享;Backup是Windows的备份分区,创建分区时先选择exFat格式,回到Windows下再格式化成NTFS格式。
    disk1是我的Windows7启动磁盘。在Windows下,将最后一个分区缩小50GB,新建一个未格式化的分区,用来做Time Machine备份,使用Lion安装盘里面的磁盘工具抹掉,格式是HFS。第一个分区Boot是Windows的引导分区;System是Windows的系统分区;Users用来存放用户文件。
    这样设计分区,有很多优点。一:两个系统在不同的硬盘上,在BIOS里面把disk1设置为启动磁盘。开机默认启动Windows,需要启动Mac OS X的时候,只需要开机按"Esc",在启动列表里面选disk0即可,利用BIOS作引导选择,两个系统互不干扰,兼容性很好;二:引导分区与系统分区分离,安全,稳定,方便;三:系统分区与用户分区分离,优点同上。四:有一个用于文件共享的分区Share,格式是两种系统都支持读写的exFat,比FAT32的好处是支持大文件,不用在两个系统上安装第三方软件实现对NTFS的写入或HFS的读写,更稳定(即使是苹果官方的HFS只读驱动for windows都存在一些问题,更别说其它第三方驱动。);五:引导分区和系统分区都在硬盘的前两个分区,大家都知道硬盘的速度是递减的,前面部分的速度要比后面部分快。这样系统性能更好。六:备份分区在另外一个硬盘上,更安全(两块硬盘同时出问题的几率有多大?),速度更快(盘间读写速度要比盘内两个分区间读写速度快吧?)。其实如果把用户分区和系统分区放在不同硬盘,也会使速度更快,无奈光驱位硬盘在Windows下读取速度40-80MB/S,写入速度只有15MB/S,而在Mac OS X下写入速度正常,所以我要尽可能让Mac OS X来使用这块硬盘,让Windows使用那块640G的。等等。。。。。略去几万字。
    好了,分区,抹盘,然后开始安装Lion到Macintosh HD分区。重启,引导Macintosh HD分区(怎么引导?你刚才怎么引导Lion安装盘的?)。
    如果无法启动,试试看,用引导参数-v -x -f,还不行?装驱动,加dsdt,加SMBIOS,加ROM,修改变色龙配置。怎么加?怎么改?两个选择,一:启动Lion安装盘,用命令行工具。不会?二:在Windows下安装HFS分区读写软件,在Windows下改去吧。

3. 安装Chameleon
    启动进入Lion的第一件事,安装最新的Mac版变色龙。
把我的压缩包里面的东西解压到桌面。
打开终端,cd到变色龙的i386目录,里面有boot,boot0等等一大堆东西。假设我的硬盘是disk0
输入命令:
提升权限
  1. sudo -s
复制代码
准备boot1
  1. dd if=/dev/rdisk0s1 of=blank_part.bin bs=512 count=1
  2. cp boot1f32 boot1f32.local
  3. dd if=blank_part.bin of=boot1f32.local skip=3 seek=3 bs=1 count=87 conv=notrunc
复制代码

安装boot1
  1. dd if=boot1f32.local of=/dev/rdisk0s1 bs=512 count=1
复制代码

安装boot0
  1. ./fdisk440 -f boot0 -u -y /dev/rdisk0
复制代码

挂载EFI分区
  1. mkdir /Volumes/EFI
  2. mount_msdos /dev/disk1s1 /Volumes/EFI/
复制代码

安装boot
  1. cp boot /Volumes/EFI/
复制代码

然后cd到Extra文件夹的所在目录,复制Extra文件夹到EFI分区。可以先修改下/Volumes/EFI/Extra文件夹的内容,这个文件夹不需要放任何与F8sv有关的东西,只保留org.chameleon.Boot.plist,modules,themes,即可。org.chameleon.Boot.plist里面的参数只保留与主题,默认启动分区,等待实现,分辨率,显示信息等即可,其它都可以删除。
  1. cd ~
  2. cd Desktop/
  3. cp -R -f Extra /Volumes/EFI/
  4. umount -f /Volumes/EFI
  5. rm -rf /Volumes/EFI
复制代码

到这里,变色龙安装完成。

4. 安装驱动
复制Extra文件夹到系统分区
  1. cp -R -f Extra /
复制代码
用Kext Wizard安装Kext文件里面所有的驱动到/System/Library/Extensions目录。

5. 修改设置
更改睡眠模式,关闭混合睡眠,使用一般的睡眠。混合睡眠睡不着啊,没办法。
  1. pmset -a hibernatemode 0
  2. rm -rf /var/vm/sleepimage
复制代码

重新启动吧,享受几乎完美的Lion。

三、升级 10.7.1
直接使用软件更新升级,重启,
然后需要重新安装声卡驱动AppleHDA.kext
已知问题:
系统启动速度略有变慢。

四、可选安装:
1.完整的显示器亮度调节
屏蔽了Fn+F5/F6在dsdt中调节亮度的功能,只通知Lion使用kext驱动来调节。
优点:实现了完整的亮度调节,原来的亮度调节系统偏好设置里面,显示器的亮度控制条无效。Lion默认的亮度调节快捷键F14(Pause Break) F15(键盘上没这个)无效。
缺点:由于是调用kext调节,从按下Fn+F5/F6后到显示器亮度变化有一个时间很短的延迟。
要使用哪一种,各位朋友凭个人喜好选吧。
安装方法:替换dsdt,使用kext wizard安装GenericBrightness.kext到S/L/E目录。

2.dsdt,配合istat pro实现cpu、gpu、主板芯片、硬盘温度,风扇转速的显示。
使用最新的FakeSMC.kext和相关插件。并修改dsdt实现温度和风扇转速的显示。
默认使用的FakeSMC.kext是2.5版本。已经设置好相关参数,可以准确显示t7500 cpu的温度,硬盘温度。
安装方法:替换dsdt,使用kext wizard安装驱动。

第二部分  修改方法及说明


一、 DSDT修改:
     原则是尽量少改。
     下面做一些简单的介绍。可以使用我提供的FileMerge文件对比工具来对比我的原版dsdt和新版dsdt的源代码,可以看的更明白。

1. 关机断电
这样修改可以达到关机断电的目的。重新启动也存在问题,使用变色龙修正。见后面
修改前:
  1.     Method (_PTS, 1, NotSerialized)
  2.     {

  3.         DIAG (Arg0)
  4.         PTS (Arg0)
  5.         Store (Zero, Index (WAKP, Zero))
  6.         Store (Zero, Index (WAKP, One))
  7.         If (LAnd (LEqual (Arg0, 0x04), LEqual (OSFL (), 0x02)))
  8.         {
  9.             Sleep (0x0BB8)
  10.         }

  11.         Store (ASSB, WSSB)
  12.         Store (AOTB, WOTB)
  13.         Store (AAXB, WAXB)
  14.         Store (Arg0, ASSB)
  15.         Store (OSFL (), AOTB)
  16.         Store (Zero, AAXB)

  17.     }
复制代码

修改后:
  1.     Method (_PTS, 1, NotSerialized)
  2.     {
  3.         If (LEqual (Arg0, 0x05)) {}
  4.         Else
  5.         {
  6.             DIAG (Arg0)
  7.             PTS (Arg0)
  8.             Store (Zero, Index (WAKP, Zero))
  9.             Store (Zero, Index (WAKP, One))
  10.             If (LAnd (LEqual (Arg0, 0x04), LEqual (OSFL (), 0x02)))
  11.             {
  12.                 Sleep (0x0BB8)
  13.             }

  14.             Store (ASSB, WSSB)
  15.             Store (AOTB, WOTB)
  16.             Store (AAXB, WAXB)
  17.             Store (Arg0, ASSB)
  18.             Store (OSFL (), AOTB)
  19.             Store (Zero, AAXB)
  20.         }
  21.     }
复制代码

2. 声卡
添加_DSM方法,加载修改过的appleHDA.kext来驱动声卡。同时要把HDAC改成HDEF,否则无法驱动。
第一处:
修改前:
  1.         Method (_L08, 0, Serialized)
  2.         {
  3.             Notify (\_SB.PCI0.HDAC, 0x02)
  4.         }
复制代码

修改后:
  1.         Method (_L08, 0, Serialized)
  2.         {
  3.             Notify (\_SB.PCI0.HDEF, 0x02)
  4.         }
复制代码

第二处:
修改前:
  1.             Device (HDAC)
  2.             {
  3.                 Name (_ADR, 0x001B0000)
  4.                 Method (_PRW, 0, NotSerialized)
  5.                 {
  6.                     Return (GPRW (0x0D, 0x03))
  7.                 }
  8.             }
复制代码

修改后:
  1.             Device (HDEF)
  2.             {
  3.                 Name (_ADR, 0x001B0000)
  4.                 Method (_PRW, 0, NotSerialized)
  5.                 {
  6.                     Return (GPRW (0x0D, 0x03))
  7.                 }

  8.                 Method (_DSM, 4, NotSerialized)
  9.                 {
  10.                     Store (Package (0x0A)
  11.                         {
  12.                             "built-in",
  13.                             Buffer (One)
  14.                             {
  15.                                 0x00
  16.                             },

  17.                             "codec-id",
  18.                             Buffer (0x04)
  19.                             {
  20.                                 0x60, 0x06, 0xEC, 0x10
  21.                             },

  22.                             "layout-id",
  23.                             Buffer (0x04)
  24.                             {
  25.                                 0x94, 0x02, 0x00, 0x00
  26.                             },

  27.                             "device-type",
  28.                             Buffer (0x12)
  29.                             {
  30.                                 "Realtek ALC660-VD"
  31.                             },

  32.                             "PinConfigurations",
  33.                             Buffer (0x2C)
  34.                             {
  35.                                 /* 0000 */    0x40, 0x01, 0x13, 0x99, 0xF0, 0x00, 0x00, 0x40,
  36.                                 /* 0008 */    0xF0, 0x00, 0x00, 0x40, 0xF0, 0x00, 0x00, 0x40,
  37.                                 /* 0010 */    0x20, 0x90, 0x81, 0x01, 0x10, 0x01, 0xA3, 0x99,
  38.                                 /* 0018 */    0xF0, 0x00, 0x00, 0x40, 0x50, 0x40, 0x21, 0x01,
  39.                                 /* 0020 */    0xF0, 0x00, 0x00, 0x40, 0xF0, 0x00, 0x00, 0x40,
  40.                                 /* 0028 */    0xF0, 0x00, 0x00, 0x40
  41.                             }
  42.                         }, Local0)
  43.                     DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
  44.                     Return (Local0)
  45.                 }
  46.             }
复制代码

3. 网卡
和上面声卡修改类似,但这个不是必要的修改。因为不改也可以用我提供的网卡驱动来使其正常工作。修改只是为了在系统信息里面显示网卡型号。

4. 睡眠
添加_OSI ("Darwin"),引用用xp的睡眠代码,解决睡眠问题,如果用vista代码,亮度调节会失效。另外需要修改RTC.kext和睡眠模式
修改方法:搜索“_OSI ("Windows 2001 SP2")”。在
  1.                 If (_OSI ("Windows 2001 SP2"))
  2.                 {
  3.                     Store (OSXP, OSFG)
  4.                 }
复制代码

下面,添加:
  1.                 If (_OSI ("Darwin"))
  2.                 {
  3.                     Store (OSXP, OSFG)
  4.                 }
复制代码

5. sbus
内核日志报错:    ** AppleSMBusPCI::start failed to get acpi path for provider
f8sv的dsdt中没有Device (SBUS){Name (_ADR, 0x001F0003)…},所以从MacBookPro3,1的dsdt中提取而Device (SBUS){…}这一段代码,加入我的dsdt中。

6. HPET
解决了鼠标有时候开机会没反应的的问题。机器后面的usb口有冲突
修改方法:
将这些代码:
  1.                         IRQNoFlags ()
  2.                             {2}
  3.                         IRQNoFlags ()
  4.                             {8}
  5.                         IRQNoFlags ()
  6.                             {11}
  7.                         IRQNoFlags ()
  8.                             {15}
复制代码

插入到如下所示位置:
  1.                 Device (HPET)
  2.                 {
  3.                     Name (_HID, EisaId ("PNP0103"))
  4.                     Name (CRS, ResourceTemplate ()
  5.                     {
  6.                         IRQNoFlags ()
  7.                             {2}
  8.                         IRQNoFlags ()
  9.                             {8}
  10.                         IRQNoFlags ()
  11.                             {11}
  12.                         IRQNoFlags ()
  13.                             {15}
  14.                         Memory32Fixed (ReadOnly,
  15.                             0xFED00000,         // Address Base
  16.                             0x00000400,         // Address Length
  17.                             _Y03)
  18.                     })
复制代码

7. DTGP
前面的修改调用了这个方法,所以需要加入。这个方法一般dsdt都没有。
  1.     Method (DTGP, 5, NotSerialized)
  2.     {
  3.         If (LEqual (Arg0, Buffer (0x10)
  4.                 {
  5.                     /* 0000 */    0xC6, 0xB7, 0xB5, 0xA0, 0x18, 0x13, 0x1C, 0x44,
  6.                     /* 0008 */    0xB0, 0xC9, 0xFE, 0x69, 0x5E, 0xAF, 0x94, 0x9B
  7.                 }))
  8.         {
  9.             If (LEqual (Arg1, One))
  10.             {
  11.                 If (LEqual (Arg2, Zero))
  12.                 {
  13.                     Store (Buffer (One)
  14.                         {
  15.                             0x03
  16.                         }, Arg4)
  17.                     Return (One)
  18.                 }

  19.                 If (LEqual (Arg2, One))
  20.                 {
  21.                     Return (One)
  22.                 }
  23.             }
  24.         }

  25.         Store (Buffer (One)
  26.             {
  27.                 0x00
  28.             }, Arg4)
  29.         Return (Zero)
  30.     }
复制代码

8. 显卡:
在Device (VGA)中加入如下代码:
  1.                     Name (_SUN, One)
  2.                     Method (_DSM, 4, NotSerialized)
  3.                     {
  4.                    超过了字数限制,详见下载                      2楼有显卡代码
  5.                     }
复制代码

这段代码的作用就是驱动显卡。

9. 亮度调节
dsdt原生就可以调节亮度,修改如下代码即可在调节亮度的时候出现小太阳:
查找Notify (ATKD, Add (LBTN, 0x10))    修改为Notify (ATKD, 0x10)
查找Notify (ATKD, Add (LBTN, 0x20))    修改为Notify (ATKD, 0x20)
添加如下代码到Device (SLPB)前面。
  1.         Device (PNLF)
  2.         {
  3.             Name (_HID, EisaId ("APP0002"))
  4.             Name (_CID, "backlight")
  5.             Name (_UID, 0x0A)
  6.             Name (_STA, 0x0B)
  7.         }
复制代码

以上代码再配合显卡的dsdt代码即可实现小太阳。
而可选安装1使用了另外一种方法
除了以上的修改,还要修改:
删除Method (_Q0E中如下代码
  1.                 If (LGreater (LBTN, Zero))
  2.                 {
  3.                     Decrement (LBTN)
  4.                 }
  5.                 If (LGreater (LBTN, 0x0F))
  6.                 {
  7.                     Store (0x0F, LBTN)
  8.                 }
  9.                 STBR ()
复制代码

删除Method (_Q0F中如下代码
  1.                 If (LLess (LBTN, 0x0F))
  2.                 {
  3.                     Increment (LBTN)
  4.                 }
  5.                 Else
  6.                 {
  7.                     Store (0x0F, LBTN)
  8.                 }
  9.                 STBR ()
复制代码

在Method (_BCM中,
Store (Arg0, LBTN)后面添加:
  1.                             If (LLess (LBTN, Zero))
  2.                             {
  3.                                 Store (Zero, LBTN)
  4.                             }
  5.                             If (LGreater (LBTN, 0x0F))
  6.                             {
  7.                                 Store (0x0F, LBTN)
  8.                             }
复制代码

在Method (_BCL,中,将0x0F-Zero的顺序倒过来,如下:
  1.                         Method (_BCL, 0, NotSerialized)
  2.                         {
  3.                             Return (Package (0x10)
  4.                             {
  5.                                 Zero,
  6.                                 One,
  7.                                 0x02,
  8.                                 0x03,
  9.                                 0x04,
  10.                                 0x05,
  11.                                 0x06,
  12.                                 0x07,
  13.                                 0x08,
  14.                                 0x09,
  15.                                 0x0A,
  16.                                 0x0B,
  17.                                 0x0C,
  18.                                 0x0D,
  19.                                 0x0E,
  20.                                 0x0F
  21.                             })
  22.                         }
复制代码

在Device (LCDD)中加入:
  1.                        Name (_HID, EisaId ("LCD1234"))
复制代码

10. 其它修改
其它没有提到的修改只是修复了在编译dsdt时候的警告信息。并没有实质作用。

二、 变色龙参数
驱动显卡,并读取显卡bios,完善驱动信息。
  1. GraphicsEnabler=Yes
  2. UseNvidiaROM=Yes
  3. VBIOS=Yes
复制代码

修复USB接口。
  1. USBBusFix=Yes
复制代码

修复重新启动
  1. RestartFix=Yes
复制代码

设定PciRoot,这个值具体是多少可以在dsdt中找到。f8sv是0。这个值设置错误会导致uuid错误、无法驱动显卡。
  1. PciRoot=0
复制代码

使用SMBIOS.plist的自定义参数。其中设置机型的参数最重要,设置不正确将直接导致cpu节能降频和显卡无法驱动。
  1. SMBIOSdefaults=Yes
  2. SMBIOS /Extra/SMBIOS.plist
复制代码

使用KernelCache,代替Extensions.mkext,并忽略/Extra/Extensions里面的驱动。可以提高启动速度,修复
0        0 AppleUSBCDC: start - initDevice failed错误
  1. UseKernelCache=Yes
复制代码

三、 驱动修改
AppleACPIPS2Nub.kext VoodooPS2Controller.kext
PS2鼠标键盘触摸板驱动。论坛里面的双指滑动那个版本

AppleACPIPlatform.kext VoodooBattery.kext 电池驱动

FakeSMC.kext 2.5版本 最稳定
黑苹果必备的SMC驱动。

AsusHotkeys.kext 华硕的快捷键驱动。实现键盘音量调节

IOFireWireFamily.kext FireWire驱动
由于f8sv的FireWire有问题,在内核日志里面刷屏显示guid0000000错误,并且我也没有FireWire设备。这个驱动实际上是屏蔽了FireWire。

IONetworkingFamily.kext 网卡驱动。由于Lion的网卡驱动不含AppleRTL8169Ethernet.kext,所以我从10.6.8里面提取了这个驱动加入了Lion的网卡驱动里面。

AppleHDA.kext 声卡驱动。修改方法见远景论坛Lion板块顶置帖子。

AppleRTC.kext
使用命令:
  1. sudo perl -pi -e 's|\x8b\x45\xc8\x39\x45\xcc\x74\x0b|\x8b\x45\xc8\x39\x45\xcc\xeb\x0b|; s|\x8b\x45\xb4\x39\x45\xb8\x74\x08|\x8b\x45\xb4\x39\x45\xb8\xeb\x08|' /System/Library/Extensions/AppleRTC.kext/Contents/MacOS/AppleRTC
复制代码

修改,解决了睡眠重新启动,重置bios的问题。

IOPlatformPluginFamily.kext
修改了macbookpro3,1.plist,修正了pstate顺序不对导致的cpu降频的问题。

VoodooSDHC.kext
读卡器驱动,驱动了读卡器,但是好像对读卡器支持并不是特别好,慎用,小心损坏了你的SD卡里面的重要数据。

可选安装1
GenericBrightness.kext
显示器亮度调节驱动,配合dsdt的修改实现完整功能的亮度控制功能。

可选安装2
IntelCPUMonitor.kext
显示CPU温度
NVClockX.kext
显示Nvdia显卡温度
ACPIMonitor.kext
显示其它温度和风扇转速

下载链接:http://u.115.com/file/clny4ed4#
F8SV_Lion_2011-08-20.zip
包括所有驱动,工具,详细的说明文档。
7

查看全部评分

资深潜水

Rank: 5Rank: 5Rank: 5

UID
179511
帖子
313
PB币
1556
贡献
0
技术
10
活跃
156
沙发
发表于 2011-8-20 23:43:33 IP属地河南
本帖最后由 zgalvin 于 2011-8-20 23:44 编辑

一楼字数限制,把显卡代码发在这里。
8. 显卡:
在Device (VGA)中加入如下代码:
  1.                     Name (_SUN, One)
  2.                     Method (_DSM, 4, NotSerialized)
  3.                     {
  4.                         Store (Package (0x2A)
  5.                             {
  6.                                 "@0,backlight-control",
  7.                                 Buffer (0x04)
  8.                                 {
  9.                                     0x01, 0x00, 0x00, 0x00
  10.                                 },

  11.                                 "@0,built-in",
  12.                                 Buffer (One)
  13.                                 {
  14.                                     0x01
  15.                                 },

  16.                                 "@0,pwm-info",
  17.                                 Buffer (0x14)
  18.                                 {
  19.                                     /* 0000 */    0x01, 0x14, 0x00, 0x64, 0x78, 0x69, 0x00, 0x00,
  20.                                     /* 0008 */    0x08, 0x52, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
  21.                                     /* 0010 */    0x00, 0x04, 0x00, 0x00
  22.                                 },

  23.                                 "@0,NVMT",
  24.                                 Buffer (0x60)
  25.                                 {
  26.                                     /* 0000 */    0x0B, 0x03, 0x7F, 0x20, 0x06, 0x10, 0x61, 0x9C,
  27.                                     /* 0008 */    0x90, 0x06, 0x1A, 0x04, 0x30, 0x07, 0xB0, 0x06,
  28.                                     /* 0010 */    0xE0, 0x06, 0x00, 0x00, 0x38, 0x04, 0x1D, 0x04,
  29.                                     /* 0018 */    0x23, 0x04, 0x00, 0x00, 0xC0, 0xCB, 0x17, 0x07,
  30.                                     /* 0020 */    0x00, 0x00, 0x01, 0x01, 0x8A, 0x00, 0x00, 0x00,
  31.                                     /* 0028 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  32.                                     /* 0030 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  33.                                     /* 0038 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  34.                                     /* 0040 */    0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
  35.                                     /* 0048 */    0x00, 0x00, 0x00, 0x00, 0x80, 0x4A, 0x5D, 0x05,
  36.                                     /* 0050 */    0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
  37.                                     /* 0058 */    0x00, 0x08, 0x00, 0x00, 0xFB, 0x03, 0x00, 0x00
  38.                                 },

  39.                                 "@0,compatible",
  40.                                 Buffer (0x0B)
  41.                                 {
  42.                                     "NVDA,NVMac"
  43.                                 },

  44.                                 "@0,device_type",
  45.                                 Buffer (0x08)
  46.                                 {
  47.                                     "display"
  48.                                 },

  49.                                 "@0,name",
  50.                                 Buffer (0x0F)
  51.                                 {
  52.                                     "NVDA,Display-A"
  53.                                 },

  54.                                 "@1,compatible",
  55.                                 Buffer (0x0B)
  56.                                 {
  57.                                     "NVDA,NVMac"
  58.                                 },

  59.                                 "@1,device_type",
  60.                                 Buffer (0x08)
  61.                                 {
  62.                                     "display"
  63.                                 },

  64.                                 "@1,name",
  65.                                 Buffer (0x0F)
  66.                                 {
  67.                                     "NVDA,Display-B"
  68.                                 },

  69.                                 "NVCAP",
  70.                                 Buffer (0x18)
  71.                                 {
  72.                                     /* 0000 */    0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
  73.                                     /* 0008 */    0x7E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A,
  74.                                     /* 0010 */    0x00, 0x00, 0x00, 0x00
  75.                                 },

  76.                                 "NVPM",
  77.                                 Buffer (0x20)
  78.                                 {
  79.                                     /* 0000 */    0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  80.                                     /* 0008 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  81.                                     /* 0010 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  82.                                     /* 0018 */    0x00, 0x00, 0x00, 0x00
  83.                                 },

  84.                                 "IOPCIExpressASPMDefault",
  85.                                 Zero,
  86.                                 " IOPCIExpressLinkCapabilities",
  87.                                 0x02013D01,
  88.                                 "IOPCIExpressLinkStatus",
  89.                                 0x1101,
  90.                                 "VRAM,totalsize",
  91.                                 Buffer (0x04)
  92.                                 {
  93.                                     0x00, 0x00, 0x00, 0x10
  94.                                 },

  95.                                 "device_type",
  96.                                 Buffer (0x0D)
  97.                                 {
  98.                                     "NVDA,GeForce"
  99.                                 },

  100.                                 "model",
  101.                                 Buffer (0x18)
  102.                                 {
  103.                                     "NVIDIA GeForce 8600M GT"
  104.                                 },

  105.                                 "hda-gfx",
  106.                                 Buffer (0x0A)
  107.                                 {
  108.                                     "onboard-1"
  109.                                 },

  110.                                 "rom-revision",
  111.                                 Buffer (0x0F)
  112.                                 {
  113.                                     "60.84.41.00.19"
  114.                                 },

  115.                                 "reg",
  116.                                 Buffer (0x78)
  117.                                 {
  118.                                     /* 0000 */    0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
  119.                                     /* 0008 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  120.                                     /* 0010 */    0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x01, 0x02,
  121.                                     /* 0018 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  122.                                     /* 0020 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
  123.                                     /* 0028 */    0x14, 0x00, 0x01, 0x42, 0x00, 0x00, 0x00, 0x00,
  124.                                     /* 0030 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  125.                                     /* 0038 */    0x00, 0x00, 0x00, 0x10, 0x1C, 0x00, 0x01, 0x02,
  126.                                     /* 0040 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  127.                                     /* 0048 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
  128.                                     /* 0050 */    0x24, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00,
  129.                                     /* 0058 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  130.                                     /* 0060 */    0x80, 0x00, 0x00, 0x00, 0x30, 0x00, 0x01, 0x02,
  131.                                     /* 0068 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  132.                                     /* 0070 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00
  133.                                 }
  134.                             }, Local0)
  135.                         DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
  136.                         Return (Local0)
  137.                     }
复制代码


这段代码的作用就是驱动显卡。

Rank: 7Rank: 7Rank: 7

UID
494325
帖子
1262
PB币
19
贡献
0
技术
2
活跃
179
板凳
发表于 2011-8-20 23:56:32 IP属地浙江
不错哦

谢谢分享

Rank: 7Rank: 7Rank: 7

UID
1073373
帖子
2191
PB币
6082
贡献
0
技术
2
活跃
100
4F
发表于 2011-8-21 00:26:07 IP属地上海
开机有没有扁苹果

资深潜水

Rank: 5Rank: 5Rank: 5

UID
179511
帖子
313
PB币
1556
贡献
0
技术
10
活跃
156
5F
发表于 2011-8-21 00:29:03 IP属地河南
回复 humblying 的帖子

扁么?不扁啊,一个圆圆的被咬了一口的苹果下面再加上一个小菊花。

Rank: 7Rank: 7Rank: 7

UID
1073373
帖子
2191
PB币
6082
贡献
0
技术
2
活跃
100
6F
发表于 2011-8-21 01:01:40 IP属地上海
回复 zgalvin 的帖子

你变色龙开机变色龙分辨率识别正确?

Rank: 5Rank: 5Rank: 5

UID
1006567
帖子
599
PB币
334
贡献
0
技术
2
活跃
80
7F
发表于 2011-8-21 06:59:50 IP属地白俄罗斯
谢谢分享!!!!!!!!

UID
33083
帖子
15755
PB币
8449
贡献
0
技术
180
活跃
813

Win10先驱者 精解Windows 10 荣誉会员 7周年庆典勋章

8F
发表于 2011-8-21 08:18:05 IP属地广东
好详细的教程,谢谢楼主,学习了

Rank: 2Rank: 2

UID
1809176
帖子
311
PB币
37
贡献
0
技术
6
活跃
1500
9F
发表于 2011-8-21 09:16:30 IP属地北京
支持一下,好厉害的lz

资深潜水

Rank: 5Rank: 5Rank: 5

UID
179511
帖子
313
PB币
1556
贡献
0
技术
10
活跃
156
10F
发表于 2011-8-21 09:48:30 IP属地河南
回复 humblying 的帖子

正常,我开机就设置了我的默认分辨率
Graphics Mode=1280x800x32

Rank: 5Rank: 5Rank: 5

UID
1319760
帖子
508
PB币
599
贡献
0
技术
4
活跃
1047
11F
发表于 2011-8-21 12:48:51 IP属地浙江
帅气~很厉害的帖子~

Rank: 11Rank: 11Rank: 11

UID
1590022
帖子
5819
PB币
15279
贡献
4
技术
527
活跃
208
12F
发表于 2011-8-21 15:32:17 IP属地福建
回复 zgalvin 的帖子

请问你里面所说的睡眠代码调用xp的,能解决睡眠问题,请问有原帖么~

资深潜水

Rank: 5Rank: 5Rank: 5

UID
179511
帖子
313
PB币
1556
贡献
0
技术
10
活跃
156
13F
发表于 2011-8-21 16:19:12 IP属地河南
回复 zlxdike 的帖子

设置系统版本,让Darwin使用与xp相同的dsdt配置,默认dsdt没有Darwin这一项,所以在运行Lion的时候,dsdt不认识Darwin这个系统,有可能会导致dsdt的一些功能失效。
有个朋友是华硕的本子,他是用的vista的,我用的xp的,其它就没见过这样的改法了。
我的dsdt不需要修改就可以加载hpet lpc cpupowermanagement,使用节能降频。
基本上来说,该加载的kext都正常以后,如果还不能睡,就是我修改的这里,还有睡眠模式s3是否支持了。我的笔记本混合睡眠就有问题,所以还需要改睡眠模式。
至于睡眠唤醒,那又是另外一回事了,先睡得着,再唤得醒吧

ASUS A41ID99.99%完美了,关机,睡眠,重启,HOTKEYS,降频,唤醒有声
https://bbs.pcbeta.com/viewthread-900683-1-1.html

Rank: 2Rank: 2

UID
16366
帖子
155
PB币
22
贡献
0
技术
39
活跃
541
14F
发表于 2011-8-21 20:54:58 IP属地四川
严重支持一下!!!

Rank: 5Rank: 5Rank: 5

UID
160578
帖子
535
PB币
2325
贡献
0
技术
35
活跃
504
15F
发表于 2011-8-23 21:13:01 IP属地广东
支持一下喽,LZ把这款机子研究很透,我直接享用了哈哈。。。最近都在研究T420,华硕本本好久没碰了。。。
头像被屏蔽

Rank: 2Rank: 2

UID
438482
帖子
432
PB币
0
贡献
0
技术
1
活跃
76
16F
发表于 2011-8-24 14:33:26 IP属地浙江
提示: 作者被禁止或删除 内容自动屏蔽

Rank: 2Rank: 2

UID
320567
帖子
467
PB币
432
贡献
0
技术
0
活跃
134
17F
发表于 2011-8-25 23:50:11 IP属地陕西
如果用efi分区引导需要把boot0,boot1安装在efi吗?谢谢您。

资深潜水

Rank: 5Rank: 5Rank: 5

UID
179511
帖子
313
PB币
1556
贡献
0
技术
10
活跃
156
18F
发表于 2011-8-27 20:30:13 IP属地四川
本帖最后由 zgalvin 于 2011-8-27 20:30 编辑

更新:原来网卡驱动使用10.6.8的有问题。
换RealtekRTL81xx.kext就可以了。

RealtekRTL81xx.kext.7z

62.78 KB, 下载次数: 27, 下载积分: PB币 -1

Rank: 2Rank: 2

UID
115968
帖子
342
PB币
2723
贡献
0
技术
0
活跃
24
19F
发表于 2011-8-27 20:49:06 IP属地河南
本帖最后由 notebookyjlt 于 2011-8-27 20:49 编辑

多谢分享 支持 我正好可以偷懒了 呵呵

Rank: 2Rank: 2

UID
2013846
帖子
217
PB币
153
贡献
0
技术
0
活跃
0
20F
发表于 2011-8-27 23:43:47 IP属地未知
楼主,我问一下,你的是双硬盘,对吧
那mac的硬盘是主还是从?
回顶部
Copyright (C) 2005-2024 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号  CDN加速及安全服务由「快御」提供
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win11论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛