构建和安装驱动程序
本节介绍对不同架构需使用的编译选项,以及安装驱动程序的位置。
编译和连接驱动程序
使用 -D_KERNEL
选项指示该代码用于定义内核模块。
在临时位置安装驱动程序
在安装驱动程序时要确保您是用户 root。
在完成对 _info()、_init() 和attach()
例程的修改和测试以前,要将驱动程序安装在 /tmp 目录里。将驱动程序的二进制文件复制到 /tmp
目录。从内核驱动程序目录连接到本驱动程序。
如果某一驱动程序的 _info()、_init()
或 attach() 函数出现了错误,机器可能会陷入一种没完没了的忙乱之中。忙乱之后,Solaris
操作系统会自动重启。在启动过程中,Solaris 操作系统会加载它可以加载的任何驱动程序。如果在加载驱动程序时导致系统忙乱的
attach() 函数中存在错误,则在该忙乱之后再行重启时系统将会再度陷入忙乱。系统将不停地重复忙乱、重启、忙乱循环,因为在忙乱之后每次重启时,它都力图重新加载这个有毛病的驱动程序。
为了避免没完没了的忙乱,请把驱动程序保存在
/tmp 区,直到完全测试好之后为止。从内核驱动程序区连接到 /tmp 区的驱动程序。每当系统重启时,Solaris
操作系统都会删除 /tmp 区的所有文件。若驱动程序导致了忙乱,Solaris 操作系统可以成功重启,因为驱动程序已从
/tmp 区自动删除。内核驱动程序区中的连接无处可指。错误的驱动程序加载不上,故系统不会再次陷入忙乱。您可以修改驱动程序、将其重新复制到
/tmp 区,并继续进行测试和开发。当驱动程序测试好后,将其复制到 /usr/kernel/drv
区,这样在重启后它就会仍然可用。
将配置文件复制到系统的内核驱动程序区。
# cp dummy.conf /usr/kernel/drv
|
|