编写设备驱动程序

恢复设备目录

如果驱动程序在执行 attach(9E) 期间崩溃,可能会损坏 /devices/dev 目录。如果任一目录被损坏,则可引导系统并运行 fsck(1M) 以修复损坏的根文件系统,从而重新生成目录。然后,便可挂载根文件系统。通过运行 devfsadm(1M) 并在已挂载的磁盘上指定 /devices 目录可以重新创建 /devices/dev 目录。

以下示例说明如何在 SPARC 系统上修复损坏的根文件系统。在此示例中,损坏的磁盘为 /dev/dsk/c0t3d0s0,替代引导磁盘为 /dev/dsk/c0t1d0s0


示例 22–6 恢复损坏的设备目录


ok boot disk1
...
Rebooting with command: boot kernel.test/sparcv9/unix
Boot device: /sbus@1f,0/espdma@e,8400000/esp@e,8800000/sd@31,0:a File and \
    args:
kernel.test/sparcv9/unix
...
# fsck /dev/dsk/c0t3d0s0** /dev/dsk/c0t3d0s0
** Last Mounted on /
** Phase 1 - Check Blocks and Sizes
** Phase 2 - Check Pathnames
** Phase 3 - Check Connectivity
** Phase 4 - Check Reference Counts
** Phase 5 - Check Cyl groups
1478 files, 9922 used, 29261 free
     (141 frags, 3640 blocks, 0.4% fragmentation)
# mount /dev/dsk/c0t3d0s0 /mnt
# devfsadm -r /mnt


注 –

/devices/dev 目录进行修复后,就可以在系统的其他部分仍处于损坏状态时引导系统。此类修复只是在重新安装系统前进行的临时修复,作用是保存信息(如系统崩溃转储)。