货物出库流程:kextstat realtekrtl81xx.kext

来源:百度文库 编辑:中财网 时间:2024/05/06 14:16:26
1. 安装驱动重启后没有反应,并且在终端里输入kextstat | grep RadeonHD没有任何输出
这是因为你的系统里使用了某种显卡激活驱动。可能是你手动安装的,也可能是安装系统时勾选了显卡驱动的项目,还可能是boot或者com.apple.Boot.plist里添加的。解决办法是或者手动删除那些激活驱动,或者重装系统时不要选择任何显卡驱动项,或者去除boot/plist里的显卡激活部分。

「安裝」

1. 請解壓縮檔案後,將 RealtekRTL81xx.kext 放置桌面。

2. 使用 “終端機” 將 RealtekRTL81xx.kext 安裝至

/System/Library/Extensions 資料夾。
sudo cp -R ~/Desktop/RealtekRTL81xx.kext /System/Library/Extensions

3. 使用 “終端機” 修復系統權限。
diskutil repairPermissions /

4. 使用 “終端機” 重建緩存。
sudo touch /System/Library/Extensions



另外,的所有权和权限有问题:它被user_name用户和staff组所拥有,而它的目录

权限是rwxrwxr-x(八进制为775)。
出于安全原因,KEXT必须被root用户和wheel组所拥有。另外,KEXT的所有部件对

于非root用户都是不可写的。(关于KEXT的正确权限和所有权的更多信息,请见“

测试和部署驱动程序”)。通过使用sudo命令获得root权限并对BadKEXT执行

kextload -t将会提供下面如列表 7-2所示的信息。

基本的质量控制

测试您的驱动程序的第一步是执行一个基本的质量控制过程。理想情况下,许多这

些检查应该是你的每天的日常开发的一部分:

    内核扩展的权限和所有权是否正确?由于安全的原因,KEXT的任何组件都不能

对非超级用户是可写的。这意味着:

        KEXT中的所有文件和文件夹,包括KEXT自身,必须被root用户拥有(UID

0)。

        KEXT中的所有文件和文件夹,包括KEXT自身,必须被wheel组拥有(GID 0

)。

        KEXT中的所有文件夹,包括KEXT自身,必须拥有0755(八进制)或者

rwxr-xr-x(以ls -l显示)权限。

        KEXT中的所有文件必须拥有0644(八进制)或者rw-r--r--(以ls -l显示

)权限。KEXT不能用来存放用户空间可执行程序。

    在您的post-build和post-install脚本中,您可以使用这些shell脚本命令为

内核扩展设置正确的所有权和权限:

    /usr/sbin/chown -R root:wheel MyDriver.kext

    find MyDriver.kext -type d -exec /bin/chmod 0755 {} \;

    find MyDriver.kext -type f -exec /bin/chmod 0644 {} \;

    您还可以以root身份复制驱动程序到一个临时目录,这样能够给这个内核扩展

正确的所有权和权限。

    您是否测试过驱动程序是否有内存泄露?它能够正常卸载吗?
        加载该驱动程序然后尝试卸载它(使用kextunload),如果它不能成功卸

载,那么此驱动程序留下了没有被释放的对象。您需要跟踪没有匹配的retain和

release。
问题参考见 http://bbs.pcbeta.com/viewthread-906447-1-1.html