请注意:只要在 Terminal 程序提供的 shell 中键入一个命令,您就可以查看这些工具的在线文档(调用UNIX世界的 man 页面)了,这个命令就是 man,它所带的主参数是您希望察看的工具名称。举例来说,如果您希望察看 kextload 工具的 man 页面,则在 Terminal 上键入如下命令: man kextload
下面列表用于设备驱动程序开发的命令行工具
工具描述和位置ioreg打印 I/O Registry 的内容(I/O Registry Explorer 程序的命令行版本)。kextload装载一个内核扩展(比如设备驱动程序),或者为远程调试生成一个静态的连接符号文件。kextunload卸载一个内核扩展(如果可能的话)。kextstat打印当前装载的设备驱动程序和其他内核扩展的统计信息。iostat显示对终端,磁盘,以及CPU操作的内核 I/O 的统计信息。ioclasscount显示一个特定类的实例数目。ioalloccount显示内核中的 I/O Kit 对象所分配的内存的计数信息。kextcache把内核扩展(包括驱动程序)进行压缩和归档,以便在系统启动时可以自动被载入内核。参见“装载”文档。gcc 苹果版本的 GNU C++ 编译器;在各个标志都被正确设定了的 I/O Kit 工程中,Project Builder 会自动激活这个编译器。gdb苹果版本的 GNU 调试器,在各个标志都被正确设定了的 I/O Kit 工程中,Project Builder 会自动激活这个调试器。NAME
kextload -- loads, validates, and generates symbols for a kernel extension (kext)
SYNOPSIS kextload [-h] [ -v | -q ] [-t] [-i | -I] [-x] [-z] [-e] [-c] [-D] [-k kernel_file]
[-d extension] ...[-r directory] ...[ -l | -m | -n | -A | -a kext_id@address ] ...
[-s directory] [-p personality] ...[-b bundle_id] ...[--] ...
DESCRIPTION
The kextload program is used to explicitly load kernel extensions (kexts), validate them to see that
they can be loaded by other mechanisms, such as kextd(8), and to generate symbol files for debugging the kext in a running kernel.In order to load a kext into the kernel kextload must be invoked as
the superuser; for all other uses it can be invoked by any user.
kextload is a formal inte***ce for kext loading in the Darwin OS and in Mac OS X.Software and
installers can rely on its presence and invoke it in order to load kexts.
kextload has many options, but most of them are rarely necessary.See the EXAMPLES section for tips
on common uses.The arguments and options available are these:
extension The pathname of a kext bundle to load or otherwise use.Kexts can also be specified by
CFBundleIdentifier with the -b option.
-a kext_id@address
Treat the kext whose CFBundleIdenfier is kext_id as being loaded at address when generating
symbol files and not loading.When generating symbols only, all dependencies must have known addresses.Use this option repeatedly for every nonkernel dependency.This option
implies the use of the -n option. See also -A and -n.
-A When generating symbol files and not loading, look up all dependency kext addresses within
the running kernel.This option implies the use of the -n option. See also -a and -n.
-b bundle_id
Look up the kext whose CFBundleIdentifier is bundle_id within the set of known kexts and load it.See the -d, -e, and -r options for more information.
-c Ignore any repository cache files and scan all kext bundles to gather information.If this
option is not given, kextload will attempt to use cache files and to create them if they are
out of date or don't exist.
-d extension
Add extension to the set of known kexts for resolving dependencies.This is useful for adding a single kext from a directory while excluding the others.See the -e and -r options
for more information.
:
[ 本帖最后由 TTNK 于 2008-10-2 02:38 编辑 ] com.apple.AppleDiskImageController(苹果磁盘镜像控制器)
现在就明白道理啦.
/usr/bin/sudo /sbin/kextunload -c com.apple.AppleDiskImageController (推出苹果磁盘镜像控制器)
/usr/bin/sudo /sbin/kextload -b com.apple.AppleDiskImageController (加载苹果磁盘镜像控制器)
也可以写成:
sudo kextunload -c com.apple.AppleDiskImageController
sudo kextload -b com.apple.AppleDiskImageController
制作sh脚本:
sudo -s
nano /dmg
复制进去:sudo kextunload -c com.apple.AppleDiskImageController
sudo kextload -b com.apple.AppleDiskImageController
Ctrl + O 保存
Ctrl + X 退出
以后需要使用DMG文件时,就在终端:
sh/dmg
dmg文件就会加载了.
[ 本帖最后由 TTNK 于 2008-10-2 02:51 编辑 ]
页:
[1]