MAC OSX 驱动操作
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 驱动操作的更多相关文章
- 绿联Type-C千兆网卡AX88179芯片驱动(苹果Mac OSX系统)CM141丨CM179
绿联Type-C千兆网卡AX88179芯片驱动(苹果Mac OSX系统)CM141丨CM179 下载地址:https://www.lulian.cn/download/6-cn.html AX8817 ...
- Mac OSX操作系统安装和配置Zend Server 6教程(1)
作为web开发人员,应该熟悉掌握各种系统下安装和配置web服务器与站点的技术. 随着越来越多的开发人员选择Zend Server服务器,慧都推出了在Mac OSX系统安装和配置Zend Server ...
- Mac OSX 快捷键&命令行总览
大家初用Mac OSX可能不习惯,特别收集总结了Mac OSX 上的快捷键,方便大家参考 ,请叫我雷锋. 一.Mac OSX 快捷键 ctrl+shift ...
- 虚拟机VMware 9安装苹果MAC OSX 10.8图文教程
前些天虚拟机VMware Workstation 9出来,相信大家都已经熟悉VM9了,至于MAC OSX 10.8系统,那也是出来一段时间了,本篇文章就是来讲解VMware Workstation 9 ...
- Mac OSX 快捷键&命令行
一.Mac OSX 快捷键 ctrl+shift 快速放大dock的图标会暂时放大,而如果你开启了dock放大Command+Op ...
- rapoo mt700键盘mac osx不能复制问题
问题描述:rapoo mt700键盘mac osx,按windows建+c不能复制,其它按键正常 解决办法:检查右上角windows等是否亮,如果是亮着按FN+WIN 切换模式 操作方法: 有线模式: ...
- XE6移动开发环境搭建之IOS篇(8):在Mac OSX 10.8中安装XE6的PAServer(有图有真相)
网上能找到的关于Delphi XE系列的移动开发环境的相关文章甚少,本文尽量以详细的图文内容.傻瓜式的表达来告诉你想要的答案. 原创作品,请尊重作者劳动成果,转载请注明出处!!! 安装PAServer ...
- XE6移动开发环境搭建之IOS篇(6):设置Mac OSX的网络。(有图有真相)
网上能找到的关于Delphi XE系列的移动开发环境的相关文章甚少,本文尽量以详细的图文内容.傻瓜式的表达来告诉你想要的答案. 原创作品,请尊重作者劳动成果,转载请注明出处!!! 我们配置一下MAC的 ...
- Mac OSX 下用 Homebrew 安装 MongoDB 并配置到 WebStorm 中
1. 安装 Ruby OSX 操作系统内置 Ruby,但如果没有 Ruby,则需先输入以下命令安装能够进行多版本ruby环境安装.管理和切换的命令行工具 RVM. 1.1 安装 RVM 打开终端输入以 ...
随机推荐
- linux 打开文件数 too many open files 解决方法
linux 打开文件数 too many open files 解决方法 too many open files 出现这句提示的原因是程序打开的文件/socket连接数量超过系统设定值. 查看每个用户 ...
- 【查找结构3】平衡二叉查找树 [AVL]
在上一个专题中,我们在谈论二叉查找树的效率的时候.不同结构的二叉查找树,查找效率有很大的不同(单支树结构的查找效率退化成了顺序查找).如何解决这个问题呢?关键在于如何最大限度的减小树的深度.正是基于这 ...
- Scala模式匹配和类型系统
1.模式匹配比java中的switch case强大很多,除了值,类型,集合等进行匹配,最常见的Case class进行匹配,Master.scala有大量的模式匹配. Case "_&qu ...
- Hadoop、Pig、Hive、Storm、NOSQL 学习资源收集
(一)hadoop 相关安装部署 1.hadoop在windows cygwin下的部署: http://lib.open-open.com/view/1333428291655 http://blo ...
- 上海二手房8月排名:链家、悟空找房、中原、太平洋、我爱我家、易居、房天下、iwjw、房多多、房好多、q房网、、、
房产网站总结 链家: 悟空找房: 中原: 太平洋: 我爱我家: 易居: 房天下: iwjw:有较多二手房信息 链家称王 房多多领跑电商平台 近日,云房数据公布了8月上海房产中介成交数据,从排行榜来看, ...
- IE JS编程需注意的内存释放问题
1.给DOM对象添加的属性是一个对象的引用.范例:var MyObject = {};document.getElementById('myDiv').myProp = MyObject;解决方法:在 ...
- 什么是PHP Guzzle?
Guzzle是一个使得利用PHP实现发送HTTP 请求,方便和web service集成的PHP 客户端模拟组件.一句话,它就像一个PHP写的浏览器.当你的服务端程序需要作为客户端来访问其他的serv ...
- 事务&视图和索引
一:事务 1.含义:事务是一个不可分割的整体,事务中的多个执行过程,同生共死.要么都执行成功,要么都执行失败. 事务必须具备以下四个属性,(简称:ACID): ①.原子性(Atomicity):事务的 ...
- EntityFramework:支持同一事务提交的批量删除数据实现思路
一切从一段代码说起... 下面一段代码是最近我在对一EF项目进行重构时发现的. protected override void DoRemove(T entity) { this.dbContext. ...
- const,readonly 常量与只读
Const是常量 Const在编译时会被编译为静态成员,它确定于编译时期,属类型级,通过类型来访问. 现在通过以下几种情况来说明const常量: (1)初始化 public const string ...