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 打开终端输入以 ...
随机推荐
- Ajax实例-购物车
一.概述 1.当添加或删除商品时,购物车会立即更新数据 2.思路: (1)建立商品类Item.java,存有商品属性name,prince,code(商品编码)等 (2)建立商品目录类Catalog. ...
- 禁用/启用本地连接的dos命令是什么啊?
运行如下命令:netsh interface show interface 将显示类似下面的画面:Admin State State Type Interface Name ------------- ...
- 【总结】你所不知道的Java序列化
我们都知道,Java序列化可以让我们记录下运行时的对象状态(对象实例域的值),也就是我们经常说的对象持久化 .这个过程其实是非常复杂的,这里我们就好好理解一下Java的对象序列化. 1. 首先我们要搞 ...
- linux下安装配置DHCP服务器
前提是已经安装了 core 及 base 两个组 1 2 3 4 5 # cat /etc/redhat-release Red Hat Enterprise Linux Server relea ...
- 人脸识别算法准确率最终超过了人类 The Face Recognition Algorithm That Finally Outperforms Humans
Everybody has had the experience of not recognising someone they know—changes in pose, illumination ...
- Docker基础技术:Linux CGroup
前面,我们介绍了Linux Namespace,但是Namespace解决的问题主要是环境隔离的问题,这只是虚拟化中最最基础的一步,我们还需要解决对计算机资源使用上的隔离.也就是说,虽然你通过Name ...
- 事务回滚后,自增ID仍然增加
回滚后,自增ID仍然增加. 比如当前ID是7,插入一条数据后,又回滚了.然后你再插入一条数据,此时插入成功,这时候你的ID不是8,而是9.因为虽然你之前插入回滚,但是ID还是自增了. 如果你认为自增I ...
- ubuntu完美搭建git服务器【转】
转自:http://blog.csdn.net/tommy_wxie/article/details/38779667 最近公司项目需要用到Git来管理项目,正好逢周末花了点时间在虚拟机的unbunt ...
- 6.cadence原理图下[原创]
一.平坦式原理图与分页式原理图 1 和2为平坦式原理图,平等 1和3为分页式原理图 有上下关系 ------------------------------------ 1.平坦式原理图 每张原理 ...
- shell 块注释
方法一 : ' 被注释的多行内容 ' 方法二 :<<eof 被注释的多行内容 eof 方法三 :<<! 被注释的多行内容 ! 方法四 if false ; then 被注释的多 ...