mac ox系统的驱动安装常规操作:
下载到 *.kext 的驱动以后,都可以直接把它拖到 /System/Library/Extensions/ 下替换掉原来的文件。替换了以后,还需要修复权限才能够正常使用。因为 Mac OS X 是基于 FreeBSD 的操作系统,因此 Unix 下对文件权限的依赖就被继承了下来了。大家在替换了 *,kext 文件以后,必须要打开终端,输入如下命令:
sudo -s 
chmod -R 755 /System/Library/Extensions 
chown -R root:wheel /System/Library/Extensions 
rm -rf /System/Library/Extensions.* 
diskutil repairpermissions /
sudo -s (这个命令是把当前用户升级到系统管理员用户,当然,还要输入管理员密码。)
chmod -R 755 /System/Library/Extensions (这个命令是把 Extensions 下的所有文件的权限都设置成 755,关于权限数字的意义,请参考 Linux/Unix 的命令解释,限于篇幅,这里不说了。)
chown -R root:wheel /System/Library/Extensions (这个命令把 Extensions 下的所有文件的所有者和组别都设置成为 root:wheel。换句话说,Extensions 下的所有文件都设置成为管理员为所有者)
rm -rf /System/Library/Extensions.* (这个命令将删除系统的内核扩展缓存。为了加快启动速度,Mac OS X 把本机的驱动制作成一个 内核扩展缓存,开机时只加载这个缓存,而不必全部 kext 都要加载。我们为了让系统加载新更换的驱动,一定要把缓存删除才行。不过要注意,最后的 .* 是必不可少的。因为 rm -r 是一个递归操作,如果不加 .* 的话,这个命令将会把 Extensions 整个文件夹删除!)
diskutil repairpermissions / (这个命令将修复 / 下的所有文件的权限。diskutil 是一个只有 Mac OS X 才有的命令,其作用就是检测和修复磁盘权限。)
举例:
[MAC]基于X86的苹果系统驱动程序的安装。
苹果系统是基于UNIX的操作系统,其驱动的安装也类似于UNIX的。在真正的苹果电脑中安装OSX是根本不许要手动安装任何驱动的,但我们的想法是在普通机器上安装OSX,那就没那么好的运气保证你所有的硬件都能被OSX识别了,大部分时候我们需要手动安装驱动,网上有很多类型的驱动,甚至有苹果爱好者自己开发的驱动,而大多都是以驱动文件的形式存在,需要手动安装。
当你下载下来驱动之后,会发现所有的驱动文件后缀名字都是以kext结尾的,例如AppleAC97.kext为Intel版苹果的AC97声卡驱动。
安装驱动一般的步骤为:注意,UNIX系统区分大小写,所以务必看好以下命令的大小写
1、将驱动文件解压缩为.kext文件,放到桌面上。
2、打开终端(相当于windows中的命令行)。
3、输入cd ~/desktop     (这一行的意思是进入桌面,使桌面成为当前目录)
4、输入sudo chown -R root:wheel *.kext (*.kext就是你的驱动文件,这一行的作用为为后面的操作赋予管理员权限)
5、输入你的root密码,然后回车,如果密码没有可以直接回车。
6、输入sudo chmod -R 755 *.kext (将驱动导入)
7、sudo kextload -v *.kext (加载驱动,如果正常就可以看到你设备的名称了)
8、如果驱动不正常,请输入sudo kextunload *.kext 然后再进行一便4~7,如还是不行那么旧得考虑驱动是否适合你的硬件了。
9、驱动正常后需要保存设定,使下次启动也能生效,输入sudo cp -R *.kext /system/library/extensions
10、重建驱动缓存sudo kextcache -k/*.kext
重新启动就可以使用你的新硬件了!

----------------------------------

本人在MAC OSX 下使用开源的LIBUSB驱动实现USB设备的SCSI命令通讯相关应用程序的开发时, 使用libusb_claim_interfaces函数总是返回3(即访问禁止),解决办法: 1.访问设备之前使用系统命令kextunload停止系统驱动模块 /System/Library/Extensions/IOUSBMassStorageClass.kext,命令如下; "kextunload /System/Library/Extensions/IOUSBMassStorageClass.kext" 2.然后使用libusb_claim_interfaces()函数,可成功调用,已经测试 3.使用完该程序中所有的usb功能的通讯调用后,可通过系统命令kextload重性加载该驱动模块,命令如下; "kextload /System/Library/Extensions/IOUSBMassStorageClass.kext",本人在项目中,除了实现SCSI相关的通讯之外,还要系统 支持USB的U盘访问的功能,故程序使用完LIBUSB的函数调用后,通过系统命令kextload重性加载该驱动来挂结U盘进行数据访问. 4.如果下次再要使用LIBUSB的libusb_claim_interfaces函数进行通讯时,请重复步骤1,2,3,如果步骤1出现kext is use or retained(cannot unload), 请不用管它,等1-3秒后,你也可以重新试一下不加载该驱动.kext,也许就不会报这个错,经过测试,果然可以不加载,OK。 5.总结,下次出现同样的问题或相类似的问题可以采用相同的方法解决,在此记下,以加深印象。 题外心得,多参考相关技术的资料,勤动手实践,一定可以解决存在的问题

MAC OSX 驱动操作的更多相关文章

  1. 绿联Type-C千兆网卡AX88179芯片驱动(苹果Mac OSX系统)CM141丨CM179

    绿联Type-C千兆网卡AX88179芯片驱动(苹果Mac OSX系统)CM141丨CM179 下载地址:https://www.lulian.cn/download/6-cn.html AX8817 ...

  2. Mac OSX操作系统安装和配置Zend Server 6教程(1)

    作为web开发人员,应该熟悉掌握各种系统下安装和配置web服务器与站点的技术. 随着越来越多的开发人员选择Zend Server服务器,慧都推出了在Mac OSX系统安装和配置Zend Server ...

  3. Mac OSX 快捷键&命令行总览

    大家初用Mac OSX可能不习惯,特别收集总结了Mac OSX 上的快捷键,方便大家参考 ,请叫我雷锋. 一.Mac OSX 快捷键 ctrl+shift                       ...

  4. 虚拟机VMware 9安装苹果MAC OSX 10.8图文教程

    前些天虚拟机VMware Workstation 9出来,相信大家都已经熟悉VM9了,至于MAC OSX 10.8系统,那也是出来一段时间了,本篇文章就是来讲解VMware Workstation 9 ...

  5. Mac OSX 快捷键&命令行

    一.Mac OSX 快捷键 ctrl+shift                                    快速放大dock的图标会暂时放大,而如果你开启了dock放大Command+Op ...

  6. rapoo mt700键盘mac osx不能复制问题

    问题描述:rapoo mt700键盘mac osx,按windows建+c不能复制,其它按键正常 解决办法:检查右上角windows等是否亮,如果是亮着按FN+WIN 切换模式 操作方法: 有线模式: ...

  7. XE6移动开发环境搭建之IOS篇(8):在Mac OSX 10.8中安装XE6的PAServer(有图有真相)

    网上能找到的关于Delphi XE系列的移动开发环境的相关文章甚少,本文尽量以详细的图文内容.傻瓜式的表达来告诉你想要的答案. 原创作品,请尊重作者劳动成果,转载请注明出处!!! 安装PAServer ...

  8. XE6移动开发环境搭建之IOS篇(6):设置Mac OSX的网络。(有图有真相)

    网上能找到的关于Delphi XE系列的移动开发环境的相关文章甚少,本文尽量以详细的图文内容.傻瓜式的表达来告诉你想要的答案. 原创作品,请尊重作者劳动成果,转载请注明出处!!! 我们配置一下MAC的 ...

  9. Mac OSX 下用 Homebrew 安装 MongoDB 并配置到 WebStorm 中

    1. 安装 Ruby OSX 操作系统内置 Ruby,但如果没有 Ruby,则需先输入以下命令安装能够进行多版本ruby环境安装.管理和切换的命令行工具 RVM. 1.1 安装 RVM 打开终端输入以 ...

随机推荐

  1. Ajax实例-购物车

    一.概述 1.当添加或删除商品时,购物车会立即更新数据 2.思路: (1)建立商品类Item.java,存有商品属性name,prince,code(商品编码)等 (2)建立商品目录类Catalog. ...

  2. 禁用/启用本地连接的dos命令是什么啊?

    运行如下命令:netsh interface show interface 将显示类似下面的画面:Admin State State Type Interface Name ------------- ...

  3. 【总结】你所不知道的Java序列化

    我们都知道,Java序列化可以让我们记录下运行时的对象状态(对象实例域的值),也就是我们经常说的对象持久化 .这个过程其实是非常复杂的,这里我们就好好理解一下Java的对象序列化. 1. 首先我们要搞 ...

  4. linux下安装配置DHCP服务器

    前提是已经安装了 core 及 base 两个组 1 2 3 4 5 # cat /etc/redhat-release   Red Hat Enterprise Linux Server relea ...

  5. 人脸识别算法准确率最终超过了人类 The Face Recognition Algorithm That Finally Outperforms Humans

    Everybody has had the experience of not recognising someone they know—changes in pose, illumination ...

  6. Docker基础技术:Linux CGroup

    前面,我们介绍了Linux Namespace,但是Namespace解决的问题主要是环境隔离的问题,这只是虚拟化中最最基础的一步,我们还需要解决对计算机资源使用上的隔离.也就是说,虽然你通过Name ...

  7. 事务回滚后,自增ID仍然增加

    回滚后,自增ID仍然增加. 比如当前ID是7,插入一条数据后,又回滚了.然后你再插入一条数据,此时插入成功,这时候你的ID不是8,而是9.因为虽然你之前插入回滚,但是ID还是自增了. 如果你认为自增I ...

  8. ubuntu完美搭建git服务器【转】

    转自:http://blog.csdn.net/tommy_wxie/article/details/38779667 最近公司项目需要用到Git来管理项目,正好逢周末花了点时间在虚拟机的unbunt ...

  9. 6.cadence原理图下[原创]

    一.平坦式原理图与分页式原理图 1 和2为平坦式原理图,平等 1和3为分页式原理图   有上下关系 ------------------------------------ 1.平坦式原理图 每张原理 ...

  10. shell 块注释

    方法一 : ' 被注释的多行内容 ' 方法二 :<<eof 被注释的多行内容 eof 方法三 :<<! 被注释的多行内容 ! 方法四 if false ; then 被注释的多 ...