货物出库流程: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
这是因为你的系统里使用了某种显卡激活驱动。可能是你手动安装的,也可能是安装系统时勾选了显卡驱动的项目,还可能是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