📄 bootprompt-howto.txt
字号:
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=[<server-ip>:]<root-dir>[,<nfs-options>] _________________________________________________________________ 如果指令列上没有给定 nfsroot 参数,则将使用 `/tftpboot/%s' 预设值。 其 它选项如下: <server-ip> -- 指定网路档案系统伺服端的网际网路位址(IP address)。 如果 没有给定此栏位,则使用由 nfsaddrs 变数(见下面)所决定的值。 此参数的用 途之一是允许使用不同机器作为反向位址解析协定(RARP) 及网路档案系统伺服端 。通常你可以不管它(设为空白)。 <root-dir> -- 伺服端上要作为根挂入的目录名称。如果字串中有个 `%s' 符 记(token), 此符记将代换为客户端网际网路位址之 ASCII 表示法。 <nfs-options> -- 标准的网路档案系统选项。所有选项都以逗号分开。 如果没 有给定此选项栏位则使用下列的预设值: 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=<my-ip>:<serv-ip>:<gw-ip>:<netmask>:<name>:<dev>:<auto> _________________________________________________________________ <my-ip> -- 客户端的网际网路位址。如果没设, 此位址将由反向位址解析协定 或启动协定来决定。 使用何种协定端视配置核心时打开的选项以及 <auto> 参数 而定。 如果设定此参数,就不会使用反向位址解析协定或启动协定。 <serv-ip> -- 网路档案系统伺服端之网际网路位址。 如果使用反向位址解析协 定来决定客户端位址并且设定此参数, 则只接受从指定之伺服端传来的回应。 要使用不同的机器作为反向位址解析与网路档案系统伺服端的话, 在此指定你的 反向位址解析协定伺服端(保持空白)并在 nfsroot 参数(见上述) 中指定你 的网路档案系统伺服端。 如果此项目空白则使用回答反向位址解析协定或启动协 定之伺服端的位址。 <gw-ip> -- 闸道(gateway)之网际网路位址,若伺服端位於不同的子网路上时。 如果此项目空白则不使用任何闸道并假设伺服端在本地的(local)网路上, 除非 由启动协定接收到值。 <netmask> -- 本地网路介面的网路遮罩。 如果为空白,则网路遮罩由客户端的 网际网路位址导出,除非由启动协定接收到值。 <name> -- 客户端的名称。 如果空白,则使用客户端网际网路位址之 ASCII-标 记法,或由启动协定接收的值。 <dev> -- 要使用的网路设备名称。 如果为空白,所有设备都会用来发出反向位 址解析请求, 启动协定请求由最先找到的设备发出。 网路档案系统使用接收到 反向位址解析协定或启动协定回应的设备。 如果你只有一个设备那你可以不管它 。 <auto> -- 用以作为自动配置的方法。 如果是 `rarp' 或是 `bootp' 则使用所 指示的协定。 如果此值为 `both' 或空白,若配置核心时有打开这两种协定则都 使用。 `none' 表示不使用自动配置。这种情况下你必须指定前述栏位中所有必 要的值。 此 <auto> 参数可以作为 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 解译的选项, 与所有其它由核心 处理的启动参数并不相同。 然而因为它的使用变得如此普遍故值得在此加上一笔
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -