The Linux BootPrompt-HowTo 中译版 by Paul Gortmaker. v1.14, 1 February 1998 _________________________________________________________________ 这份文件是启动提示说明(BootPrompt-Howto), 它整理了所有可以在启动时期传 给 Linux 核心的启动时期参数(arguments)。 包含所有核心与设备的参数。也包 含关於核心如何排序(sorts) 启动时期参数的讨论, 还有一些启动 Linux 核心 常用软体概述。 _________________________________________________________________ 1. 简介 * 1.1 宣言与版权 * 1.2 相关文件 * 1.3 Linux 新闻群组 * 1.4 新版文件 2. 启动提示参数概观 * 2.1 LILO (LInux LOader) * 2.2 LoadLin * 2.3 ``rdev'' 公用程式 * 2.4 核心如何排列参数 * 2.5 设定环境变数 * 2.6 传递参数给 `init' 程式 3. 一般无关设备特性的启动参数 * 3.1 根档案系统选项 * 3.2 与记忆体磁碟(RAM Disk)管理有关的选项 * 3.3 与记忆体管理有关的参数 * 3.4 以网路档案系统(NFS)作为根档案系统使用的参数 * 3.5 其它另外的核心启动参数 4. 小型电脑智慧介面(SCSI)周边的启动参数 * 4.1 中层驱动程式的参数 * 4.2 SCSI 卡的参数 * 4.3 不接受启动参数的 SCSI 卡 5. 硬碟机 * 5.1 IDE 磁碟/光碟驱动程式参数 * 5.2 标准 ST-506 磁碟驱动程式选项(`hd=') * 5.3 XT Disk Driver Options (`xd=') 6. 光碟机 (Non-SCSI/ATAPI/IDE) * 6.1 Aztech 介面 (`aztcd=') * 6.2 CDU-31A 以及 CDU-33A Sony 介面 (`cdu31a=') * 6.3 CDU-535 Sony 介面 (`sonycd535=') * 6.4 GoldStar 介面 (`gscd=') * 6.5 ISP16 介面 (`isp16=') * 6.6 Mitsumi 标准介面 (`mcd=') * 6.7 Mitsumi XA/MultiSession 介面 (`mcdx=') * 6.8 Optics Storage 介面 (`optcd=') * 6.9 Phillips CM206 介面 (`cm206=') * 6.10 Sanyo 介面 (`sjcd=') * 6.11 SoundBlaster Pro 介面 (`sbpcd=') 7. 其它硬体设备 * 7.1 乙太网路设备 (`ether=') * 7.2 软碟驱动程式 (`floppy=') * 7.3 音效驱动程式 (`sound=') * 7.4 汇流排滑鼠驱动程式 (`bmouse=') * 7.5 微软汇流排滑鼠驱动程式 (`msmouse=') * 7.6 印表机驱动程式 (`lp=') * 7.7 ICN 整体服务数位网路(ISDN)驱动程式 (`icn=') * 7.8 PCBIT ISDN 驱动程式 (`pcbit=') * 7.9 Teles ISDN 驱动程式 (`teles=') * 7.10 DigiBoard 驱动程式 (`digi=') * 7.11 RISCom/8 多埠串列卡驱动程式 (`riscom8=') * 7.12 Baycom 串列/并列无线数据机 (`baycom=') 8. 结束 _________________________________________________________________ 1. 简介 核心有能力在启动时以`指令列'方式接受有限的参数资讯, 类似执行程式时所给 予的一些参数(argument list)。 通常这是用来提供核心一些它没有办法自己确 定的硬体参数资讯, 或是避免/变更(override)核心自己侦测所获得的值。 然而,如果你直接把核心映像(kernel image)拷贝到软碟上, (例如 cp zImage /dev/fd0)那麽你将没有机会指定任何参数给核心。 所以大部份的 Linux 使用者都使用像是 LILO 或是 loadlin 一类能够把这些参数传给核心, 然後启动它的软体。 模组(MODULE)使用者请注意: 典型的启动提示参数只能用於直接编译到核心里的 硬体驱动程式。 它们对使用模组方式载入的驱动程式没有影响。 大部份的发行 套件(distributions) 都使用模组。 如果你无法确定, 可以对照 /etc/conf.modules 的内容查阅 man depmod 以及 man modprobe。 目前这版说明文件涵盖到 v2.0.33 为止的核心。同时也包含部份到 v2.1.84 为 止, 发展/测试版核心的特性。 这份启动提示说明的作者是: Paul Gortmaker, gpg109@rsphy1.anu.edu.au [请注意,特别给非 i386 机器或设备(尤其是 Atari/Amiga)用的 启动提示参 数目前并没有写进来。] 1.1 宣言与版权 这份文件并非绝对正确的真理。然而它大概是你所能找到最新的资讯。 没有人必 须对你硬体所发生的事负责,除了你自己以外。 如果你的硬体冒烟烧掉了(.. .这几乎不可能!)我也没有责任。 也就是说根据这份文件中所提供的资讯去实 行而造成的任何损害作者概不负责。 这份文件的版权 Copyright (C) 1995-1998 属於 Paul Gortmaker。 这份文件可依第二版 GNU 通用公开授权(General Public License)的条件, 包 括此声明,进行拷贝。 细节请参阅随附於 Linux 核心的 linux/COPYING 档案。 如果你想把这份文件集结出版,请与我联络,我会确认你取得的是否为最新的资 讯。 过去曾经有过时的 Linux 说明文件版本出版, 造成发展者为了在新版文件 中已有答案的问题想破头壳。 This document is not gospel. However, it is probably the most up to date info that you will be able to find. Nobody is responsible for what happens to your hardware but yourself. If your hardware goes up in smoke (...nearly impossible!) I take no responsibility. ie. THE AUTHOR IS NOT RESPONSIBLE FOR ANY DAMAGES INCURRED DUE TO ACTIONS TAKEN BASED ON THE INFORMATION INCLUDED IN THIS DOCUMENT. This document is Copyright (C) 1995-1998 by Paul Gortmaker. This document may be copied according to the conditions of the GNU General Public License, version 2, included herein by reference. See the file linux/COPYING that comes with the Linux kernel for full details. If you are intending to incorporate this document into a published work, please contact me, and I will make an effort to ensure that you have the most up to date information available. In the past, out of date versions of the Linux howto documents have been published, which caused the developers undue grief from being plagued with questions that were already answered in the up to date versions. 1.2 相关文件 最新版的文件永远是核心的原始程式码本身。等一下!先不要害怕。 阅读原始档 里的注解不需要懂任何程式设计。 例如,如果你要找可以传给 AHA1542 SCSI 驱 动程式的参数, 那就到 linux/drivers/scsi 目录下去看 aha1542.c 这个档, 在前面 100 行里就可以找到一段原文说明此 1542 驱动程式所接受的启动时期参 数。 下个绝佳的参考是核心本身随附的任何文件档。目前并不多, 大部份可以在 linux/Documentation 目录及其下的子目录中找到。 linux 目录通常可以在 /usr/src/ 下找到。 有时候也可以在相关驱动程式目录里找到 README.foo 档案 (例如 linux/drivers/XXX/ ,其中的 XXX 可能是 scsi, char, or net)。 如果你已经找到想要使用的启动参数,而现在想知道如何把这些资讯传给核心的 话, 那就看看你用来启动核心的软体(例如 LILO 或者是 loadlin )所随附的 文件。 下面有简短的概述,但不能替代启动软体所随附的文件。 1.3 Linux 新闻群组 如果你有关於传递参数给核心这方面的问题,请先读一读这份文件。 如果它以及 前面所提到的相关文件都没能回答你的问题,那麽你可以试试 Linux 新闻群组。 当然,在轻率的贴出你的问题前应该先阅读该新闻群组, 因为可能已经有人问过 这个问题,或者这可能已经是个常见问题(a FAQ)。 张贴之前先快速浏览 linux 常见问题会是个好习惯。 你应该能够在邻近这份文件的某处找到常见问题集。 关於如何配置系统的一般性问题应该直接贴到 comp.os.linux.setup 新闻群组。 请你尊重这个有关张贴内容的一般惯例,并且, 不要把你的需求交叉张 贴(cross-post)到其它群组去。 1.4 新版文件 新版文件可由匿名档案传输服务(anonymous FTP)从 sunsite.unc.edu 这个站取 得, 在 /pub/Linux/docs/HOWTO/ 目录里。 注意,SunSITE 的负载经常很大, 所以建议你最好找个 Linux 档案传输映射(mirror)节点取得此文件。 有新的资 讯以及/或是驱动程式时就会补充资料。 如果你现在读的这份拷贝已经有几个月 之久,你可能得确认一下是否有新的。 这份文件系使用一套特别为 Linux 说明文件计画修改的 SGML 系统所产生的, 有各种不同的输出格式,包括 postscript, dvi, ascii, html, 以及将要出现的 Texinfo。 我建议以 html(经由全球资讯网浏览器)或 Postscript/dvi 格式阅 读。 这两者都包含 ascii 转换过程中失去的交互参考(cross-references)。 如果你想从 sunsite 取得正式的拷贝,位址(URL)在此。 [1]BootPrompt-HOWTO 2. 启动提示参数概观 这一节介绍一些可以用来传递启动时期参数给核心本身的软体□例。 也给你有关 这些参数系如何被处理,启动参数有什麽样的限制, 以及它们如何被转送到各个 适当设备的观念。 有一点很重要得注意的是在启动参数中不应该使用空白, 只有在各别的参数之间 可以。 单一参数其值的列表(A list of values)是在各值之间以逗号格开的,再 一次, 没有任何空白。参见下面的□例。 _________________________________________________________________ ether=9,0x300,0xd0000,0xd4000,eth0 root=/dev/hda1 *RIGHT* ether = 9, 0x300, 0xd0000, 0xd4000, eth0 root = /dev/hda1 *WRONG* _________________________________________________________________ 2.1 LILO (LInux LOader) 最常用的是 Werner Almesberger 所写的 LILO(LInux LOader) 程式。 它有能力 启动不同的核心,而且配置资讯存放在一个纯文字档里。 大部份的发行套件都附 有 LILO 作为预设的启动载入程式(boot-loader)。 LILO 可以一视同仁地启动 DOS, OS/2, Linux, FreeBSD 等等,而且相当有弹性。 在你开机之後,典型的配置会让 LILO 停住并印出 LILO:。 然後等个几秒看看使 用者有没有输入任何选项,没有的话就启动预设的系统。 在 LILO 配置档里典型 的系统标签是 linux 以及 backup 和 msdos。 如果你想要输入启动参数,可以 打在这,在输入你要 LILO 启动的系统之标签後面, 像下面这个□例所显示的。 _________________________________________________________________ LILO: linux root=/dev/hda1 _________________________________________________________________ LILO 随附有绝佳的文件,而且为了这里所讨论的启动参数之使用, 当你想要把 启动时期参数加到 LILO 配置档里永久使用时 LILO 的 append= 指令就非常重要 。 只要简单地在 /etc/lilo.conf 档中加入像 append = "foo=bar" 这样的东东 即可。 可以加在该档的最前面,使它对每一节区(section)都生效, 或是加在某 image= 节区里使它对该节区生效。 请参阅 LILO 文件里更完整的说明。 2.2 LoadLin 另一个常用的 Linux 载入程式 `LoadLin' 则是一支有能力从 DOS 提示符 号(prompt)下启动 Linux 核心(可以给予启动参数)的 DOS 程式, 假如某些系 统资源可用的话就行。 这对使用 DOS 并想从 DOS 下启动进入 Linux 的人而言 很好用。 如果你拥有一些需要使用其所提供的 DOS 驱动程式来初使化以进入可用状态 (known state)的硬体那麽它也很有用。 一个常见的例子是需要使用 DOS 驱动程 式设定(twiddle) 几个神秘的暂存器使它进入声霸卡相容模式的”声霸卡相容” 音效卡。 启动 DOS 与所附的驱动程式, 然後从 DOS 提示符号下使用 LOADLIN.EXE 载入 Linux 以避免重新启动(reboot)会重置(reset)该卡。 如此该 卡维持在声霸卡相容模式也就能在 Linux 下使用。 还有一些其它程式可以用来启动 Linux。 完整的列表请找找在你当地 Linux 档 案传输映设节点里的程式, 在 system/Linux-boot/ 下。 2.3 ``rdev'' 公用程式 核心本身里面的数个位元组存有少数几个核心启动参数的预设值。 在大部份的系 统里安装有一支称为 rdev 的公用程式知道这些值在那里, 以及如何改变它们。 它也能改变另外一些没有相对之核心启动参数的东西, 像是预设的显示模 式(video mode)。 此 rdev 公用程式通常也另称(aliased to) swapdev, ramsize, vidmode 以及 rootflags。它能够改变五种东西,分别是根目录设备(root device), 置换设 备(swap device),记忆体磁碟(RAM disk)之参数,预设的显示模式, 及根目录 设备的存取设定(readonly/readwrite)。 更多有关 rdev 的资讯可以藉由输入 rdev -h 或是参阅其线上说明页 (man rdev)获得。 2.4 核心如何排列参数 大部份的启动参数格式为: _________________________________________________________________ name[=value_1][,value_2]...[,value_11] _________________________________________________________________ 其中 `name' 是一个用来唯一识别(unique)相关的值(如果有的话) 是要给核心 的那个部份的关键字。 多个启动参数只是上述格式以空白分隔的列表。 注意那 个 11 是真实的限制, 因为现行的程式码对每个关键字只处理 11 个以逗号分隔 的参数。 (然而,在非比寻常复杂的情况下你可以重覆使用相同的关键字加入 11 个以上的参数, 假如设定函式支援这样搞的话。) 同时也要注意,核心把列 表分成(splits)最多 10 个的整数参数, 後面并跟著一个字串,所以你不能真的 给它 11 个整数, 除非你自行在驱动程式中将第 11 个参数由字串转换成整数。 大部份排序的动作是在 linux/init/main.c 里面。 首先,核心查看参数是否为 `root=', `Ro', `Rw', or `Debug' 这些特别的参数。 这些特别参数的意义本文 中会进一步说明。 然後它走过(walks)一系列的设定函式(放在 bootsetups 阵列里) 看看所指定 的参数字串(像是 `foo')是不是与其中的一个设定函式(foo_setup())相关, 以设定特定设备或核心的一部份。 如果你传给核心 foo=3,4,5,6,bar 这样一行 那麽核心会搜寻 bootsetups 阵列看看 `foo' 是否有注册。 如果有,那麽它会 呼叫与 `foo' 相关联的设定函式(foo_setup()) 并交给它在核心指令列所给的 整数参数 3, 4, 5, and 6,并交给它字串参数 bar。 2.5 设定环境变数 任何不被接受当作上述设定函式的 `foo=bar' 型式之叙述会被解译为要设定的环 境变数。 一个(没用的?)□例是以 `TERM=vt100' 作为启动参数。 2.6 传递参数给 `init' 程式 任何剩下的, 核心不管而且不被解译成环境变数之参数接下来会传给第一个程 序(process), 通常是 init 程式。 最常传给 init 程序的参数是 single 这个 字, 指示 init 把电脑启动在单人模式(single user mode) 并且不启动所有一 般的驻留程式(daemons) 。 查阅你系统里安装的 init 版本之线上手册看看它接 受那些参数。 3. 一般无关设备特性的启动参数 有些启动参数并非与任何设备或周边相关。 它们乃是与某个核心内部参数相关, 像是记忆体的处理,记忆体磁碟的处理, 根档案系统的处理以及其它东东。 3.1 根档案系统选项 下列选项皆与核心如何选择及处理根档案系统有关。 `root=' 参数 此参数告诉核心启动时以那个设备作为根档案系统使用。 此设定的预设值为建 造(bulid)核心时系统的根档案系统设备。 例如,如果核心是在一个以 `/dev/hda1' 作为根档案系统分割区的系统上建造的, 那麽预设的根档案系统设 备就是 `dev/hda1'。 要变更此预设值,并选择第二台软碟机作为根档案系统设 备的话, 可以使用 `root=/dev/fd1'。 可用的根档案系统设备为下列设备其中之一: (1) /dev/hdaN to /dev/hddN, 这是 ST-506 相容磁碟 `a to d' 上的第 N 个分 割区。 (2) /dev/sdaN to /dev/sdeN, 这是 SCSI 相容磁碟 `a to e' 上的第 N 个分割 区。 (3) /dev/sdaN to /dev/xdbN, 这是 XT 相容磁碟 `a to b' 上的第 N 个分割区 。 (4) /dev/fdN, 这是软碟机号码 N。 N=0 为 DOS 下的 `A:' 磁碟机,而 N=1 则 为 `B:'。 (5) /dev/nfs, 这并非真的是个设备, 而是一个告诉核心经由网路取得根档案系 统的旗标。 上述磁碟设备的另一种数字格式, 更为笨拙且更没有可携性的主要/次 要(major/minor) 号码也能接受。 (例如 /dev/sda3 的主要号码为 8,次要号 码为 3, 所以你可以使用 root=0x803 作为另一种指定方式。) 这是少数几个在核心中存有预设值, 所以可以用 rdev 公用程式改变的核心启动 参数。 `ro' 参数 当核心启动时它需要有个根档案系统以读取一些基本的东西。 这就是挂在根目录 的根档案系统。 然而,如果根档案系统以可以写入的方式挂上来的话, 你就无 法在有档案写到一半的情况下确实地检查档案系统的完整性。 此 `ro' 选项告诉 核心以唯读的方式挂入根档案系统, 如此任何档案系统一致性检查程式(fsck) 在执行检查时都可以安全地假设没有档案写到一半的情况。 没有任何程式或程序 可以写入此档案系统直到它重新以可读写的方式挂入为止。 这是少数几个在核心中存有预设值, 所以可以用 rdev 公用程式改变的核心启动 参数。 `rw' 参数 这与上一个完全相反,它告诉核心以可读取/写入的方式挂入根档案系统。 无论 如何,预设是以可读写方式挂入根档案系统。 不要在以可读写方式挂入的档案系 统上执行任何的 `fsck' 程式。 此参数使用的值与上一个储存於核心映像的参数相同,可经由 rdev 存取。 3.2 与记忆体磁碟(RAM Disk)管理有关的选项 下列选项皆与核心如何处理记忆体磁碟设备有关, 这种虚拟磁碟设备通常在安装 阶段启动机器时使用, 或配合使用模组化驱动程式以存取根档案系统的机器上。 `ramdisk_start=' 参数 为了使核心映像能够与压缩的记忆体磁碟映像放在一张软碟内, 所以加入这个 `ramdisk_start=' 指令。 核心不能够放在压缩过的记忆体磁碟之档案 系统映像里, 因为它得从最开始的第零磁区开始放置, 如此基本输出入系 统(BIOS)才能载入启动磁区而核心也才能够开始启动执行。 注意:如果你使用的是没有压缩的记忆体磁碟映像, 那麽核心可以是要载入记忆 体磁碟之档案系统映像的一部份, 且该软碟可以由 LILO 启动,两者也可以如同 压缩之映像般为分开的两部份。 如果你使用启动/根(boot/root)两张磁片的方式(核心一张, 记忆体磁碟映像 放第二张)那麽记忆体磁碟会由第零磁区开始, 并使用零作为偏移值(offset)。 因为这是预设值,你根本不必真的去使用这个指令。 `load_ramdisk=' 参数 此参数告诉核心是否要载入一份记忆体磁碟映像。 `load_ramdisk=1' 指定核心 将软碟载入至记忆体磁碟中。 预设值为零,表示核心不应该试著去载入记忆体磁 碟。 请参阅 linux/Documentation/ramdisk.txt 档案中新的启动参数与如何使用它们 的完整叙述。 它同时也说明如何藉由 `rdev' 来设定及储存这些个参数。 `prompt_ramdisk=' 参数 此参数告诉核心是否要给你个提示要求插入含记忆体磁碟映像的磁片。 在只用一张软碟的配置下记忆体磁碟映像与刚刚载入/启动的核心在相同的软碟 上故不需要提示。 这种情况可以用 `prompt_ramdisk=0'。 在使用两张软碟的配 置下你需要有个抽换磁片的机会,故可以使用 `prompt_ramdisk=1'。 因为这是 预设值,所以不必真的去指定它。 (轶闻:从前人们习惯使用 `vga=ask' 这个 LILO 选项来暂时停止启动程序以取得抽换启动磁片及根磁片的机会。) 请参阅 linux/Documentation/ramdisk.txt 档案中新的启动参数与如何使用它们 的完整叙述。 它同时也说明如何藉由 `rdev' 来设定及储存这些个参数。 `ramdisk_size=' 参数 因为记忆体磁碟实际上会依需求动态成长, 所以其大小有个上限加以限制以免它 用光所有可用的记忆体而坏事。 预设值 4096(i.e. 4MB) 应该足够满足大部份的 需求。 你可以用这个启动参数变更此预设值。 请参阅 linux/Documentation/ramdisk.txt 档案中新的启动参数与如何使用它们 的完整叙述。 它同时也说明如何藉由 `rdev' 来设定及储存这些个参数。 `ramdisk=' 参数(过气了) (注意:这个参数是旧的,除了 v1.3.47 版以及更旧的的核心之外不应该使用。 应该使用的是前面所述的指令) 这个参数以千位元组(kB)为单位指定记忆体磁碟设备的大小。 例如,如果想要把 位於一张 1.44MB 软碟上的根档案系统载入至记忆体磁碟设备, 可以用: _________________________________________________________________ ramdisk=1440 _________________________________________________________________ 这是少数几个在核心中存有预设值,所以可以用 rdev 公用程式改变的核心启动 参数。 `noinitrd'(启始记忆体磁碟)参数 v2.x 及更新的核心有个特性,根档案系统最初是记忆体磁碟, 然後核心执行记 忆体映像上的 /linuxrc。 这个特性典型系用於载入某些挂入真正的根档案系统 所需要的模组 (例如,载入储存於记忆体磁碟映像里的 SCSI 驱动程式, 然後 挂入在某 SCSI 磁碟里真正的根档案系统。) 实际的 `noinitrd' 参数决定核心启动之後如何处理 initrd 资料。 如果有指定 ,它可以经由 /dev/initrd 存取, 可以在记忆体释放回系统之前读取一次。 有 关初始之记忆体磁碟的完整细节与使用请参阅 linux/Documentation/initrd.txt。 此外,最新版的 LILO 及 LOADLIN 应该会 包含其它有用的资讯。 3.3 与记忆体管理有关的参数 下列参数会改变 linux 侦测或处理系统实体及虚拟记忆体的方式。 `mem=' 参数  这个参数有两个目的:原先的目的是指定机器所安装的记忆体数量 (如果你想 限制 linux 能使用的记忆体数量可以指定一个较小的值)。 第二个(很少用) 目的则是指定 mem=nopentium 以便告诉 linux 核心不要使用 4MB 分页表(page table)这个效能特性。 在个人电脑规格中, 原先定义回传安装记忆体数量的基本输出入呼叫被设计成最 多只能回报最多 64MB。 (是的,另一个缺乏远见的设计,就像 1024 磁簇的磁 碟限制...哎。) Linux 在启动时会使用此基本输出入呼叫以确定安装的记忆 体数量。 如果你安装的记忆体超过 64MB,可以用这个启动参数告诉 Linux 你有 多少记忆体。 下面引用 Linus 对 mem= 参数的说明。 ”核心会接受任何你所给予的 `mem=xx' 参数,而如果它发现你骗它, 那它迟早 一定会当的很难看。 这个参数指示可以定址的最高记忆体位址,所以, 例如 `mem=0x1000000' 表示你有 16MB 的记忆体。 对拥有 96MB 的机器而言此值为 `mem=0x6000000'。 注意注意注意: 某些机器可能会使用最上层(top)的记忆体作为基本输出入系统的快取等等一类用 途, 所以你可能并非实际拥有 96MB 的可定址空间。反之亦然: 某些晶片组会将基本输出入系统涵盖的实体记忆体区域对应(map)到最上层记忆体 後面, 所以记忆体最上层实际上可能是 96MB + 384kB。 如果你告诉 linux 的 记忆体比它实际上拥有的还多,那就会出状况:也许不会立刻出事, 但最後一定 会发生。” 注意,此参数并非一定得是十六进位型态, 而且可以使用 `k' 与 `M'(大小写 无关)字尾分别指定千位元组以及百万位元组。 (`k' 会把你给的值旋 转(shift) 10 位元,而 `M' 会旋转 20 位元。) 上述警告依然没变,沿上例, 一台 96MB 的机器也许可以设 mem=97920k 而无法使用 mem=98304k 或 mem=96M 。 `swap=' 参数 这允许使用者调整某些与磁碟置换(swapping)有关的虚拟记忆体参数(VM)。 它接 受下列八个参数: _________________________________________________________________ MAX_PAGE_AGE PAGE_ADVANCE PAGE_DECLINE PAGE_INITIAL_AGE AGE_CLUSTER_FRACT AGE_CLUSTER_MIN PAGEOUT_WEIGHT BUFFEROUT_WEIGHT _________________________________________________________________ 有兴趣的玩家建议你阅读 linux/mm/swap.c 并注意 /proc/sys/vm 里面的东西。 `buff=' 参数 类似 `swap=' 参数,这允许使用者调整某些与缓冲记忆体(buffer)之管理相关的 参数。 它接受下列六个参数。 _________________________________________________________________ MAX_BUFF_AGE BUFF_ADVANCE BUFF_DECLINE BUFF_INITIAL_AGE BUFFEROUT_WEIGHT BUFFERMEM_GRACE _________________________________________________________________ 有兴趣的玩家建议你阅读 linux/mm/swap.c 并注意 /proc/sys/vm 里面的东西。 3.4 以网路档案系统(NFS)作为根档案系统使用的参数 藉由透过网路档案系统(NFS: Network FileSystem) 提供根档案系统 Linux 支援 无碟(diskless)工作站这样的系统。 这些参数系用来告诉无碟工作站要从那一台 机器取得其系统。 同时要注意 root=/dev/nfs 参数是必需的。 有关使用网路档 案系统作为根档案系统之细节说明在 linux/Documentation/nfsroot.txt 档案里 。 你应该阅读这个档案, 因为下面只是从那个档案直接拿过来的快速摘要。 `nfsroot=' 参数 这个参数告诉核心以那一台机器, 那个目录以及那些个网路档案系统选项作为根 档案系统使用。 此参数的格式如下: _________________________________________________________________ nfsroot=[:][,] _________________________________________________________________ 如果指令列上没有给定 nfsroot 参数,则将使用 `/tftpboot/%s' 预设值。 其 它选项如下: -- 指定网路档案系统伺服端的网际网路位址(IP address)。 如果 没有给定此栏位,则使用由 nfsaddrs 变数(见下面)所决定的值。 此参数的用 途之一是允许使用不同机器作为反向位址解析协定(RARP) 及网路档案系统伺服端 。通常你可以不管它(设为空白)。 -- 伺服端上要作为根挂入的目录名称。如果字串中有个 `%s' 符 记(token), 此符记将代换为客户端网际网路位址之 ASCII 表示法。 -- 标准的网路档案系统选项。所有选项都以逗号分开。 如果没 有给定此选项栏位则使用下列的预设值: port = as given by server portmap daemon rsize = 1024 wsize = 1024 timeo = 7 retrans = 3 acregmin = 3 acregmax = 60 acdirmin = 30 acdirmax = 60 flags = hard, nointr, noposix, cto, ac `nfsaddrs=' 参数 这个启动参数设定网路通讯所需的各种网路界面位址。如果没有给定这个参数, 则核心会试著使用反向位址解析协定以及/或是启动协定(BOOTP)以找出这些参数 。 其格式如下: _________________________________________________________________ nfsaddrs=:::::: _________________________________________________________________ -- 客户端的网际网路位址。如果没设, 此位址将由反向位址解析协定 或启动协定来决定。 使用何种协定端视配置核心时打开的选项以及 参数 而定。 如果设定此参数,就不会使用反向位址解析协定或启动协定。 -- 网路档案系统伺服端之网际网路位址。 如果使用反向位址解析协 定来决定客户端位址并且设定此参数, 则只接受从指定之伺服端传来的回应。 要使用不同的机器作为反向位址解析与网路档案系统伺服端的话, 在此指定你的 反向位址解析协定伺服端(保持空白)并在 nfsroot 参数(见上述) 中指定你 的网路档案系统伺服端。 如果此项目空白则使用回答反向位址解析协定或启动协 定之伺服端的位址。 -- 闸道(gateway)之网际网路位址,若伺服端位於不同的子网路上时。 如果此项目空白则不使用任何闸道并假设伺服端在本地的(local)网路上, 除非 由启动协定接收到值。 -- 本地网路介面的网路遮罩。 如果为空白,则网路遮罩由客户端的 网际网路位址导出,除非由启动协定接收到值。 -- 客户端的名称。 如果空白,则使用客户端网际网路位址之 ASCII-标 记法,或由启动协定接收的值。 -- 要使用的网路设备名称。 如果为空白,所有设备都会用来发出反向位 址解析请求, 启动协定请求由最先找到的设备发出。 网路档案系统使用接收到 反向位址解析协定或启动协定回应的设备。 如果你只有一个设备那你可以不管它 。 -- 用以作为自动配置的方法。 如果是 `rarp' 或是 `bootp' 则使用所 指示的协定。 如果此值为 `both' 或空白,若配置核心时有打开这两种协定则都 使用。 `none' 表示不使用自动配置。这种情况下你必须指定前述栏位中所有必 要的值。 此 参数可以作为 nfsaddrs 的参数单独使用(前面没有任何 `:` 字元) , 这种情况下会使用自动配置。然而,此种情况不能使用 `none'作为值。 3.5 其它另外的核心启动参数 这些启动参数让使用者调整某些核心内部的参数。 The `debug' Argument 核心经由 printk() 函式传达重要(以及没那麽重要)的讯息给管理 者(operator)。 如果讯息很重要, printk() 函式也会显示到主控台(console) 上, 就如同丢给 klogd() 记录到磁碟上一般。 如同记录到磁碟上一般在主控台 上显示重要讯息的原因是因为在不幸的状况下 (例如磁碟损坏)讯息将无法存入 磁碟而漏失。 到底什麽重要什麽不重要其门槛藉由 console_loglevel 变数设定。 预设是把任 何比 DEBUG(等级 7)重要的东西记录到主控台上去。 (这些等级定义在 kernel.h 含入档中)指定 debug 启动参数将使主控台的记录等级设为 10, 所 以所有核心讯息都会出现在主控台上。 主控台记录等级通常也可以在执行期间经由 klogd() 程式选项设定。 查看你系 统之安装版本的线上说明页看看该怎麽做。 `init=' 参数 核心启动时预设执行 `init' 程式,这支程式接下来经由执行 getty 程式, 跑 `rc' 指令稿(scripts)以及诸如此类的东东为使用者设定电脑。 核心首先寻找 /sbin/init ,然後是 /etc/init (depreciated), 而最後它会去试 /bin/sh ( 可能在 /etc/rc )。 如果说,例如,如果你的 init 程式坏掉了,只要使用 init=/bin/sh 这个启动参数就能让你在启动时直接跳到解译环境(shell),使你能够换掉坏掉的 程式。 `no387' 参数 某些 i387 协同处理器晶片有臭□(bugs),在 32 位元保护模式下会出现。 例如 ,部份早期的 ULSI-387 晶片在执行浮点运算时会死当, 这似乎是因为 FRSAV/FRRESTOR 指令的一只□。 使用 `no387' 启动参数使 Linux 就算你真的 有数值辅助处理器也忽略它的存在。 当然编译核心时你必须加入数值模拟支援! 如果你有某些能够使用 80287 浮点处理单元(FPU)的古董级 386 机器那这也很有 用, 因为 linux 无法使用 80287。 `no-hlt' 参数 i386(及其後继者) 家族的中央处理器有个 `hlt' 指令用来告诉中央处理器现 在□□没事做, 直到某个外部设备(键盘,数据机,磁碟等等)呼叫中央处理器 执行任务为止。 这个指令会使中央处理器进入‘省电’模式, 像个死 人(zombie)般坐在那里直到有个外部设备叫它起来 (经由中断(interrupt) ,通 常是)。 部份早期的 i486DX-100 晶片处理这个 `hlt' 指令有问题, 使用过这 个指令後它们不能可靠地回到运作模式。 使用 `no-hlt' 这个指令告诉 Linux当 无事可做时跑个无穷回圈而不停住你的中央处理器。 让有这些晶片的人们能够使 用 Linux,然而还是建议有可能的话就换掉这些晶片。 `no-scroll' 参数 启动时使用这个参数可以关闭卷页(scrolling)特性,这个特性使得 Braille 终 端机难以使用。 `panic=' 参数 在不太可能发生的核心异常(kernel panic)事件下(像是核心侦测到内部错误, 并认为这样的错误严重到应该发出警讯并停止任何作业), 预设的处理方式是就停在那儿直到有人过来并注意到萤幕上的异常警讯然後重新 启动机器。 然而如果机器是在无法触及,隔离的地方跑的话也许会希望它能自动重置自己然 後回到线上。 例如,启动时使用 panic=30 会使核心在发生核心异常 30 秒後试 著重新启动自己。 若此值为零则使用预设的处理方式,就是一直在那儿等。 注意,这个逾时(timeout)设定也可经由 /proc/sys/kernel/panic 系统控制 (sysctl)介面读取与设定。 `profile=' 参数 核心发展者们可以打开某个选项以得知核心如何使用中央处理器时间以及用在那 □, 以便最大化效率(efficiency)与效能(performance)。 这个选项让你在启动 时设定观察变化的计数(the profile shift count)。 此值一般设为二。你也可 以在编译核心时打开此功能。无论那种情况,你都需要像 readprofile.c 这类可 以处理 /proc/profile 输出的工具。 `reboot=' 选项 这个选项控制重置电脑时 (典型是经由 /sbin/init 处理的 Control-Alt-Delete 动作) Linux 所做的重新启动之种类。 新的 v2.0 核心预 设的动作是做‘冷’开机 (完全重置,基本输出入系统执行记忆体检查等等)以 代替‘暖’开机 (没有完全重置,没有记忆体检查)。 改为预设冷开机是为了要在便宜的/烂烂的,暖开机请求没办法重新启动的硬体 上工作。 可以使用 reboot=w 设为原先的方式(暖开机),其实可以用任何以 w 开头的字来设定。 为什麽这会造成困扰? 某些具有记忆体快取的磁碟控制器能够感测到暖开机, 并且把所有暂存的资料写到磁碟上。 冷开机可能会重设该卡,在快取卡记忆体里 面的回写(write-back)资料就会漏失。 已经有人回报系统记忆体检查很花时间以 及/或是小型电脑智慧介面基本输出入系统 (SCSI BIOSes)冷开机时花较久的时 间初始化是使用暖开机的好理由。 `reserve=' 参数 这是用来保护输出入埠区域不要侦测。这个指令的格式是: reserve=iobase,extent[,iobase,extent]... 在某些机器上也许必须避免设备驱动程式去检查(自动侦测)在某些特殊区域的 设备。 这可能是因为硬体设计的不良而会使得启动终止(像是某些乙太网路卡) , 会被误认的硬体,状态会因为较前面的侦测而改变的硬体, 或者只是你不想 让核心初始化的硬体。 此 reserve 启动时期参数藉由指定一段不要侦测的输出入埠□围以解决此问题。 此段区域在核心的输出入埠注册表格当中被视为已经在该处找到设备 (名称为 reserved )而保留。注意,绝大部份的机器都不需要此机制。 只有真的有问题 或特殊情况才会需要用到这东东。 位於指定之区域中的输出入埠乃是靠著在侦测一段输出入区域之前先执行 check_region() 以避免设备侦测。 这用於某些遇上 NE2000 会挂掉或者会误认 其它设备的驱动程式。 正确的设备驱动程式不应该去侦测保留区域,除非另一个启动参数明确地指示它 这样做。 这意谓著 reserve 经常与其它启动参数一起使用。 如果你指定一段保 留区域以保护某特定设备的话, 你必须明确地指定此设备的侦测□围, 大部份 的驱动程式如果有给它们明确的位址就会忽略输出入埠注册表。 例如,此启动列 _________________________________________________________________ reserve=0x300,32 blah=0x300 _________________________________________________________________ 保留 0x300-0x31f 不让除了 `blah' 的设备驱动程式外的所有驱动程式去侦侧。 如同一般启动时期所用的格式,它也有 11 个参数之限制, 因此每个 reserve 关键字只能指定 5 个保留区域。 如果你有异常复杂的需求,可以使用多重 reserve 指定。 `vga=' 参数 注意,这并不真的是个启动参数。它是由 LILO 解译的选项, 与所有其它由核心 处理的启动参数并不相同。 然而因为它的使用变得如此普遍故值得在此加上一笔 。 这个选项也可以经由使用 rdev -v 或相同的 vidmode 指令对 vmlinuz 档案 作设定。 这使得设定程式码能够在真的启动 Linux 核心之前使用视讯(video)基 本输出入系统改变预设的显示模式。 典型的模式是 80x50, 132x44 等等。 使用 此选项最好的方式是以 vga=ask 启动, 如此在启动核心前会有个列表提示你的 显示卡可以使用的各种模式。 一旦你从上述列表得知你想使用的号码,以後就可 以把它放在 `ask' 的位置。 更进一步的资讯请参阅随附於所有新版核心的 linux/Documentation/svga.txt 档案。 注意,新的核心(2.1 版以上)有改变显示模式的设定程式码选项 Video mode selection support, 所以如果你想使用这个特性那麽你就得打开这个选项。 4. 小型电脑智慧介面(SCSI)周边的启动参数 这一节包含用来传递有关小型电脑智慧介面(SCSI)卡(host adapters)及 SCSI 设 备之资讯的启动参数说明。 4.1 中层驱动程式的参数 中层驱动程式处理像磁碟,光碟及磁带等等而不深入介面卡的特性。 最大侦测逻辑号码(LUN)数(`max_scsi_luns=') 每个 SCSI 设备本身里面都可以包含一个‘子设备’号码。 最常见的例子是那些 一次可以放好几张片子的新型 SCSI 光碟机。 每张光碟由指定之设备的‘逻辑号 码(Logical Unit Number: LUN)’定址。 但大部份的设备,像硬碟机,磁带机等 等都是单一个的设备, 而逻辑号码设为零。 只有一个逻辑编号的设备若轫体写得不好就会出问题。 某些设计不良的 SCSI 设 备(旧的以及就那麽巧被你碰上的新设备)无法接受不为零的逻辑编号侦测。 它 们会挂在那,而且有可能把整个 SCSI 汇流排(bus)都带著一起陪葬。 较新的核心有一个配置选项可以让你设定所要侦测之最大逻辑编号。 预设只侦测 到逻辑编号零以必免上述问题。 在启动时指定要侦测的逻辑号码可以键入 `max_scsi_luns=n' 作为启动参数, 其中 n 是介於壹到捌的数字。 要避免上述问题可以使用 n=1 以避免这些个烂设 备不高兴。 SCSI 磁带驱动程式的参数(`st=') SCSI 磁带驱动程式的某些启动时期配置可以藉由使用下列参数达成: _________________________________________________________________ st=buf_size[,write_threshold[,max_bufs]] _________________________________________________________________ 前面两个数字的单位是千位元组。预设的 buf_size 是 32kB。 最多可以指定为 16384kB,大的荒谬。 write_threshold 缓冲区确认送至磁带的值,预设为 30kB。 最大缓冲区个数视侦测到的装置数量而定,预设值为二。使用□例如: _________________________________________________________________ st=32,30,2 _________________________________________________________________ 完整的细节可以在 README.st 档案中找到, 位於核心原始程式码结构(tree)的 scsi 目录里。 4.2 SCSI 卡的参数 本节的常见标记: iobase -- SCSI 卡进驻的第一个输出入埠。 以十六进制表示法指定,而且通常 落在 0x200 到 0x3ff 之间。 irq -- 介面卡设定使用的硬体中断。 其可用的值与介面卡有关, 但通常是 5, 7, 9, 10, 11, 12, 以及 15。其它值通常由一般的周边设备使用, 像是 IDE 硬 碟,软碟,串列埠等等。 dma -- 介面卡使用的直接记忆体存取(Direct Memory Access:DMA)通道。 典型 只用於具汇流排主控(bus-mastering)能力的卡。 PCI 及 VLB 介面卡本即具汇流 排主控,且不需要任何 ISA 直接记忆体存取通道。 scsi-id -- 在 SCSI 汇流排上,介面卡用来识别它本身的识别号码。 只有某些 介面卡允许你改变这个值,大部份则都内定且永久不变。 通常预设值是七,但西 捷(Seagate)以及 Future Domain TMC-950 卡使用六。 parity -- SCSI 介面卡是否期望所连接的设备交换资讯时提供同位检查码。 指 定一表示打开同位检查,零则为关闭。 同样地,并非所有的介面卡都支援选用同 位检查这个启动参数。 Adaptec aha151x, aha152x, aic6260, aic6360, SB16-SCSI (`aha152x=') aha 编号对照卡而 aic 编号对照这些卡上实际的 SCSI 晶片, 包含 Soundblaster-16 SCSI。 侦测这些 SCSI 卡的程式码寻找从卡上安装进来的基本输出入系统, 如果没有, 就找不到你的卡。然後你就得使用这种型式的启动参数: _________________________________________________________________ aha152x=iobase[,irq[,scsi-id[,reconnect[,parity]]]] _________________________________________________________________ 注意,如果此驱动程式编译时有打开错误侦测,则可以指定第六个值以设定侦错 层级。 所有参数都如本节最前面所述,而 reconnect 值如果不为零则允许设备离线/重 新连线。 使用□例如下: _________________________________________________________________ aha152x=0x340,11,7,1 _________________________________________________________________ 注意,参数必须依序指定,意谓如果你想指定同位检查, 那麽你也得指定 iobase, irq, scsi-id 以及 reconnect 值。 Adaptec aha154x (`aha1542=') 这些是 aha154x 系列的卡。 aha1542 系列的卡板子上有一个 i82077 软碟控制 器,而 aha1540 系列的卡没有。 这些卡是汇流排主控卡,而且有可以设定”公平性”的参数,用来与其它设备共 用汇流排。 其启动参数看起来像下面这样。 _________________________________________________________________ aha1542=iobase[,buson,busoff[,dmaspeed]] _________________________________________________________________ 可用的 iobase 值通常是: 0x130, 0x134, 0x230, 0x234, 0x330, 0x334 其中 之一。 仿(Clone)卡可能允许使用其它值。 buson, busoff 的值是该卡占用工业标准架构(ISA)汇流排的毫秒 数(microsecond)。 预设值是 11us on, and 4us off,如此其它的卡 (像是工 业标准架构介面的 LANCE 乙太网路卡)就有机会存取工业标准架构汇流排。 dmaspeed 的值是进行直接记忆体存取的速率(以百万位元组每秒为单位)。 预 设为 5MB/s。 新版的卡可以让你从软体配置(soft-configuration)中选择这个值 , 较旧的卡则使用跳接(jumpers)。假设你的主机板够力的话可以使用 10MB/s。 如果使用 5MB/s 以上的值请小心试验。 Adaptec aha274x, aha284x, aic7xxx (`aic7xxx=') 这些卡可以接受此种格式的参数。 _________________________________________________________________ aic7xxx=extended,no_reset _________________________________________________________________ 如果 extended 的值不为零则表示打开对大容量磁碟的延伸转换(extended translation)。 no_reset 值如果不为零则是告诉驱动程式启动时, 设定介面卡 的时候不要重置 SCSI 汇流排。 AdvanSys SCSI Host Adaptors (`advansys=') AdvanSys 驱动程式最多能接受四个输出入位址以侦测 AdvanSys SCSI 卡。注意 ,这些值(若使用的话)完全不会影响 EISA 或是 PCI 的 侦测。它们仅用来侦 测 ISA 以及 VLB 介面卡。还有,如果此驱动 程式编译时有打开错误侦测的话, 那麽错误侦测的输出输出层级可以 藉由加入 0xdeb[0-f] 参数来设定。 Always IN2000 介面卡 (`in2000=') 跟其它 SCSI 卡的启动参数不同, IN2000 驱动程式使用由美国标准交换 码(ASCII) 所组成的前置(prefix)字串代表大部份的整数参数。 这是一份支援列 表: ioport:addr -- 其中 addr 是卡(通常没有唯读记忆体)的输出入位址。 noreset -- 没有选用的参数。这避免启动时期的 SCSI 汇流排重置动作。 nosync:x -- x 是个位元遮罩(bitmask),其中前面七个位元对应到七个 SCSI 设 备 (第零个位元是第零号设备,馀类推)。 设定其中的位元以避免对该设备进行同步(sync)协商(negotiation)。 驱动程式 预设是关闭所有设备之同步。 period:ns -- ns 是以奈秒(nanoseconds)为单位之最小 SCSI 资料传输时间区段 (period)。预设为 500; 可接受的值是 250 到 1000。 disconnect:x -- x = 0 即绝不允许离线,2 即一定可以离线。 x = 1 则为’适 当’时可离线,这是预设值, 而且是一般情况的最佳选择。 debug:x 如果定义了 `DEBUGGING_ON' 则 x 就是设定不同错误侦测输出的位元遮 罩 -参见 in2000.h 中定义的 DB_xxx。 proc:x -- 如果定义了 `PROC_INTERFACE' 则 x 就是决定 /proc 介面运作方式 及功能的位元遮罩-参见 in2000.h 中定义的 PR_xxx。 下面列出一些使用□例: _________________________________________________________________ in2000=ioport:0x220,noreset in2000=period:250,disconnect:2,nosync:0x03 in2000=debug:0x1e in2000=proc:3 _________________________________________________________________ 使用 AMD AM53C974 的硬体 (`AM53C974=') 与其它驱动程式不同,这一个不使用启动参数来传达输出入埠, 硬体中断或直接 记忆体存取通道。 (既然 AMD53C974 是个 PCI 设备,其实也不需要作这些设定 。) 取而代之的是用来传达介面卡与设备间传输模式与传输率的参数。 这最好 用□例来解释: _________________________________________________________________ AM53C974=7,2,8,15 _________________________________________________________________ 这会被解释成这样:‘对於 SCSI-ID 7 的控制器与 SCSI-ID 2 的设备间之通讯 , 使用最大 8MHz 之同步模式传输率。应协商 15 位元组的偏移值。’ 详细资 料可在 linux/drivers/scsi/README.AM53C974 档案里找到。 BusLogic SCSI 介面卡与 v1.2 的核心 (`buslogic=') 在旧版的核心中, buslogic 驱动程式只接受一个参数,就是输出入位址。 它能 接受下列值:0x130, 0x140, 0x230, 0x234, 0x330, 0x334。 BusLogic SCSI 介面卡与 v2.x 的核心 (`BusLogic=') 在 v2.x 核心中,BusLogic 驱动程式接受许多参数。 (注意上面的大小写;是 大写的 B 以及 L!!! )。 下面的细节是直接从 v2.0 核心中的 Leonard N. Zubkoff's 驱动程式拿过来的。 这个 BusLogic 驱动程式的核心命令列是由 "BusLogic" 驱动程式识别字, 加上 各个以逗号格开的选用性整数序列,後面跟著各个选用性的字串序列所组成。 每 行命令列都用於一张 BusLogic 卡, 在使用多张 BusLogic 卡的系统上可以使用 多个命令列来设定。 第一个整数指定介面卡所在的 I/O 位址。如果不指定则预设值为零, 表示把这 个参数设为预设侦测顺序中找到的第一张 BusLogic 卡。 如果在命令列上指定了 任何的 I/O 位址参数,预设侦测顺序就会被忽略。 第二个整数指定用於支援伫列运作(Tagged Queuing)的目标设备之伫列深度。 伫 列深度是容许同时送出的 SCSI 指令数。如果没有指定则预设值为零, 表示使用 根据介面卡的总伫列深度及数目,种类,速度, 以及侦测目标设备的能力所自动 判断的值。 对於需要使用 ISA 错误缓冲区(Bounce Buffers)的介面卡, 伫列深 度自动设为 BusLogic_TaggedQueueDepth_BB 以避免 DMA 错误缓冲记忆体的过载 。 不支援伫列运作的目标设备使用 BusLogic_UntaggedQueueDepth 定义的伫列 深度。 第三个整数指定汇流排停置(Settle)时间,以秒为单位。 这乃是重置介面卡使 SCSI 汇流排重置到发出 SCSI 指令之间的时间。 如果没有指定则预设值为零, 表示使用 BusLogic_DefaultBusSettleTime 的值。 第四个整数指定区域选项。如果没有指定则预设值为零。 注意,区域选项只用於 特定的介面卡。 第五个整数指定全域选项。如果没有指定,预设值为零。 注意,全域选项应用於 所有的介面卡。 字串选项用来提供对伫列运作,错误回复,以及介面卡侦测之控制。 伫列运作的指定以 "TQ:" 开头, 可以明确地指定是否允许有此支援的目标设备 使用伫列运作。 下面是可用的指定选项: TQ:Default -- 伫列运作的允许与否以 BusLogic 卡的轫体版本以及伫列深度的 值是否允许多重指令作为判断基础。 TQ:Enable -- 对所有接在这张卡上的目标设备打开伫列运作,忽略介面卡轫体版 本所加诸的限制。 TQ:Disable -- 对所有接在这张卡上的目标设备关闭伫列运作。 TQ:<每个目标的设定> -- 各别控置对每个目标设备的伫列运作。 <每个目标的设 定>是由 "Y", "N", and "X" 字元组成的串列。 "Y" 打开伫列运作,"N" 关闭伫 列运作,而 "X" 接受以轫体版本为基础的预设值。 第一个字元代表目标设备 0 ,第二个代表设备 1,依此类推; 如果 "Y", "N" and "X" 字元串列并未涵盖所 有的目标设备, 未指定的字元将被假设为 "X"。 注意,明确地指定要使用伫列运作可能会出问题; 这主要是方便用来关闭对某些 没能正确实作此功能之目标设备的伫列运作。 错误回复策略的指定以 "ER:" 开头,可以明确地指定因 SCSI 指令失败, 无法 成功完成而呼叫 ResetCommand 时执行的错误回复动作。 下面是可用的指定选项 。 ER:Default -- 错误回复依 SCSI 子系统的建议选择强制重置(Hard Reset)与汇 流排设备重置其中之一。 ER:HardReset -- 错误回复将会启始介面卡的强制重置,这也会引起 SCSI 汇流 排的重置。 ER:BusDeviceReset -- 错误回复将送出汇流排设备重置讯息给引起错误的目标设 备。 如果该目标设备再次造成错误回复而且送出汇流排设备重置讯息之後该目标设备 没有一次成功完成 SCSI 指令的话, 则尝试进行强置重置。 ER:None -- 错误回复将被冻结。 这个选项应该只用於 SCSI 汇流排重置或汇流 排设备重置会使目标设备无法回复的情况。 ER:<每个目标的设定> -- 错误回复将对每个目标设备进行各别控制。 <每个目标 的设定>是由 "D", "H", "B", and "N" 字元所组成的串列。 "D" 选择预设值 ,"H" 选择强置重置,"B" 选择汇流排设备重置,而 "N"选择不重置。 第一个字 元代表目标设备 0,第二个代表设备 1,依此类推; 如果 "D", "H" , "B" and "N" 字元串列并未涵盖所有的目标设备, 未指定的字元将被假设为 "X"。 介面卡侦测的指定包含下列字串: NoProbe -- 不执行任何一种侦测,因此不会侦测到 BusLogic 介面卡。 NoProbeISA -- 不侦测标准 ISA I/O 位址,因此只会侦测到 PCI 介面卡。 NoSortPCI -- 依 PCI BIOS 所提供的顺序列举 PCI 介面卡, 忽略任何 AutoSCSI "Use Bus And Device # For PCI Scanning Seq." 选项的设定。 EATA SCSI 介面卡 (`eata=') 新的 v2.0 核心之 EATA 驱动程式能接受一个启动参数指定所要侦测的输出入位 址。 格式为: _________________________________________________________________ eata=iobase1[,iobase2][,iobase3]...[,iobaseN] _________________________________________________________________ 此驱动程式会依所列顺序侦测这些位址。 Future Domain TMC-8xx, TMC-950 (`tmc8xx=') 侦测这些 SCSI 卡的程式码寻找从卡上安装进来的基本输出入系统, 如果没有, 就找不到你的卡。 或者,如果 BIOS 的签章(signature)字串不被认可那麽也会 找不到。 不管是那一种情况,你都得使用这种型式的启动参数: _________________________________________________________________ tmc8xx=mem_base,irq _________________________________________________________________ mem_base 的值是界面卡使用的记忆体对映(memory mapped)输出入区域的值。 此 值通常会是下列其中之一: 0xc8000, 0xca000, 0xcc000, 0xce000, 0xdc000, 0xde000。 Future Domain TMC-16xx, TMC-3260, AHA-2920 (`fdomain=') 这个驱动程式根据一份已知基本输出入系统唯读记忆体签章列表侦测这些介面卡 。 完整的列表请参见 linux/drivers/scsi/fdomain.c, 该档前面有许多资讯。 如果此驱动程式不认得你的基本输出入系统,你可以使用这种格式变更: _________________________________________________________________ fdomain=iobase,irq[,scsi_id] _________________________________________________________________ IOMEGA Parallel Port / ZIP drive (`ppa=') 这个驱动程式用於 IOMEGA ZIP 磁碟附的 IOMEGA 并列埠 SCSI 卡。 它也可以配 合原先的 IOMEGA PPA3 设备使用。 此驱动程式的启动参数格式为: _________________________________________________________________ ppa=iobase,speed_high,speed_low,nybble _________________________________________________________________ 除了 iobase 之外其馀皆为选用值。如果你想改变这三个选用参数中的任何一个 , 建议你读读 linux/drivers/scsi/README.ppa 中有关它们控制些什麽的细节 。 NCR5380 based controllers (`ncr5380=') 跟你的介面卡有关, 5380 的型式可以是输出入对应或记忆体对应。 (低於 0x400 的位址意谓著输出入对应, 但 PCI 以及 EISA 硬体使用 0x3ff 以上的输 出入位址。)不管是那一种情况, 你都是指定位址,硬体中断以及直接记忆体存 取通道的值。 输出入对应介面卡的□例像是: ncr5380=0x350,5,3。 如果该卡 不使用中断,那麽 255(0xff)这个硬体中断值会关闭中断的使用。 254 这个应体 中断值表自动侦测。 更细节的资讯可以在 linux/drivers/scsi/README.g_NCR5380 这个档案里找到。 NCR53c400 based controllers (`ncr53c400=') 标准 53c400 的支援是由与上述标准 5380 之支援相同的驱动程式所提供。 启动 参数与上述完全相同,除了 53c400 不使用直接记忆体存取之外。 NCR53c406a based controllers (`ncr53c406a=') 此驱动程式使用这种格式的启动参数: _________________________________________________________________ ncr53c406a=PORTBASE,IRQ,FASTPIO _________________________________________________________________ 其中 IRQ 以及 FASTPIO 参数为选用项。中断值零关闭中断之使用。 使用一与 FASTPIO 参数启用 insl 以及 outsl 指令以取代一个位元组的 inb 以及 outb 指令。 此驱动程式也可以由编译时期选项设定使用直接记忆体存取。 Pro Audio Spectrum (`pas16=') PAS16 使用 NCR5380 SCSI 晶片,新款还支援无跳接配置。启动参数的格式为: _________________________________________________________________ pas16=iobase,irq _________________________________________________________________ 唯一的不同是你可以指定 255 这个硬体中断值, 这会告诉驱动程式不要使用中 断,然效能会降低。 iobase 通常是 0x388。 Seagate ST-0x (`st0x=') 侦测这些 SCSI 卡的程式码寻找从卡上安装进来的基本输出入系统, 如果没有, 就找不到你的卡。或者,如果 BIOS 的签章字串不被认可那麽也会找不到。 不管 是那一种情况,你都得使用这种型式的启动参数: _________________________________________________________________ st0x=mem_base,irq _________________________________________________________________ mem_base 的值是界面卡使用的记忆体对映(memory mapped)输出入区域的值。 此 值通常会是下列其中之一: 0xc8000, 0xca000, 0xcc000, 0xce000, 0xdc000, 0xde000。 Trantor T128 (`t128=') 这些介面卡也是以 NCR5380 晶片为基础,接受下列选项: _________________________________________________________________ t128=mem_base,irq _________________________________________________________________ The valid values for mem_base are as follows: 0xcc000, 0xc8000, 0xdc000, 0xd8000. 可用於 mem_base 的值如下: 0xcc000, 0xc8000, 0xdc000, 0xd8000。 Ultrastor SCSI cards (`u14-34f=') 注意,此卡有两个互相独立的驱动程式,名为 CONFIG_SCSI_U14_34F 者使用 u14-34f.c 而 CONFIG_SCSI_ULTRASTORE 使用 ultrastor.c。 u14-34f 这一个( 新的 v2.0 核心用它)接受一个格式如下的启动参数: _________________________________________________________________ u14-34f=iobase1[,iobase2][,iobase3]...[,iobaseN] _________________________________________________________________ 此驱动程式会依所列顺序侦测这些位址。 Western Digital WD7000 cards (`wd7000=') 这个驱动程式寻找它所知道的基本输出入系统唯读记忆体字串来侦测 wd7000 并 且知道数个标准的配置设定。 如果它没能用正确的值动起来,或不认得你的基本 输出入系统版本, 那麽你可以使用这种格式的启动参数。 _________________________________________________________________ wd7000=irq,dma,iobase _________________________________________________________________ 4.3 不接受启动参数的 SCSI 卡 目前为止,下列 SCSI 介面卡不使用任何启动时期参数。在某些情况下, 你可以 直接编辑驱动程式本身把值写死(hard-wire)进去,如果真的必要的话。 Adaptec aha1740 (EISA probing), NCR53c7xx,8xx (PCI, both drivers) Qlogic Fast (0x230, 0x330) Qlogic ISP (PCI) 5. 硬碟机 这一节列出所有与标准 MFM/RLL, ST-506, XT, 以及 IDE 磁碟机相关的启动参数 。 注意,IDE 以及先前的 ST-506 硬碟驱动程式都接受 `hd=' 选项。 5.1 IDE 磁碟/光碟驱动程式参数 IDE 驱动程式接受几个参数, 涵盖□围从磁碟规格(geometry)到先进或不良之控 制器的支援。 底下是所有可用之启动参数的摘要。 要知道完整的细节, 你真的 应该去查阅在 linux/Documentation 目录下的 ide.txt 档, 这个摘要是从中摘 录出来的。 _________________________________________________________________ "hdx=" 从 "a" 到 "h" 所有的 "x" 都承认,像是 "hdc" 。 "idex=" 从 "0" 到 "3" 所有的 "x" 都承认,像是 "ide1"。 "hdx=noprobe" : 也许的确有个磁碟在那儿,但不要去侦测 "hdx=none" : 这里没有磁碟,忽略 cmos 且不要去侦测 "hdx=nowerr" : 忽略这个磁碟的 WRERR_STAT 位元 "hdx=cdrom" : 这里有个磁碟,而且是个光碟机 "hdx=cyl,head,sect" : 这里有个磁碟,并指定磁碟规格 "hdx=autotune" : 驱动程式将试著把介面速度调到支援之 最快可程式化输出入(PIO) 模式 ,此磁碟能接受才行。并非所有 晶片组种类都有完整支援,并且 很可能使旧的/奇怪的 IDE 磁 碟出问题。 "idex=noprobe" : 不要尝试存取/使用这个介面 "idex=base" : 在指定的位址侦测介面,其中 "base" 通常是 0x1f0 或是 0x170 且 假设 "ctl" 是 "base"+0x206 "idex=base,ctl" : 指定 base 以及 ctl "idex=base,ctl,irq" : 指定 base, ctl, 以及 irq 数值 "idex=autotune" : 驱动程式将试著把介面速度调到支援之 最快可程式化输出入(PIO) 模式 ,此磁碟能接受才行。并非所有 晶片组种类都有完整支援,并且 很可能使旧的/奇怪的 IDE 磁 碟出问题。 "idex=noautotune" : 驱动程式将不会试著调整介面速度。除 了 cmd640 之外,这是大部份晶 片组的预设值。 "idex=serialize" : 不重叠对(overlap) idex 及 ide(x^1) 的操作 _________________________________________________________________ 下列参数只允许用於 ide0, 且预设的 base, ctl 以及 ports 不能修改。 _________________________________________________________________ "ide0=dtc2278" : 侦测/支援 DTC2278 介面 "ide0=ht6560b" : 侦测/支援 HT6560B 介面 "ide0=cmd640_vlb" : 使用 CMD640 晶片的 VLB 介面卡 *必须*加入这个参数(PCI 的则 不必 -- 自动侦测) "ide0=qd6580" : 侦测/支援 qd580 介面 "ide0=ali14xx" : 侦测/支援 ali14xx 晶片组 (ALI M1439/M1445) "ide0=umc8672" : 侦测/支援 umc8672 晶片组 _________________________________________________________________ 使用任何其它的东东都会被拒绝并得到一个 "BAD OPTION" 讯息。 5.2 标准 ST-506 磁碟驱动程式选项(`hd=') 标准磁碟驱动程式可以接受磁碟逻辑规格参数, 这与 IDE 驱动程式相似。注意 , 无论如何它只希望接受三个值 (C/H/S) -- 过多或过少它都会默默地忽略掉。 同时它只接受 `hd=' 参数,像 `hda', `hdb=' 这类的在此都不被允许。 其格式 如下: _________________________________________________________________ hd=cyls,heads,sects _________________________________________________________________ 如果装有两个磁碟,就使用第二颗磁碟的规格重覆上述指令。 5.3 XT Disk Driver Options (`xd=') 如果你不幸到得要使用这些旧的、8 位元、 以惊人的 125kb/s 速度搬移资料的 介面卡那麽这节是你的独门解药。 侦测这些卡的程式码寻找从卡上安装进来的基 本输出入系统, 如果没有,就找不到你的卡。或者,如果 BIOS 的签章字串不被 认可那麽也会找不到。 不管是那一种情况,你都得使用这种型式的启动参数: _________________________________________________________________ xd=type,irq,iobase,dma_chan _________________________________________________________________ 其中 type 值指示该介面卡的制造商, 如下: 0=generic; 1=DTC; 2,3,4=Western Digital, 5,6,7=Seagate; 8=OMTI。 同一家制造商种类之间的不 同仅止於用来侦测的基本输出入系统字串, 这个东东若指定 type 就会不使用。 这些值 xd_setup() 函式不会去检查,并且假设你输入所有共四个值。 别让它失 望。这儿有个□例使用 WD1002 控制器并关闭/拔掉基本输出入系统, 使用‘预 设的’XT 控制器参数: _________________________________________________________________ xd=2,5,0x320,3 _________________________________________________________________ 6. 光碟机 (Non-SCSI/ATAPI/IDE) 这一节列出属於光碟设备所有可能的启动参数。 注意,这不包含 SCSI 或是 IDE/ATAPI 光碟机。 这些光碟机请参阅其它适当的章节。 注意,大部份光碟机都有些文件档值得一读, 而且它们都放在一个很容易取得的 地方:linux/Documentation/cdrom。 6.1 Aztech 介面 (`aztcd=') 这种介面卡的语法是: _________________________________________________________________ aztcd=iobase[,magic_number] _________________________________________________________________ 如果你将 magic_number 设为 0x79 那麽此驱动程式不管三七二十一都会试著在 未知的轫体版本上跑。 所有其它的值都会被忽略。 6.2 CDU-31A 以及 CDU-33A Sony 介面 (`cdu31a=') 此光碟机介面出现在部份 Pro Audio Spectrum 音效卡以及其它 Sony 出产的介 面卡上。语法如下: _________________________________________________________________ cdu31a=iobase,[irq[,is_pas_card]] _________________________________________________________________ 指定零作为 IRQ 值告诉此驱动程式不支援硬体中断(某些 PAS 的卡)。 如果你 的卡支援中断,应该使用之以降低此驱动程式的中央处理器使用率。 如果使用 Pro Audio Spectrum 的介面卡则 `is_pas_card' 栏应该输入 `PAS', 若否就不应该使用。 6.3 CDU-535 Sony 介面 (`sonycd535=') 这种光碟机介面卡的语法是: _________________________________________________________________ sonycd535=iobase[,irq] _________________________________________________________________ 如果你想指定 IRQ 值,输出入位址可以填入零来占位置(placeholder)。 6.4 GoldStar 介面 (`gscd=') 这种光碟机介面卡的语法是: _________________________________________________________________ gscd=iobase _________________________________________________________________ 6.5 ISP16 介面 (`isp16=') 这种光碟机介面卡的语法是: _________________________________________________________________ isp16=[port[,irq[,dma]]][[,]drive_type] _________________________________________________________________ 使用零作为 irq or dma 表示不使用该功能。 可用於 drive_type 的值是 noisp16, Sanyo, Pansonic, Sony, and Mitsumi。使用 noisp16 会彻底关掉这 个驱动程式。 6.6 Mitsumi 标准介面 (`mcd=') 这种光碟机介面卡的语法是: _________________________________________________________________ mcd=iobase,[irq[,wait_value]] _________________________________________________________________ 其中 wait_value 是作为内部的逾时设定,用在那些不听话的机子上, 这个功能 是否有实作是依编译时期的定义值而定。 6.7 Mitsumi XA/MultiSession 介面 (`mcdx=') 目前为止,此‘实验性’的驱动程式有个设定函式, 但并未实作任何参数(as of 1.3.15)。它用於与上述驱动程式相同的硬体, 但此驱动程式具有更多功能。 6.8 Optics Storage 介面 (`optcd=') 这种介面卡的语法是: _________________________________________________________________ optcd=iobase _________________________________________________________________ 6.9 Phillips CM206 介面 (`cm206=') 这种介面卡的语法是: _________________________________________________________________ cm206=[iobase][,irq] _________________________________________________________________ 这个驱动程式假设介於 3 到 11 之间数字是 IRQ 值, 而 0x300 到 0x370 之间 的数字则是输出入埠, 所以你可以只指定一个值或二个都指定,顺序随意。 它 也接受 `cm206=auto' 以打开自动侦测。 6.10 Sanyo 介面 (`sjcd=') 这种介面卡的语法是: _________________________________________________________________ sjcd=iobase[,irq[,dma_channel]] _________________________________________________________________ 6.11 SoundBlaster Pro 介面 (`sbpcd=') 这种介面卡的语法是: _________________________________________________________________ sbpcd=iobase,type _________________________________________________________________ 其中的 type 是下列之字串一(大小写有差): `SoundBlaster', `LaserMate', or `SPEA'。 输出入位址是光碟机的输出入位址,不是该卡音效部 份的输出入位址。 7. 其它硬体设备 其它任何不适合放在上面分类中的设备都堆在这里。 7.1 乙太网路设备 (`ether=') 不同的驱动程式使用不同的参数, 但它们至少都共用 IRQ, I/O 埠位址值以及名 称。最标准的格式看起来像: _________________________________________________________________ ether=irq,iobase[,param_1[,param_2,...param_8]]],name _________________________________________________________________ 第一个不是数字的参数被当作名称。param_n 的值(如果配得起来)对每张不同 的介面卡/驱动程式通常都代表不同的意义。 典型的 param_n 值是用来指定像 共享记忆体位址,介面的选择, DMA 通道等等诸如此类的东东。 此参数最常见的用法是在预设值仅侦测到一张网路卡的时候强制侦测第二张乙太 网路卡。 可以用这个简单的指令达成: _________________________________________________________________ ether=0,0,eth1 _________________________________________________________________ 注意,上述□例中 IRQ 与 I/O 位址零告诉驱动程式自动去侦测。 模组使用者者请注意: 如果驱动程式作为执行期间可载入模组(不编译到核心里 ) 使用则上述指令不会强制侦测第二张介面卡。 大部份的 Linux 发行套件都使 用一个基本的核心配合许许多多做成模组的驱动程式。 此 ether= 参数只对直接 编译在核心里的驱动程式有效。 在乙太网路说明(Ethernet-HowTo)中对使用多张网路卡以及 param_n 值的使用场 合,网路卡/驱动程式对这些值的实作等等有更完整、更广泛的文件。 有兴趣的 读者应该参考该文件中有关自己网路卡的章节。 [2]Ethernet-HowTo 7.2 软碟驱动程式 (`floppy=') 软碟驱动程式有许多选项, 全部都列在 linux/drivers/block 里的 README.fd 中。 这是直接从该档取得的资讯。 floppy=mask,allowed_drive_mask 设定允许使用之磁碟机位元遮罩为 mask 。 依预设,只允许每个软碟控制器的第 零及第一个单元。 这样做是因为有些非标准的硬体(华硕的 PCI 主机板) 在存 取第二或第三个单元时会当掉键盘。此选项差不多已经被 cmos 选项给取代了。 floppy=all_drives 设定允许使用之磁碟机位元遮罩为所有磁碟机。 如果你在软碟控制器上接了两个 以上的磁碟机的话可以使用。 floppy=asus_pci 设定位元遮罩为只允许第零及第一个单元。(预设值) floppy=daring 告诉软碟驱动程式你有个行为良好的软碟控制器。 这样运作上会比较有效率、比 较平顺,但有些控制器可能无法使用。 这可以加速某些部份的运作。 floppy=0,daring 告诉软碟驱动程式你的软碟控制器得小心看管。 floppy=one_fdc 告诉软碟驱动程式你只有一个软碟控制器。(预设值) floppy=two_fdc or floppy=address,two_fdc 告诉软碟驱动程式你有两个软碟控制器。 第二个软碟控制器假设位於 address 指定的地方。 如果没有给 address,假设为 0x370 。 floppy=thinkpad 告诉软碟驱动程式你有一台 Thinkpad。 Thinkpads 的磁碟变更侦测线路(disk change line)之使用与一般相反。 floppy=0,thinkpad 告诉软碟驱动程式你没有 Thinkpad。 floppy=drive,type,cmos 设定 drive 的 cmos 类型为 type。 条件是,这个磁碟机在位元遮罩中必须是可 用的。 如果你有两个以上的磁碟机(实体 cmos 只能指定两个) 或是你的基本 输出入系统使用非标准的 CMOS 类型那这就有用了。 把前两个磁碟机的 cmos 设 为 0(预设值) 会使得软碟驱动程式为这些磁碟机读取实体 cmos。 floppy=unexpected_interrupts 接收到非预期之中断时印出警告讯息(预设) floppy=no_unexpected_interrupts or floppy=L40SX 接收到非预期之中断时不印出警告讯息。 IBM L40SX 膝上型电脑在某些显示模式 下需要它。 (这看来是影像与软碟之间的某种相互关系。 此非预期之中断只会 影响效能,可以安全地忽略。) 7.3 音效驱动程式 (`sound=') 音效驱动程式也可以接受启动参数以变更编译时的值。 不过并不建议这样做,因 为这样会更复杂。 相关说明放在(曾经?)Readme.Linux 中, 位於 linux/drivers/sound 里。它接受这种型式的参数: _________________________________________________________________ sound=device1[,device2[,device3...[,device11]]] _________________________________________________________________ 其中每个 deviceN 值的格式为下列的 0xTaaaId 而每个位元组的使用如下: T - 设备种类: 1=FM, 2=SB, 3=PAS, 4=GUS, 5=MPU401, 6=SB16, 7=SB16-MPU401 aaa - 十六进位的输出入位址。 I - 十六进位之中断线 (i.e 10=a, 11=b, ...) d - 记忆体直接存取通道。 如你所见,这相当杂乱,建议你最好把自己设备的值编译进去。 使用启动参数 `sound=0' 将会玩全关闭音效驱动程式。 7.4 汇流排滑鼠驱动程式 (`bmouse=') 汇流排滑鼠驱动程式只接受一个参数,就是硬体所使用的 IRQ 值。 7.5 微软汇流排滑鼠驱动程式 (`msmouse=') 微软滑鼠驱动程式只接受一个参数,就是硬体所使用的 IRQ 值。 7.6 印表机驱动程式 (`lp=') 在高於 1.3.75 以上的核心上你可以告诉印表机驱动程式使用那个埠以及不使用 那个埠。 如果你不想让印表机驱动程式拿到所有可用的并列埠那麽後者很方便, 这样其它的驱动程式(e.g. PLIP, PPA)就可以使用它们。 这个参数的格式是多个 i/o, IRQ 的组合。 例如, lp=0x3bc,0,0x378,7 会以不 需 IRQ(polling) 的模式使用位於 0x3bc 的埠, 并且对位於 0x378 的埠使用 IRQ 7。 位於 0x278 的埠(如果有的话)将不会被侦测到, 因为自动侦测只用 於没有 `lp=' 参数的情况下。 可以使用 lp=0 关闭整个印表机驱动程式。 7.7 ICN 整体服务数位网路(ISDN)驱动程式 (`icn=') 这个整体服务数位网路驱动参数的启动参数格式为: _________________________________________________________________ icn=iobase,membase,icn_id1,icn_id2 _________________________________________________________________ 其中 iobase 是该卡的输出入埠位址, membase 是该卡的共享记忆体基底位址, 而那两个 icn_id 是唯一识别的 ASCII 辨识字串。 7.8 PCBIT ISDN 驱动程式 (`pcbit=') 这个启动参数格式使用一对整数参数: _________________________________________________________________ pcbit=membase1,irq1[,membase2,irq2] _________________________________________________________________ 其中 membaseN 是第 N 张卡的共享记忆体基底, 而 irqN 是第 N 张卡的中断设 定。 预设值是 IRQ 5 以及 membase 0xD000。 7.9 Teles ISDN 驱动程式 (`teles=') 这个 ISDN 驱动程式的启动参数格式为: _________________________________________________________________ teles=iobase,irq,membase,protocol,teles_id _________________________________________________________________ 其中 iobase 是该卡的 i/o 埠位址, membase 是该卡的共享记忆体基底位址 ,irq 是该卡使用的中断, 而 teles_id 是唯一识别的 ASCII 辨识字串。 7.10 DigiBoard 驱动程式 (`digi=') DigiBoard 驱动程式接受由六个逗号隔开之的辨识字串或整数。 六个值依序为: 打开/关闭该卡 卡的种类: PC/Xi(0), PC/Xe(1), PC/Xeve(2), PC/Xem(3) 打开/关闭其它针脚排列(alternate pin arrangement) 该卡上的埠数 该卡设定的输出入埠(如果以字串指定则为十六进位) 记忆窗的基底(如果以字串指定则为十六进位) 正确的启动参数之□例(字串以及整数格式)如: _________________________________________________________________ digi=E,PC/Xi,D,16,200,D0000 digi=1,0,0,16,512,851968 _________________________________________________________________ 注意,这个驱动程式若无 digi= 启动参数其预设输出入为 0x200 , 共享记忆体 基底为 0xD0000 。不执行自动侦测。 更进一步的细节可以在 linux/Documentation/digiboard.txt 档案里找到。 7.11 RISCom/8 多埠串列卡驱动程式 (`riscom8=') Up to four boards can be supported by supplying four unique i/o port values for each individual board installed. Other details can be found in the file linux/Documentation/riscom8.txt. 可以支援达四张卡,须提供四个唯一的输出入埠给每张卡。 其馀细节可以在 linux/Documentation/riscom8.txt 档案里找到。 7.12 Baycom 串列/并列无线数据机 (`baycom=') 这些设备的启动参数格式如下。 _________________________________________________________________ baycom=modem,io,irq,options[,modem,io,irq,options] _________________________________________________________________ 使用 modem=1 表示你有 ser12 设备,modem=2 表示你有 par96 设备。 使用 options=0 表示使用硬体 DCD,options=1 则表示使用软体 DCD。 io 以及 irq 跟往常一样是输出入埠以及中断设定。 在 /linux/drivers/char/ 目录下的 README.baycom 档案里有更多的细节。 8. 结束 如果你发现这份文件里有任何醒目的打字错误,或过时的资讯,请让 我知道。这 很容易就会看漏了。 谢谢, Paul Gortmaker, gpg109@rsphy1.anu.edu.au References 1. http://sunsite.unc.edu/mdw/HOWTO/BootPrompt-HOWTO.html 2. http://sunsite.unc.edu/mdw/HOWTO/Ethernet-HOWTO.html