免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: zhyesno

[SCO UNIX] SCO OpenServer系统手册 [复制链接]

论坛徽章:
0
发表于 2006-01-09 16:42 |显示全部楼层

第10章 增加硬盘


  1. 10.4 安装硬盘
  2. 本节描述如何去安装另外的IDE,EIDE,ESDI,IDA或SCSI 硬盘,如果磁盘是SCSI ,应该已经按"配置SCSI 硬盘"中所述更新了系统的配置文件。对所有磁盘控制器类型,假设已实际上安装了硬盘并引导了系统。
  3. ( l)以root注册井进入系统维护万式,
  4. (2)从Hardware/Kernel Manager列出的设备中选择 Hard Disk或键人命令mkdev hd
  5.   (如果需要有关mkdev  详细的使用和帮助信息,键人mkdev  hd -u或mkdev hd -h)。
  6. (3)选择要增加到系统中的硬盘类型。
  7. (4) IDA磁盘:键人逻辑号和它所连接的控制器号。
  8.    SCSI磁盘:键人主机适配器类型和编号、总线号、磁盘控制器ID以及磁盘的LUN
  9.    ST506接口(IDE,EIDE  和一些ESDI )或ESDI磁盘:键人控制器上磁盘号。如
  10.    果你在ISA或 EISA总线机器上安装 IDE或 EIDE磁盘,还必须键人磁盘连接的
  11.    控制器号。
  12. (5)选择继续安装,或退出。如果选择继续安装,驱动程序输出一条信息显示它已被初
  13.    始化。mkdev hd 脚本现在依次运行程序dkinitt(ADM),fdisk( ADM),baldtrk( ADM)
  14.    和divvy(ADM)来配置硬盘以便使用。
  15. ·如果你的磁盘有一个 IDE, EIDE, ESDI或IDA控制器,mkdev hd运行dhinit
  16.   (ADM)它允许你改变为磁盘定义的物理参数,如它的几何尺寸,以及是否支持
  17.   错误更正。更多的信息参见"使用此dkinit改变默认的磁盘参数"。
  18.   对于 SCSI磁盘不运行dkinit。如果要在机器之间移动 SCSI磁盘或改变主机适
  19.   配器,需要运行磁盘上的dparam(ADM)以改变主引导块所定义的几何尺寸。
  20.   见 "写一个新的主引导块"。
  21. ·如果你的磁盘有一个IDE, EIDE或 ESDI控制器,mkdev hd运行fdisk(ADM)以便
  22.   允许你建立磁盘分区。详见"使用 fdisk给硬盘分区"。
  23. ·如果你的磁盘有一个IDE, EIDE或 ESDI控制器,mkdev hd运行badtrk(ADM),
  24.   允许你扫描磁盘并把坏磁道映射到 UNIX系统分区保留的坏磁道表。对于 SCSI
  25.   磁盘,mkdev hd使用badtrk为坏的 SCSI逻辑块保留一个表,但它不允许扫描磁
  26.   盘。详见"使用 badtrk扫描磁盘"缺陷。
  27.   如果虚拟磁盘驱动程序被链人核心,而且你想要把多个硬盘配置成虚拟磁盘,
  28.   在这里选择退出并运行Virtual Disk Manager。
  29. ·mkdev hd脚本运行 divvy(ADM)允许你把 UNIX系统分区划分成独立的文件系
  30.   统和交换区。详见"使用 divvy把磁盘分区划分成区域"。
  31.   现在你已经完成了硬盘安装和配置。你可使系统回到多用户方式。
  32. 10.4.1使用dkinit改变默认的磁盘参数
  33.     如果你正安装一独特的或非标准的磁盘,dkinit允许显示、修改或选择默认的磁盘参数。
  34.     如果你有一个标准的硬盘(一种你的计算机硬件或特殊主板 ROM所支持的),选择默认的磁盘配置并退出 。继续运行fdisk(ADM)给磁盘分区。

  35. 注意:
  36.     如果不能确信磁盘是否是非标准的,使用dkinit 显示选项检查默认参数,使用
  37. 下面的公式按字节计算磁盘的大小:
  38. size=cylinders * heads*sectors per track *512


  39.     有些驱动器以格式化后的出售,有些则以未格式化的出售。一个驱动器格式化后大约是非格式化前的85%。由dkinit所显示的参数可能与驱动器制造商的文档不相符。一些控制器有可供选择的转换、映射或扇区方式。如果在低级格式化时选择了这些方式之一, SCO OpenServer系统使用转换后的参数而不是物理驱动器的参数进行初始化。在所有的情形中,驱动器已知的大小应与用磁盘参数按上述方式计算出来的大致匹配。
  40.    如果磁盘是非标准的,你应该键人信息替代 ROM中磁盘的配置信息。如果不能确信应给你的非标准磁盘键人什么参数,请与磁盘制造商联系索取这个信息。
  41.   你应该提供下列信息:

  42. 磁盘参数        描  述
  43. 柱面数        整个磁盘的柱面数目
  44. 磁头数        磁盘的读/写头数目
  45. 写降低        当写入到内部柱面时,开始降低磁头电流的柱面
  46. 扇区/磁道        每个磁道的扇区数
  47. 10.4.2 使用fdisk给磁盘分区
  48.     使用fdisk(ADM)在硬盘上创建分区。可以让 SCO OpenServer系统使用整个磁盘,也可以保存已被其它操作系统所占用现有分区,如 DOS。最大的分区长度是2太字节(2TB字节=1024G宇节--编者注)。最大可用长度可能还受最大文件系统(区域)长度的限制。
  49.   用fdisk,可以:
  50.   ·显示当前的分区表,显示磁盘上存在的分区(如果有)。最多可有四个分区。对每一个
  51.     分区,该表列出:
  52.     一分区号
  53.     一该分区是否是活动的
  54.     一类型(UNIX系统或其它)
  55.     一分区的起始磁道
  56.     一分区的终止磁道
  57.     一按磁道的分区长度
  58.   ·给 UNIX系统使用整个磁盘。这将破坏任何现有的分区。如果你想让 SCO OpenServer
  59.     系统占据整个磁盘,请选择该项。
  60.   ·让UNIX 系统使用剩余的磁盘。这可以保存所有现存的分区。必须使该分区成为活动
  61.     的。
  62.    ·按指定的长度创建一个 UNIX系统分区。不要分配系统已经给主引导和诊断程序保
  63.      留的磁道。
  64.    ·使一个分区成为活动的。
  65.    ·删除一个分区。
  66.    ·为指定的操作系统创建一个分区。
  67.     如果你打算在整个磁盘上仅创建唯一的 UNIX系统分区,选择那个选项,用显示选项检查它,接着退出。
  68. 10.4.3使用 badtrk扫描磁盘缺陷
  69.     使用badtrk(ADM)扫描 IDE, EIDE和 ESDI磁盘以发现有缺陷的磁道。它把所有有缺陷的磁道映射到磁盘上其它好的磁道上。它还在你的硬盘上创建一个坏磁道表。


  70. 注意:不要在IDA磁盘上运行badtrk。 IDA控制器能自动处理坏磁道。


  71.     当初次安装 SCSI磁盘时,badtrk在分区上产生一个坏块表,但它不扫描整个磁盘。要扫描 SCSI磁盘坏的 SCSI逻辑块,必须在安装磁盘后运行badtrk。在 SCSI磁盘上,badtrk试图使用由磁盘控制器维护的空闲磁盘块作为对坏块的替换。如果坏块不能按这种方式映
  72. 射,磁盘驱动程序使用磁盘分区中空闲块和坏块表映射坏块。你可以给badtrk指定选项-O
  73. 强迫它使用该表。如果磁盘控制器支持自动读/写重映射(ARR/AWR)特性,也可对整个
  74. SCSI磁盘启用它。任何出现的缺陷将被重映射并对用户透明。badtrk可以:
  75. ·显示当前坏磁道/块表。下面是一个只有一项的坏磁道表的示例:
  76.   Defective  Tracks
  77.    Cylinder      Head     Sector Number(s)
  78. 1 . 190           3        12971-12987   

  79. · 扫描磁盘缺陷。扫描可以是"快''或''彻底',破坏性的或非破坏性的。对快速扫描
  80.    来说,典型的扫描速度是每分钟18MB,而对彻底扫描则为每分钟6MB。如果你想保
  81.    留磁盘上的现有数据就不要选择破坏性扫描。
  82.    无论何时,badtrk找到一个有缺陷的磁道,它就显示其在磁盘上的位置,例如:
  83.    WARNING: wd : on fixed disk ctrl=0 dev=0/47 block =31434 cmd=00000020
  84.               Status =00005180,sector=62899,cylinder/head=483/4     
  85.    你可以在任何时候中断扫描并返回到badtrk主菜单。
  86. · 向当前坏磁道/块表中增加登记项:
  87.       在一些重映射磁盘几何结构参数、柱面、磁头、扇区的 IDE和 EIDE驱动器上,对
  88. 坏扇区或块的报告可能不对应于这些数值的实际物理值。在这种情况下,用下面的公式确定被重映射的扇区或块的绝对块地址:
  89.    逻辑地址=((柱面号十 l)×(磁头号十 l)×(每个磁道的扇区数))十扇区号
  90.    注意,这里假设第一个柱面号、磁头号和扇区号都从0计数。
  91. ·从当前坏磁道/块表中删除个别项。
  92. ·从坏磁道/块表中删除所有项。
  93. ·启用支持这种特性的 SCSI磁盘上的自动读/写重映射。任何磁盘上产生的坏块将
  94.   被自动地重新分配到由磁盘控制器管理的缺陷表。
  95. 当安装一个新的磁盘时,应在整个 UNIX系统分区完成彻底的破坏性扫描。扫描一个
  96. 1GB的磁盘可能要花费几个小时。

  97. 注意:
  98.   如果运行(ADM),当心不要在一个错误的磁盘上运行破坏性扫描。
  99.   例如:指定第三个硬盘的第一个分区,应输入:
  100.   /etc/badtrk  -f /dev/rhd21 -s td


  101.     当使用mkdev hd安装一个硬盘时,如果badtrk发现在 UNIX系统分区的开始几个磁道中有错误,那么返回到fdisk。你可以重新绘硬盘分区,把缺陷磁道排除在任何分区之外。
  102. fdisk完成后,badtrk重新运行,让你扫描磁盘以发现更多的缺陷。这个过程继续直到
  103. badtrk在开始几个磁道中找不到缺陷为止。你也许不得不一次次地试验以确定要把多少个
  104. 磁道排除在外。
  105.     当第一次安装磁盘退出badtrk时,它提示你输人为替换有缺陷磁道而保留的磁道数。
  106. 至少按badtrk建议的数值分配磁道。这个数值基于当前坏磁道数加上可能出问题的磁道
  107. 之和。如果超过已分配的坏磁道数,应该重新安装硬盘。
  108. 10.4.4 使用 divvy把磁盘分区划分成区域
  109.     使用divvy(ADM)将 UNIX(系统分区划分成最多七个区域(从0到6)。你可把这些区域
  110. 作为文件系统或交换区使用。根磁盘上的区域6被保留给fsck(ADM)使用;在以后安装的
  111. 磁盘上该区域是可以使用的。区域7被保留,用来代表整个分区。
  112.     divvy显示 UNIX分区的当前区域表。要改变这个表,你可以:
  113.     ·命名一个区域。这样将创建一个用于访问该区域的相应块设备文件,例如,为名为
  114.       x的区域建立/dev/x。不要把一个区域命名为 usr.
  115.     ·建立一个区域。使一个区域可以使用。
  116.     ·选择区域的文件系统类型。区域的类型可以是所支持的文件系统类型中的一种,
  117.       如,HTFS或DTFS,NON FS(用于交换区)或区域6、或 NOT USED。区域7被定
  118.       义成 WHOIE  DISK并且代表一个分区中所有区域。
  119.     ·阻止在一个区域上创建文件系统。
  120.     ·定义区域的起始逻辑块。divvy  显示可以使用的文件系统逻辑( lKB)块的总数。注
  121.       意文件系统逻辑块与物理磁盘块或 SCSI逻辑块(典型的大小是512宇节)不相同。
  122.       不要让0到6任何区域重叠:一个区域不能在前一个区域的结束块之前开始。
  123.     ·定义区域的结束逻辑块'
  124.     ·把区域表恢复到进入divvy  时的状态。在退出divvy并选择安装它们之前不会创建
  125.       区域和文件系统。
  126. 注意:
  127.     使用divvy 创建的最大文件系统大小对于DTFS 和HTFS 是1TB,对其它的文件系统是2GB.
  128.     注意divvy报告的是文件系统块数,而不是物理磁盘块数。当你已经配置了区域名
  129. 字、类型和大小时,从divvy  中退出并安装文件系统;这可能花费几分钟的时间。
复制代码

论坛徽章:
0
发表于 2006-01-09 16:45 |显示全部楼层

第10章 增加硬盘


  1. 10.5 克服 BIOS限制
  2.     一些磁盘控制器和 SCSI主机适配器具有自己的 BIOS,用它扩展系统 BIOS的能力。这允许系统从一个 ESDI磁盘或由 SCSI主机适配器控制的 SCSI 总线上的 SCSI磁盘上引导。
  3.     系统 BIOS的限制是它将不引导根硬盘上驻留在超过1024柱面的操作系统。
  4.     一些操作系统的磁盘设备驱动程序(并非 SCO OpenServer系统)在普通应用中使用 BIOS 访问硬盘。这意谓着它们不能访问超过1024柱面的磁盘块。
  5.     支持逻辑块寻址或LBA(超过1024柱面的IDE驱动器、大部分 EIDE驱动器、以及所有的 SCSI驱动器)的磁盘控制器能够重新映射或转换磁盘的几何结构,因此对系统而言它并未超过1024个柱面。
  6.     在一些机器上,磁盘的几何结构参数存储在主板的 CMOS RAM(参数RAM)中。如果磁盘几何结构参数信息从 CMOS RAM中丢失应该如何处理,请参见"在 BIOS中定义
  7. IDE和 ESDI磁盘几何结构"。如果使用 BIOS扩展,磁盘几何结构参数可存放在磁盘控制器或 SCSI主机适配器上。
  8. 当从硬盘引导时,BIOS读取主引导块以便找到它应从哪个活动分区引导系统。如果该分区包含SCO OpenServer系统,依次执行hdboot0,hdboot1和boot 引导程序。如果需要的
  9. 话,这些程序可以在 BIOS以及主引导块中所定义的根磁盘的不同几何结构参数之间进行转换。boot程序也把从 BIOS中所获得的几何参数信息传送给磁盘设备驱动程序使用。
  10.     如果在机器间拆换根磁盘或改变主机适配器(如果是 SCSI),那么定义在 BIos中的几何结构参数可能与该操作系统以前用来访问磁盘的几何结构参数不相匹配。如果把一个
  11. SCSI磁盘换到一个新的采用具有不同的磁盘几何结构参数的主机适配器上,或者把一个IDE 驱动器换到一台不同的计算机上,就可能发生这种情况。在这种情况下,也许还能引导机器,但不能使用磁盘,这是因为有关存储在主引导块中的磁盘几何结构参数信息与 B10S;
  12. 中定义的不匹配。可以按"写一个新的主引导块"所述把 BIOS磁盘几何结构参数;
  13. 信息写入根硬盘主引导块。
  14.     如果因为要把磁盘定义成少于1024柱面,而不想改变存储在主引导块中的几何结构参
  15. 数信息,当引导系统时,可以按"使存储在 BIOS中的根磁盘几何结构参数无效"中
  16. 所述使存储在 BIOS中的根磁盘几何结构参数信息无效。

  17. 10.5.1在 BIOS中定义IDE和 ESDI磁盘几何结构

  18.     IDE或 ESDI磁盘的几何结构参数由 BIos存储在 CMos或参数RAM中。如果这些信息或是没有出现在第一个地方,或是由于主板上电池失效而丢失,则应该使用与计算机一起提供的设置程序键人磁盘驱动器类型或磁盘几何结构参数信息。有关与计算机相应的ROM表登记项或驱动器类型,请核对计算机硬件参考手册。
  19. 10.5.2 使存储在 BIos中的根磁盘几何结构参数无效
  20.     在引导时可以使用biosgeom引导串使 BIos存储的有关根磁盘的几何结构参数信息
  21. 无效:

  22.    defbootstr biosgeom=(cylinders,heads,sectors)

  23. 该引导串把磁盘几何结构参数(柱面数、磁头数和扇区数)的定义传递给硬盘设备驱动程序
  24. (而不用存储在 BIOS中的值)。它不改变定义在 BIOS中(非扩展的或扩展的)的磁盘几何结
  25. 构参数。
  26.     当大的 SCSI磁盘,如2GB,与假设标准磁盘几何结构参数的主机适配器一起使用时,要使用biosgeom引导串使它定义的几何结构参数无效。
  27.     如果没有重新定义传递给设备驱动程序的几何结构参数,在主机适配器的 BIOS中所定义的heads 和setors  的值可能意昧着磁盘大于1024个柱面。更多的信息参见 "BIos支持超过1024柱面的磁盘"。要找出磁盘的cylinders,heads和setors的当前定义值,在引导提示符下健人biosgeom命令。
  28.     一旦按这种方式重新定义了磁盘的几何结构参数,就可以在出现引导提示符时使用
  29. bootos(Hw)命令引导 SCO OpenServer系统或任何其它操作系统。
  30.     要把这个几何结构参数定义添加到默认引导串中,编辑/ecc/default/boot文件中的
  31. DEFBOOTSTR定义。例如:
  32.     DEFBOOTSTR= hd (40) biosgeom  unix=(255,255,63)
  33.     另外,如果 BIOS定义的磁盘少于1024个柱面,或者boot文件系统及所有操作系统分区位于前1024柱面内,可以按节"写一个新的主引导块"所述重新定义存储在磁盘上
  34. 主引导块内的磁盘几何结构参数。
  35. 10.5.3 写一个新的主引导块
  36.     要改变定义在根磁盘主引导块上的磁盘几何结构参数 :
  37.     (1)让系统进人单用户维护方式。
  38.     (2)键人下列命令把一个新的主引导块写到根磁盘上:
  39.       /bin/dparam -w /dev/rhd00   
  40.     (3)使用设备驱动程序所期望的值重写主引导块上的根磁盘几何结构参数信息:
  41.      /bin/dparam   /dev/rhd00  '/bin/dparam  /dev/rhd00'
  42.     (4)用命令:
  43.      /etc/reboot
  44.       重新引导系统。
  45.   10.5.4 BIOS支持大于1024柱面的磁盘
  46.     在下列限制条件下 BIOS支持大于1024柱面的磁盘:
  47.     .磁盘控制器应支持多于1024柱面的磁盘。
  48. .如果该磁盘被配置为主硬盘,对 SCO OpenServer软件的 boot文件系统(/stand)和
  49.   其它操作系统的可引导磁盘分区必须位于前1024柱面内。这是因为 ROM中的 BIOS
  50.       不能访问位于超过 l024柱面的信息。如果boot 文件系统超出第一个1024柱面,
  51.       boot(HW)将显示如下出错消息:
  52.       Error: request  outside  range or BIOS(1023 cylinders)
  53.        你可将剩余的磁盘空间作为root文件系统和其他的文件系统的交换空间。
  54. 在一些 IDE、大部分 EIDE、以及所有的 SCSI磁盘控制器上的 BIOS允许重新映射
  55. 或转换大磁盘,以至于它们似乎少于1024个柱面。例如,朋Adaptec1542,1742,274x
  56. 控制器的扩展BIOS允许把2GB的 SCSI磁盘映射成255磁头,63扇区和255柱面。
  57.         如果你正在升级系统而不是进行新的安装, root文件系统应该在1024个柱面内,
  58.      因为在这种情形下不允许分割的boot文件系统。
  59. 10.6 配置 IDE磁盘和磁盘控制器
  60.     IDE接口设计包括一个最多连接四个IDE硬盘驱动器的适配器(经常嵌入在主板中)。
  61.     驱动器靠一根4O芯电缆与适配器相连,传输控制和数据信息。
  62.     根据所安装驱动器的数目,必须在驱动器上设置跳线。如果连接了两个或更多的驱动
  63. 器,一个应该置成主方式,其它的置为从方式。连到 IDE适配器上的单个驱动器应置成单个驱动器方式。
  64.     如果可以用跳线设置,还应该在驱动器上选择ST506接口。详见驱动器文档。
  65.     大部分 IDE驱动器上的嵌人式控制器可以自动完成扇区转换。这样就允许把驱动器的
  66. 每个磁道设置配置成几种不同的磁头/柱面/扇区。如果驱动器有多于1024个枝面或者如
  67. 果新的设置与 B10S中的一些驱动器类型更接近,要使用的设置也许与工厂默认设置不同。
  68. 如果你还要安装另外一个操作系统,如 DOS,这是一个重要的问题。更多的信息参见"B10S支持大于1024柱面的磁盘"。
  69. 10.7 替换根硬盘
  70.      如果现有的磁盘已不能满足你的需要,或者如果它经受了磁头撞击或一些其它不可修
  71. 复的故障,你也许要替换根硬盘。
  72. (1) 安装新的磁盘。如果驱动器不是 SCSI驱动器或者与原来的不同,确信已使用计算
  73.     机硬件提供的设置程序改变了 BIOS的设置,以记录新的磁盘参数。参见系统硬件
  74.     所提供的文档,
  75. (2) 开始新的安装。在 Preparing your disk and choosing software屏幕中,选择 Hard
  76.     Disk Setup。在 Disk 0 Partitions and filesystems 屏幕中,选择 Customize。重新创
  77.     建每一个老文件系统,使该文件系统的大小至少与原先的一样大,否则当你恢复备
  78.     份时将会容纳不下。
  79. (3) 当你返回到 Prepaing … 屏幕时,选择 Optional sofftware。可以通过对操作系统服
  80.    务、图形环境等键人 n以省略所有可选软件的安装。
  81. (4) 当安装完毕,使系统进入单用户方式并恢复你的 root文件系统备份。例如,恢复一
  82.    个cpio(C)的备份,键人:
  83.    cpio -imucvdB  -I /dev/rct0
  84.    如果磁带驱动器仍没有配置,运行mkdev tape配置磁带驱动器以便你能够恢复备
  85.    份。另外,也可以重新引导并且为磁带设备指定相应的引导串。例如,配置一个
  86.    Wangtek驱动器:
  87.      : hd(40) unix  ct=wangtek(0x338,5, l)
  88. (5) 如果你有一个SCSI系统,并且除了改变根磁盘以外,还改变主机适配器,按照这些
  89.    附加的步骤进行,
  90.    l)通过编辑文件从核心配置中删除旧主机适配器驱动程序 O.
  91.     /etc/conf/sdevice.d/adapter
  92.     其中adapter是旧主机适配器的 SCSI驱动程序的名字(主机适配器驱动程序表
  93.      参见/etc/default/scsihas)。
  94.    2)把第二列中的 Y改为 N,如本例
  95.      ad  N  1  5  0  0  330  332  0  0   
  96.     3)在同一目录中,编辑与新的主机适配器相对应的文件,将第二列的 N改为 Y.
  97.     4)编辑文件/etc/conf/cf.d/mscsi,用新的名字替换每一个旧的主机适配器驱动
  98.       序名字(第一列)。如在本例中使用 Adapter 驱动程序 ad:
  99.       *   ha     attach    number    ID    lun    bus
  100.       *
  101.        ad       Stp         0        2     0      0
  102.        ad       Sdsk        0        0     0      0
  103. (6)用下列命令重新链接核心,以恢复系统配置:

  104.     cd  /etc/conf/cf.d
  105.     ./link_unix
  106. (7)停止系统
  107.     /etc/haltsys
  108. (8)当重新引导系统后,恢复root磁盘上其它文件系统的备份(如果有的话)。在 root文
  109.    系统恢复后就可以访问任何非root磁盘。
  110. 10.7.1配置根硬盘
  111.     当你安装操作系统时,根硬盘被配置为第一个 IDE, EIDE,ESDI控制器,或由首主机适器所控制的 SCSI总线上控制器 ID的第一个磁盘。 MCA 总线的 SCSI主机适配器是例外情况;它希望在ID 6找到根硬盘控制器。

  112. 10.8 硬盘故障诊断
  113.     如果在你的系统上安装或配置附加硬盘有问题,参见:
  114. ·修复硬盘上的坏磁道和坏块
  115. ·设置硬盘间隔因子
  116. ·格式化硬盘
  117. 10.8.1修复硬盘上的坏磁道和坏块
  118.     坏磁道是不能可靠地存储数据的硬盘区域。 SCO OpenServer系统所支持的硬盘允许将坏磁道映射到坏磁道表中,坏磁道表列出了硬盘上不能使用的所有盘区。在表上的坏磁道被映射到好磁道上,以便使操作系统避开磁盘上不能读或写的盘区。
  119.     如果系统安装后正在运行的磁盘产生了一个坏磁道,在控制台上将显示类似下面的出
  120. 错消息:
  121. wd: ERROR  on fixed disk ctrl =0 dev=0/47 block=31434 cmd=0000020
  122.      status=0005180 ,sector=62899,cylinder/head=483/4
  123. 对 SCSI磁盘,消息类似于:
  124.     NOTICE: SdSk:Unrecoverable error reading  SCSI  disk 2  dev  l/64
  125.     (ha=0  id=1  lun=0) block=219102
  126.     Medium  error:Unrecovered  read  error
  127. 如果出现这样的错误,用badtrk(ADM)生成一个新的坏磁道表以便系统能避开新的坏磁道。
  128.     badtrk实用程序是一个以菜单驱动的用来察看、增加或删除坏磁道表中项目的实用程
  129. 序。只要有空间,badtrk能自动地将它查找到的有缺陷磁道添加到坏磁道表中。
  130.     SCSI磁盘有一个类似的机制,它能映射坏的 SCSI逻辑块而不是坏磁道。在默认情况
  131. 下,如果驱动器支持的话,badtrk试图把坏块加到驱动器自己的内部缺陷列表( G列表)中。
  132. 可以使用badtlk的-O选项强制把坏的磁道加到由操作系统管理的表中。如果 SCSI磁盘控
  133. 制器支持自动读/写重映射(ARR/AWR),可以用badtrk启用这个特性。它允许无论何时出
  134. 现可恢复的错误都将被自动重映射。
  135.     要使用badtrk,重新引导系统并进入单用户方式(不要用shutdown su)。运行badtrk,
  136. 扫描磁盘以及整个 UNIX系统分区。选择快速或彻底扫描;如果出现了新的坏磁道,建议使用彻底扫描。选择非破坏方式以便保留硬盘上的数据。当扫描完成后退出,并使系统返回到多用户方式。
  137. 10.8.2设置硬盘间隔因子
  138.    大部分现代的磁盘控制器实现磁道高速缓存并且支持推荐的1:1间隔因子。6:1或3:1
  139. 的间隔因子可能更适合于使用 MFM编码方式存储数据的较老的单缓冲磁盘控制器。以
  140. 1:1间隔因子格式化的不恰当的磁盘和控制器组合会使磁盘降低四分之一乃至更多的
  141. I/O性能。
  142.     注意一些 SCSI和 mE磁盘控制器拥有它们自己的柱面/磁头/扇区转换逻辑,并可能忽略任何发送给它们的重格式化命令。
  143. 10.8.3格式化硬盘
  144.     一些 IDE和ESDI硬盘刚出厂时,仅做过部分格式化。这可能导致在安装时badtrk
  145. (ADM)超过某一柱面/磁头后,系统报告每一个扇区都是坏的.
复制代码

论坛徽章:
0
发表于 2006-01-09 16:49 |显示全部楼层

第11章 增加串行终端


  1. 第11章 增加串行终端

  2.     增加串行终端可以让更多的用户使用系统,增加了系统的综合能力。
  3.   本章阐述如何:
  4.     ·安装串行终端
  5.     ·改变默认的终端特性
  6.     ·在注册时设置终端类型
  7.     ·去掉终端
  8.     ·设置串行主控制台
  9.     ·设置扫描码终端
  10.     ·终端故障诊断
  11.     在系统中增加串行终端之前,按照终端手册中的操作将终端连接到串行线上(若增加一
  12. 个串行卡,附加的设备文件名在seriaI(HW)或带有驱动程序软件的设备卡的文档中列出)。
  13.     很多类型的终端都能支持;完整的列表参见 terminals(M)手册页。通过terminfo(M)数
  14. 据库提供对终端的支持,该数据库包含各种终端互不相同的键码和控制序列的定义和分类。
  15. 关于terminfo数据库的描述,参见terminfo(M)和terminfo(F)手册页。
  16. 11.1 安装串行终端
  17. 把终端安装到标准 COM串行线或串行扩展卡:
  18. ( l)除非你打算在 COMl端口上直接增加终端,否则应运行Hardware/Kernel  Manager
  19.   并且从 Drivers菜单中选择 SeriaI Port或运行mkdev serial。
  20. (2)保证在多用户方式下以 root注册。
  21. (3)插好终端并打开开关。将其设为9600波特(或更高,参见第5步)、8个数据位、1个
  22.   停止位、无校验、全双工,以及朋N/朋FF握手应答。若终端在此种方式下不能工
  23.   作,在 stty(C)手册页中查找有关配置终端的建议。
  24.   大多数终端都是用一根电缆直接连到计算机上,当然通过调制解调器连人系统也
  25.   是可能的。DTE类终端直接连接到DTE类串行端口,而将 DCE类终端直接接到
  26.   DCE类的串行端口需要一条电缆,该电缆将串行端口上的接收数据(RD)针与终端
  27.   上的发送数据(TD)针相连接,将串行端口上的四针与终端上的 TD针相连接,而
  28.   将两者的接地信号线直接相连接。
  29.   连接 DCE类终端与DTE类串行端口或者连接DTE类终端与 DCE类串行端口的电
  30.   缆要直接将二者的上述三根线直接连接。
  31.   根据串行端口硬件的需要,也许还需要将数据集就绪( DSR)、数据终端就绪(DTR)
  32.   以及载波检测(CD)针相连接。如果用软件进行流量控制,那么操作系统只要求针
  33.   2,3和7连通即可。
  34. (4)使用enable(C)命令启用终端。例如:
  35.    enable  tty2a
  36.    enable命令启动一个getty进程,它在你的终端上显示 login:提示。
  37. (5)检查/etc / inittab文件中该串行端口的登记项是否形如下面示例中的/dev/tty2a:  ;

  38.     Se2a:234: respawn:/etc/getty  tty2a m
  39.     /etc/inittab登记项应形如上行所示。如果该登记项与本例形式不同,请编辑该文
  40.     件加以修改。有关/etc / inittab 文件格式的信息可以从 inittab (F)手册页中查到。
  41. /etc/inittab登记项中的最后一个字段是线路模式,它是一个与/etc/gettydefs 文件
  42. 登记项相对应的标号。
  43. (6) 若端口已启用,按几次<Enter>键看是否出现 login:提示。若出现,你就可以
  44.     准备注册了。
  45. 11.2 测试终端连接
  46.     按以下步骤测试终端连接:
  47.     ( l)在主控台上或者一个能正常工作的终端上,以 root注册。
  48.     (2)用命令disable ttyname禁用该端口。其中ttyname是该端口的设备名。要确信你
  49.        所使用的是一个非调制解调器控制设备(比如,是/dev/tty1a,而不是/dev/
  50.        tty1A)。
  51.     (3)尝试将输出改向到该终端上:dab>/dev/ttyname
  52.        如果在该终端上没有看到输出的日期,而又不能确定ttyname是否正确,尝试对该
  53.        串行端口使用其它 tty名字。
  54.        如果你仍不能看到终端上有日期输出:
  55.          确信终端已插好。
  56.          检查电缆是否配置正确。
  57.          若你的串行端口是25针(连接器),其它针脚只有在使用调制解调器或在线硬个
  58.          流控制时才用。
  59.       .若你的系统或扩展卡有9针连接器(DB-9),你必须使用一个9针到25针的转接器。  
  60.   .检查你的终端设置配置。尝试改变波特率。
  61.       .检查串行端口的开关。如果你用的是多端口卡,那么试用该卡上的其它线路。
  62.       .将终端接到标准串行端口(COMl或 COM2)上,看终端是否能正常工作。如果你
  63.         已经在使用一个 COM端口,那么就换到另一个上试试。
  64.       ·如果已成功地增加了另一个终端,在能工作的终端和不能工作的终端间互换硬
  65.         件。这样可以帮助你隔离硬件故障。
  66.     (4)当终端上显示日期时,镊人下面的命令启用该端口:enable ttyname
  67.        如果你看不到 login:提示,键人下面的命令:
  68.         ps -t  ttyname
  69.        以验证getty是否己在该端口上运行以及软件是否配置正确。
  70.        你的屏幕上应当显示出一则类似下例的消息且在命令栏 CMD中应列出"Iogin"或
  71.       "getty":
  72.          PIDT   TTY  TIME  CMD
  73.          2557    1a    0:06  getty
  74. (5)如果你已经多次尝试enable和disable命令,可能就不会再在该端口上产生新的getty
  75.    进程。若如此,则关闭系统,重新启动,在多用户方式下以 root注册,再次尝试。
  76. 11.3 改变默认的终端线路特性
  77.     你的系统可以自动适应几种不同的终端波特率和设置。同一个显示注册信息的程序,
  78. getty(M)默认终端线路特性从一个表中读取这些终端线路的值,并尝试每一个设置直到有
  79. 一个成功,这样用户就可以注册进入系统。该表提供了对于几类不同终端线路的默认设置。
  80.     getty作为注册进程的一部分自动执行。终端设置表在/etc/gettydefs  文件中。可以编辑该文件来增加不同的终端特性或改变现有的终端特性。
  81. 11.3.1改变/etc/gettydefs登记项
  82.     文件/etc/gettydefs  中有几组登记项用于拔号线路和终端线路。这些不同的登记项分别对应于/etc / inittab中的线路模式设置。init程序将线路模式作为实参传给getty
  83. 可以编辑/etc/gettydefs 以增加终端设置或改变现有的设置。例如,终端线路的设置可能如下所示:
  84. 4 # B2400 HUPCL # B2400 CS8 SANE HUPCL TAB3 ECHOE IXANY  #\r\n@!login:#  5
  85. 5 # B4800 HUPCL # B4800 CS8 SANE HUPCL TAB3 ECHOE IXANY  #\r\n@!login:#  6
  86. 6 # B9600 HUPCL # B9600 CS8 SANE HUPCL TAB3 ECHOE IXANY  #\r\n@!login:#  4

  87. 可以编辑改变这个文件使得getty首先尝试1200波特率:
  88. 4 # B1200 HUPCL # B1200 CS8 SANE HUPCL TAB3 ECHOE IXANY  #\r\n@!login:#  5
  89. 5 # B4800 HUPCL # B4800 CS8 SANE HUPCL TAB3 ECHOE IXANY  #\r\n@!login:#  6
  90. 6 # B9600 HUPCL # B9600 CS8 SANE HUPCL TAB3 ECHOE IXANY  #\r\n@!login:#  4

  91.     当然你也可以在gettydefs 中增加另外的终端线路设置。termino( M)手册页中列出了可用于终端设置的标识和允许的值。
  92.     当你要加入新的一项时,要保证gettydefs中的登记项组共同构成一个闭集,即最后一项
  93. 的next-label字段将getty导向同组的第一项。
  94. 下例在前面的gettydefs 样本文件中增加一个300波特率的登记项:
  95. 4 # B1200 HUPCL # B1200 CS8 SANE HUPCL TAB3 ECHOE IXANY  #\r\n@!login:#  5
  96. 5 # B4800 HUPCL # B4800 CS8 SANE HUPCL TAB3 ECHOE IXANY  #\r\n@!login:#  6
  97. 6 # B9600 HUPCL # B9600 CS8 SANE HUPCL TAB3 ECHOE IXANY  #\r\n@!login:#  7
  98. 7 # B300  HUPCL # B300 CS8 SANE HUPCL TAB3 ECHOE IXANY  #\r\n@!login:#  4
  99. 11.3.2 检查终端设置
  100.    当每次改变终端线路设置或者在gettdefs中增加新项时,都应该检查确定所设新值对getty是否有意义。这可通过执行带-c 选项和文件名的getty命令来检查。
  101. 例如,要检查 gettydefs 文件,键人:
  102.       getty  -c  /etc/gettydefs
  103. 将扫描该文件并显示结果。如果在gettydefs 中有一些值和设置是不允许的,getty -c 将会报
  104. 告出来。关于getty和 gettydefs 的更多信息。

  105. 11.3.3 改变串行线操作
  106.     每当用enable命令启用一个终端时,系统都会自动将串行线路的操作特性设为一组默
  107. 认值。有时这些值和终端使用的值不相匹配,所以应加以改变以满足系统和终端通信的需
  108. 要。可以用 stty(设置 ty)命令来显示一条串行线路的特性。如果要改变已启用的端口糟
  109. 性,就应当使用文件gettydefs中的项而不是下文的stty命令。

  110. 注意:
  111.    任何用 stty 命令进行的端口设置都只在该端口打开时有效。例如,若要改变
  112. tty2a的波特率,而tty2a又没启用,则stty 命令首先打开该端口,然后改变该端口设
  113. 置,最后关闭该端口。一旦它关闭了端口,其设置就又恢复成了原来的值。本节后面
  114. 讲到的购命令,使用while循环来避免stty的这一行为。如果在使用 stty 时不采用
  115. </dev/ttyname进行输入改向,那么它将在当前你已经打开的串行线路上工作。这
  116. 种情况下,由于执行购命令后该串行线一直是打开的,所以设置将维持有效。


  117. 要显示某串行线当前的操作特性,可以在与该线相连的终端上键人命令
  118.     stty  -a
  119.     如果不可能在该终端上注册,可使用另一终端来显示该特性。作为 root在另一终端上
  120. 注册,并键人:
  121.     stty  < ttyname
  122. 其中ttyname是相应于串行线的设备特殊文件.
  123.     例如,本命令可显示名为/dev/tty1a的串行线的当前特性:
  124.     stty < /dev /tty1a
  125.     该命令将显示波特率、校验策略以及其它有关该串行线的信息。这些信息在stty( C)手
  126. 册页中都有解释。
  127.     一个经常要改动的串行线路特性就是波特率。因为改变波特率将破坏终端和系统之间
  128. 的通信,所以通常是通过连到另一个串行线上的终端来完成。在作改动前,应先搞清楚终端
  129. 当前的波特率(查看终端硬件手册了解如何确定当前波特率)。一旦你知道了这个波特率,
  130. 就可以以 root在另一终端上注册,并键人:
  131.    (stty  speed;while :;do sleep 3600  ;done)<ttyname &
  132. 其中speed是当前的终端波特率,ttyname 是与要改变的串行线相对应设备的文件名。波特
  133. 率只能是50,75, l10,134,150,20O,300,600,1200,2400,4800,9600,19200,138400,57600,l15200,230400,460800或者921600之一。比如:
  134.    (stty  9600;while :;do sleep 3600  ;done)< /dev/tty1a &
  135. 该命令将/dev/tty1a 串行线的波特率改为9600。注意,符号(<)用于从另一终端显示和设
  136. 置串行线。
  137.     另一个经常要改变的是系统通过串行线处理输入输出方法。这一改动常用连到该串行
  138. 线的终端来完成。比如:
  139. stty tabs
  140. 该命令使得系统用空格扩展制表符(用于自身不能扩展制表符的终端)。另一个例子是:
  141.     stty echoe
  142. 该命令可使系统当你用回退键< Bksp>时,从终端屏幕上抹去被删掉的字符。
  143.     注意,stty命令也可用于调整串行线,使之适应不常见的终端或另一类需要产生和检测
  144. 校验的串行设备或者特殊的输入输出处理。
复制代码

论坛徽章:
0
发表于 2006-01-09 16:50 |显示全部楼层

第11章 增加串行终端


  1. 11.4 在注册时设置终端类型
  2.     UNIX系统要求在终端上做任何工作之前,先明确地定义终端类型。较好的设置终端类
  3. 型的办法是把你的终端类型赋给TERM 变量,这是一个特殊的环境变量,它将正在使用的
  4. 终端和/etc/termcap文件中列出的一串特性联系起来。这些特性告诉系统如何解释终端的
  5. 键以及如何在屏幕上显示数据。
  6.     如果你正使用的是Bourne或Kom shell(sh(C)或ksh(C)),TERM的赋值形式如下:
  7.     TERM=termtype ;export  TERM
  8.     如果你正在使用 C  shell(csh(C)),那么TERM的赋值形式如下:
  9.     setenv  TERM termtype
  10.   termtype必须是与/etc/termcap  文件中定义的某一种终端相对应的名字。设置终端类型必须在该终端上键人赋值语句。
  11.     例如,在Bourne shell下设置终端类型为ansi,在要被设置的终端上的$提示符下键人:
  12.     TERM=ansi;export TERM
  13.     对于 C shell,在%提示符下,键人:
  14.     setenv TERM ansi
  15.     如果你不能确定你的termtype应当用哪一个名字,可以通过显示/etc/termcap文件或
  16. 阅读terminals(M)手册页(其中列出了/etc/termcap文件支持的所有终端类型)来捌览所有
  17. 名字。若显示该文件本身,键人:
  18.     more  /etc/termcap
  19. 可以将TERM赋值语句放人你的.profile文件,这样每当你注册时,系统就会自动定义终端
  20. 类型。
  21.     关于设置终端类型的另一种方法,参见tset(C)手册页。
  22.     如果你要让系统来设置终端类型,那么当你在不是平时所用的终端上注册时要特别当
  23. 心。系统无法检测终端赋值对于该终端是否正确,而只是假设该终端与你平时所用终端相
  24. 同。若不同的话,就必须手工设置终端类型。
  25. 11.4.1 自动设置终端类型
  26. 如果你打算在注册时自动设置终端类型:
  27. ( l)在该终端上注册,并键人 tty(C)命令,以确定正在使用的ttyname
  28.    tty
  29. (2)以root注册并使用文本编辑程序编辑/etc/ttytype 文件。把与该终端相对应的行的
  30.   终端类型字段改为需要使用的类型。保留主控制台类型。若将/dev/tty1a。设置习
  31.   wy50,按如下方法编辑/etc/ttytype:
  32.      wy50   tty1a
  33. (3)编辑用户启动文件,修改适当的tset(C)命令行来自动设置终端类型。在每一个 C-
  34.   shell用户的.login文件中,加入下面一行  ;
  35.     tset  -s- Q  > /tmp/tset $ $; source/tmp/tset $ $;/bin/ rm /tset  $ $
  36. 一定要从.login文件中删除引用TERM和TERMCAP 的默认setenv命令行。
  37. 在每一个Bourne shell或 Korn  shell用户的.profile文件中,加人下面一行:

  38.   eval 'test  -s'
  39.   一定要将.profile文件中现有的tset命令行删掉。
  40. (4)让所有的用户退出,再重新注册,以测试新的终端类型的变更。用户注册后,可通
  41.    过执行下面命令来验证新的终端类型:
  42.    env
  43. 11.5去掉终端
  44. 在去掉终端之前,必须采用disable(C)命令禁用它:
  45. ( l)关掉终端电源。
  46. (2)在另一终端上以root 注册。
  47. (3)用disable 命令禁用该终端:
  48.    disable ttyname
  49.    其中 ttyname是连接终端的串行线的名字。例如
  50.    disable tty1a
  51.    禁用连到串行线/dew/ey5o的终端。
  52. (4)将终端从系统上拆除。现在,原先连到该终端的串行线可以再连其它设备了。
  53. 11.6 设置串行控制台
  54.     你可以将一个串行设备(而不是显示适配器)配置为系统的控制台。boot(HW)程序在
  55. 引导时按如下过程设定默认的控制台:
  56.     ( l)boot程序在/standt/etc/default/boot文件中寻找SYSTTY=x 项(其中,x是
  57.       指明系统控制台设备的一个数)。
  58.     (2)若没找到该项或/stand/etc/default/boot文件不可读,boot检测系统的显示
  59.        适配器,并将之指定为系统控制台。
  60.     (3)若未找到显示适配器,boot寻找 tty1a,将该串行端口设置为9600b/s、8数据
  61.        位、1个 停止位、无校验,并将其作为系统控制台。
  62. 要将控制台设备改变为串行终端:
  63.     ( l)进入系统维护方式。
  64.     (2)执行如下命令(所有12个 tb设备都需在第二行中指明):
  65.       enable tty1a
  66.       disable tty01 tty02 tty03 … tty10 tty11 tty12
  67.       该命令启用了串行设备,并且禁用与显示适配器相联的控制台多屏幕设备。
  68.     (3)编辑文件/etc/default/login,将参数OVERRDIR  的值由 tty01改为串行控
  69.       制台的 tty 线路值(该值通常为 ttyla)。此后,/etc/default/login (若 tty线路
  70.       为 (tty1a)应为:
  71.       OVERRRDIR=tty1a
  72.     (4)编辑文件/etc/default/boot(不是/stand/etc/default/boot)并在文件末尾加
  73.        入下行:
  74.        SYSTTY:1
  75.     (5)重新引导。
  76.     要从命令行临时改变系统控制台设备,在 boot提示符下键人systty=x(其中,若是显示适配器,x为"cn",若是 COMl串行端口,x为"sio")。这并不改变或创建文件/etc/default/boot中 SYSTTY的项。

  77. 11.7 终端故障诊断
  78. 若使用串行终端时出现问题,参见:
  79. ·恢复不工作的终端
  80. ·修复挂起的终端
  81. ·修复混乱的终端显示器
  82. ·解除锁住的终端
  83. ·修复无回显终端
  84. ·校正桂起的扫描码兼容终端
  85. 11.7.1 恢复不工作的终端
  86.     一个完全不工作的终端不但不显示注册提示符,而且不响应键盘输入。这种情况常常
  87. 是由于硬件故障或配置问题引起的。要检查不工作的终端,应该:
  88.     ( l)检查终端亮度控制。
  89.     (2)检查电源以及终端和计算机的通信连接。
  90.     (3)若可能,进入终端设置模式验证终端配置的设置。这些设置应包括9600波特、8个
  91.       数据位、1个停止位和无校验。
  92.     (4)启用该终端所连接的端口。例如,用如下命令启用 tty2a:
  93.        enable tty2a
  94.     (5)确证有一个getty进程和终端端口相连。例如,键人 :
  95.        ps -t tty2a
  96.     (6)禁用该端口,并将输出改向到不能正常工作的终端,从而检测硬件通信。例如,用
  97.     下列命令测试tty2a:
  98.       disable /dev/tty2a
  99.       echo hello> /dev/tty2a
  100.     若这还不能使不正常工作的终端恢复正常,请查阅终端文档以获得故障诊断的建议。
  101. 11.7.2 修复桂起的终端
  102.     当前面的工作对话仍可在显示器上看见,但它却不响应终端输入时,这个终端就被认为
  103. 是"挂起"的。要修复一个挂起的终端:
  104.     ( l)在修复终端前至少等待60秒(若系统繁忙,就会由于系统响应时间增加而使终端
  105.       不能立即响应击键)。
  106.     (2)按下< Ctrl> q以重新启动传输,以免无意中按了< Ctrl> s(结束传输)键。
  107.     (3)检查是否所有的电源线、键盘线以及通信电缆都连接正常。
  108.     (4)关闭然后再打开终端电源使终端硬件复位,然后运行不带实参的tset(C)命令来重
  109.        新初始化终端。
  110.     (5)如上一节第3步所述,检查终端设置模式下的配置情况(若可能的话)。
  111.     (6)通过从一个正常操作的终端将输出改向到锁住的终端来测试硬件通信,如上一节
  112.        第6步所述。
  113.     (7)用下列命令检查运行在锁住的终端端口上的进程:
  114.        ps - t ttyline
  115.   当终端挂起时,用 kill(C)命令终止用户正在运行的进程。若进程不能消亡,就必须重
  116.   新引导系统以终止该进程。
  117. (8)确定当前线路特性参数是否正确。比如,用下列命令显示tty2a的这些值:
  118.   stty -a <  /dev/ tty2a
  119.   可以将stty设置和那些能工作的终端相比较。
  120. (9)用下列命令重置线路特性:
  121.    <Ctrl> j  stty sane < Ctrl> j
  122.   若不能在终端上键人命令,可以从另一个终端上改向 stty命令,如下所示:
  123.    stty sane< /dev/tty2a
  124.    如果 ps -t命令只显示出一个getty程序,则终端应显示注册提示符。否则,就再次检查终端硬件。
  125. 11.7.3 修复混乱的终端显示器
  126. 一个混乱的终端可以响应簇盘输入,但其显示不正确。要修复这样的终端,应该:
  127. ( l)用env命令检查该用户的终端类型(TERM)。若终端类型不正确,重新设置它。
  128.   如,为 Wyse60设置终端类型,键人:
  129.    TERM=wy60
  130.   在重设终端类型之后,执行不带实参的tset命令来重新初始化终端。
  131. (3)用下述命令重置线路特性:
  132.    <Ctrl> j  stty sane < Ctrl> j
  133. 11.7.4 解除锁佳的终端
  134.     如果一个终端被系统管理员锁住以防在该终端上进行注册,或者由于用户超出
  135. 了允许不成功注册次数的限制而使系统锁住终端,则在该终端上将显示如下消息:
  136.    Terminal is disabled-see Accout Administrator
  137. 11.7.5 修复无回显终端
  138.   无回显终端是响应键盘输入但是不显示键盘健人的字符的终端(这不同于根本不响应
  139. 输入的不工作终端或锁住的终端)。
  140.   有时候,程序由于出错而提前终止或用户按下了< Break>键,终端都会停止回显。 要
  141. 将终端恢复到正常操作状态,健人:

  142.     <Ctrl> j  stty sane < Ctrl> j
  143.     由于终端并不显示你所输入的命令,所以一定要准确无误地键人该命令。
  144.     现在终端应该显示键盘的输入。

  145. 11.7.6 校正桂起的扫描码兼容的终端

  146.   若 PC扫描码应用程序崩溃,终端将因终端和线路特性模式不兼容而挂起。要校正这一不兼容性,注册到另一终端上,按下面所述的方法使用scanon (M)或scanoff(M)命令。
  147.   若要把终端和线路特性恢复到 PC扫描码模式,执行下面的scanon命令,其中ttyline  是挂起终端对应的线路:
  148.     scanon  /dev/ttyline
  149.   若要把终端和线路特性恢复到字符模式,使用scanoff命令:
  150.     scanoff  /dev/ttyline
  151.   无需以 root注册就可以使用scanon和scanoff来改变自己的终端。关于scanon和
  152. scanoff的更多的信息,参见scanon(M)手册页。

复制代码

论坛徽章:
0
发表于 2006-01-09 16:55 |显示全部楼层

第12章 设备管理


  1. 第12章 设备管理
  2. 12.1 设备配置文件
  3. 一般情况下,当系统上配置某种设备时,一定要重新连接核心。重新连接核心,目的是把相应设备的驱动程序及相关的一些信息,加到unix的核心中去,以求系统对这种设备
  4. 的支持与管理。
  5. 系统配置文件管理着系统中所配置设备的驱动程序,直接影响着unix系统的核心。
  6. 系统配置目录:/etc/conf  
  7. 包含了unix系统的配置文件.命令.子目录。
  8.     /etc/conf/bin/*      用来进行与系统配置及系统核心相关的操作。
  9.                       如:增加.删除.修改设备驱动程序        
  10.     /etc/conf/pack.d/*   设备驱动程序目标模块  
  11.     /etc/conf/sdevice.d/* 每个设备的配置信息
  12.     /etc/conf/node.d/*   是对加到/dev目录下设备节点的描述。
  13.     /etc/conf/cf.d/*     连接核心所需的配置文件         
  14.     /etc/conf/init.d/*    描述系统中每个串口的状态。

  15. 在unix系统中,文件Master和System成为系统的全部配置信息文件
  16. Master包含的是系统配置的主信息
  17. /etc/conf/cf.d/mdevice
  18. 描述系统当前所能支持的设备驱动程序和可配置模块的功能.特征.设备的主              
  19. 设备号 。
  20. mdevice文件格式:
  21. 参数1:驱动程序的内部名字。
  22. 参数2:表示本驱动程序所提供的功能。
  23. 参数3:表示驱动程序的特点。
  24. 参数4:与这个驱动程序相关的处理程序前缀。
  25. 参数5:块主设备号
  26. 参数6:字符主设备号
  27. 参数7:定义可以连接到控制器上的最小设备号
  28. 参数8:定义可以连接到控制器上的最大设备号
  29. 参数9:使用dma通道号

  30. /etc/conf/cf.d/mtune
  31. 系统所有可调核心参数文件,确定了核心参数的调整范围。
  32. /etc/conf/mfsys.d/*
  33. 包含了系统每一个可以配置的文件系统的描述。
  34. System包含的是系统配置的局部(local)信息
  35. /etc/conf/sdevice.d/*
  36. sdevice(sdevice.d目录下) 文件则准确地记录了系统中哪些设备配置了,哪些设
  37. 备还没有配置,设备所使用的中断向量.I/O地址以及优先级等一些设备配置上
  38. 的具体细节
  39. sdevice文件格式
  40. 参数1:驱动程序的内部名字。
  41. 参数2:设备使用情况,“Y” 表示设备被配置进入核心 。
  42. 参数3:表示同一个控制器上的子设备数或伪设备数。
  43. 参数4:中断优先级 。
  44. 参数5:设备的中断类型。
  45. 参数6:设备所使用的中断号
  46. 参数7:起始I/O地址
  47. 参数8:结束I/O地址
  48. 参数9:控制器的起始内存地址
  49. 参数10:控制器的结束内存地址

  50. 如果要手动地修改设备配置,最重要的是要修改sdevice.d目录下的相关文件.
  51. 当新的核心建立时,sdevice.d目录下的全部文件合并在一起,构成单个文件
  52. /etc/conf/cf.d/sdevice.显然,每连一次核心,文件sdevice就要重构一次.
  53. 文件sdevice完全可以反映当前系统配置情况.
  54. /etc/conf/cf.d/stune
  55. 系统调整过的核心参数文件
  56. /etc/conf/sfsys.d/*
  57. 描述系统上可配置文件系统的配置情况。   
  58. 12.2 设备的配置
  59. 首先明确Unix系统中硬件设备的安装,实际上是转换为文件设备的安装。
  60. 安装方式:
  61. 1).菜单配置: scoadmin -> hardware/kernel  ->  硬件
  62. 2).命令配置: mkdev  

  63. 常用的设备配置与安装:
  64. 1.        硬盘:mkdev  hd
  65. a.标准硬盘
  66. mkdev hd disk controller
  67. 其中: disk为硬盘,controller为控制器编号  
  68.         b.SCSI硬盘
  69.   mkdev hd id ha lun hatype
  70.   其中:Id为主接口卡上的控制器编号,Ha为主接口板号
  71.   Lun为逻辑单元号, Hatype为主接口板类型
  72.         配置多硬盘:
  73.     如果多个硬盘已装好,SCO UNIX5.0.4以前版本需要mkdev hd两遍再做mkdev fs。
  74.     SCO UNIX5.0.4会自动安装多个硬盘,当然扩充硬盘对重复以前版本的安装方法。
  75.    注:  当需将第二个数据硬盘,加在另SCO unix 5.0.4系统上时。
  76.   增加一硬盘     ( # mkdev hd )
  77. 2. 文件系统重命名,不可改变分区大小(#divvy  /dev/1s0)
  78. 增加文件系统   ( #mkdev fs )
  79. 3.光驱:mkdev  cdrom
  80. 设备名:/dev/cd0
  81. 4.磁带机:mkdev  tape
  82. 5.串口:mkdev  serial
  83. 串口1不需配(系统默认)
  84. 6.并口:mkdev  parallel       
  85. 7.鼠标:mkdev  mouse
  86. 测试命令:#usemouse      
  87.     8.modem: mkdev modem
  88. 将信息写在/usr/lib/uucp/Devices文件中                 
  89. 9.打印机:mkdev lp       
  90. 10.远程打印机
  91. 1).安装打印包
  92.      #mkdev rlp   (客户端,服务端都要配置)   
  93. 2).配置打印机
  94.      #rlpconf      (客户端,服务端都要配置)
  95. 3).受托主机访问
  96.      #/etc/hosts.equiv           
  97. 11.网卡:netconfig
  98.     如果是ISA网卡,先用驱动盘确认网卡中断,I/O地址;(NE2000 3 300-21F)如果
  99.     是PCI网卡或做网卡在主板上,系统会自动识别。识别有可能是正确,有可能不正
  100.     确,用驱动盘设置Device function bus的值
  101.      12.显示卡:scoadmin  video
  102. 明确卡的型号,加载驱动包,如果发现花屏,考虑驱动包的选择正确与否,或增加
  103. 显卡内存(1M--2M)。
  104.      13.配置可读可写光驱:
  105.     同配置硬盘,注意,MO读写块格式(512K/块,1024K/块)
  106.           14.多用户卡配置:
  107.     1). 非智能卡一般用mkdev serial配置端口选择类型,设置中断号即可。
  108.     2).其它类卡安装: 用# tar  xv6  命令,从软盘将文件复制到硬盘,后用 #install  
  109.         安装开端口.如:#enable  /dev/tty2a如果终端连不通,可查看多用户卡的
  110.         中断号
  111.       15.伪终端的配置:
  112.      #mkdev ptty 或 scoadmin -> system -> hardware -> ptty
  113.      显示伪终端的数量                           
  114.      #l  /dev/ttyp* |wc -l            
  115.       16.串口终端的配置:
  116.      在连接终端之前,无论是主机上的标准串口,还是多串卡提供的串口都要先进行
  117.      配置。   (mkdev serial)
  118.      终端设置:波特率9600 . 8位数据位 .1位停止位 . 没有奇偶校验 .
  119.    全双工以及XON/OFF握手协议
  120.    终端的安装:主机开启/关闭 # enable/disable  tty1a
  121.    (其中tty1a是终端所占用的端口1, 系统默认串口1), 终端正常:login:
  122.          否则;在主机上先关闭 #disable ttyxx,再输入 #date >/dev/tty1a
  123.      如在终端显示当前日期,否则终端与主机连接存在问题     
  124.          串口: DCE(数据通讯设备)   DTE(数据终端设备)

复制代码

论坛徽章:
0
发表于 2006-01-09 16:56 |显示全部楼层
打个包让大家下吧!这样多方便!

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
发表于 2006-01-09 17:01 |显示全部楼层
zhyesno 老大常有惊人之举,这样的内容是一个一个字敲上去的吗?

有电子书吧,提供给我辈新手下载如何?

论坛徽章:
0
发表于 2006-01-09 18:38 |显示全部楼层
是这样的,这几天在找一个资料,
才看到这本书的一个章节。
网上很多地方都不全。
cu上也有,在sybase板块,只有一部分。
所以我才一点一点的贴。
后来在搜集过程中,才发现sdccf斑竹www.unix-cd.com早有doc文档下载。
那时我已经贴了一半多了。

现在我已经把原文档下载地址和压缩包放在顶楼了。。。:)

论坛徽章:
0
发表于 2006-01-10 09:55 |显示全部楼层
太好了,全面。收藏!

论坛徽章:
0
发表于 2006-01-10 10:06 |显示全部楼层
难道不可以给个直接下的没?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP