跳到内容跳到页面导航:上一页 [access key p]/下一页 [access key n]
documentation.suse.com / SUSE Linux Enterprise Server 文档 / AutoYaST 指南 / 附录 / 高级 linuxrc 选项
适用范围 SUSE Linux Enterprise Server 15 SP5

C 高级 linuxrc 选项

linuxrc 是在装载内核之后、执行 AutoYaST 或其他阶段之前运行的一个小程序,用于为安装系统做好准备。用户可以通过此程序装载模块、启动安装的系统或救援系统,以及指导完成 YaST 的操作。

注意
注意:AutoYaST 和 linuxrc 设置不相同

某些 linuxrc 设置恰好与 AutoYaST 在其 autoyast.xml 文件中使用的设置同名。但这并意味着它们采用相同的参数或者以相同的方式工作。例如,AutoYaST 采用 self_update 设置。如果此值设置为 1,则会读取并遵循另一个设置 self_update_url。虽然 linuxrc 也具有 self_update 设置,但 linuxrc 的设置采用值 0 或 URL。

请不要将 AutoYaST 参数传递给 linuxrc,因为几乎可以肯定这不会产生所需的结果。

如果在计算机上安装了 linuxrc,可以在 /usr/share/doc/packages/linuxrc/ 目录中找到其相关信息。或者,也可以在 https://en.opensuse.org/SDB:Linuxrc 上找到其联机文档。

注意
注意:在安装的系统上运行 linuxrc

如果您在安装的系统上运行 linuxrc,为了不破坏您的安装,它会以略微不同的方式工作。因此,您无法以这种方式测试所有功能。

为了尽可能保留最小的 linuxrc 二进制文件,其所有库和其他补充文件已直接链接到主程序二进制文件。这意味着,不需要在初始 RAM 磁盘 initrd 中保留任何共享库。

C.1 将参数传递给 linuxrc

除非 linuxrc 处于手动模式,否则它会在以下位置查找 info 文件:首先在闪存盘(例如 USB 记忆棒)上的 /info 中查找,如果在该位置未找到,则在 initrd 上的 /info 中查找。然后,它会分析参数的内核命令行。可以通过设置 info 命令行参数来更改 linuxrc 读取的 info 文件。如果您不希望 linuxrc 读取内核命令行(例如,因为您还需要指定 linuxrc 可识别的某个内核参数),请使用 linuxrc=nocmdline

linuxrc 始终查找并分析名为 /linuxrc.config 的文件。如果需要,请使用此文件更改默认值。一般而言,最好是改用 info 文件。请注意,即使是在手动模式下,也会先读取 /linuxrc.config,再读取任何 info 文件。

C.2 info 文件格式

# 开头的行是注释。有效项的格式如下:

key: value

请注意,value 将扩展到行尾,因此可能包含空格。key 的匹配不区分大小写。

您可以使用语法 key=value,在内核命令行上使用相同的键-值对。未采用上述格式的行将被忽略。

下表列出了重要的键和示例值。有关 linuxrc 参数的完整列表,请参见 https://en.opensuse.org/SDB:Linuxrc

表 C.1︰ 高级 linuxrc 关键字

关键字:示例值

说明

addswap: 0|3|/dev/sda5

如果为 0,则永远不请求交换;如果该参数是正数 n,则激活交换分区;如果该参数是分区名称,则激活此交换分区。

autoyast: ftp://AUTOYASTFILE

自动安装文件的位置;激活自动安装模式。有关详细信息,请参见 AutoYaST 控制文件位置

bootptimeout: 10

BOOTP 请求的超时为 10 秒。

bootpwait: 5

在网络激活与启动 bootp 之间休眠 5 秒。

display: color|mono|alt

设置菜单配色方案。

exec: COMMAND

运行命令

forceinsmod: 0|1

运行 -f 命令时使用 insmod(强制)选项。

forcerootimage: 0|1

将安装系统装载到 RAM 磁盘中。

ifcfg: NETWORK_CONFIGURATION

设置并启动网络。有关更多信息,请参见第 C.3 节 “高级网络设置”

insmod: MODULE

装载 MODULE

install: URL

URL 指定的软件源安装。有关 URL 的语法,请参见 https://en.opensuse.org/SDB:Linuxrc#url_descr

keytable: de-lat1-nd

要装载的虚拟控制台键盘映射。

language: de_DE

预先选择的安装语言。

loghost: 10.10.0.22

经由 UDP 端口 514 通过 syslog 启用远程日志记录

loghost: @10.10.0.22

经由 TCP 端口 514 通过 syslog 启用远程日志记录

memloadimage: 50000

如果可用内存超过 50000 KB,则将安装系统装载到 RAM 磁盘中。

memlimit: 10000

如果可用内存降到 10000 KB 以下,则请求交换。

memYaST: 20000

如果可用内存低于 20000 KB,则以文本模式运行 YaST。

memYaSTText: 10000

如果可用内存低于 10000 KB,则在启动 YaST 之前请求交换。

proxy: http://10.10.0.1:3128

定义 HTTP 代理服务器。有关完整的参数语法,请参见https://en.opensuse.org/SDB:Linuxrc#p_proxy

rescue: 1|nfs://server/dir

装载救援系统;URL 变体明确指定救援映像的位置。

rescueimage: /suse/images/rescue

救援系统映像的位置。

rootimage: /suse/images/root

安装系统映像的位置。

textmode: 1

以文本模式启动 YaST。

usbwait: 4

装载 USB 模块后等待 4 秒。

y2confirm

覆盖控制文件中的确认参数,并请求确认安装建议。

C.3 高级网络设置

即使已将 hostipnameservergateway 等参数传递给 linuxrc,也只会在需要时(例如,通过 SSH 或 VNC 安装时)才启动网络。由于 autoyast 不是一个 linuxrc 参数(此参数将被 linuxrc 忽略,只会传递给 YaST),在为 AutoYaST 配置文件指定远程位置时,将不会自动启动网络。

因此,需要明确启动网络。使用 ifcfg 参数可实现此目的。ifcfg 直接控制 /etc/sysconfig/network/ifcfg-* 文件的内容。

DHCP 网络配置

用于配置 DHCP 的一般语法是

 ifcfg=INTERFACE=DHCP*,OPTION1=VALUE1,OPTION2=VALUE2

其中 INTERFACE 是接口名称,例如 eth0eth* 表示所有接口。DHCP*dhcp(IPv4 和 IPv6)、dhcp4dhcp6

要为 eth0 设置 DHCP,请使用:

ifcfg=eth0=dhcp

要在所有接口上设置 DHCP,请使用:

ifcfg=eth*=dhcp
静态网络配置

用于配置静态网络的一般语法是

ifcfg=INTERFACE=IP_LIST,GATEWAY_LIST,NAMESERVER_LIST,DOMAINSEARCH_LIST,\
OPTION1=value1,...

其中 INTERFACE 是接口名称,例如 eth0。如果使用 eth*,将使用第一个可用设备。其他参数需按给定的顺序替换为相应的值。示例:

ifcfg=eth0=192.168.2.100/24,192.168.5.1,192.168.1.116,example.com

为某个参数指定多个地址时,请使用空格进行分隔,并以引号括住整个字符串。以下示例使用两个名称服务器,以及一个包含两个域的搜索列表。

ifcfg="eth0=192.168.2.100/24,192.168.5.1,192.168.1.116 192.168.1.117,example.com example.net"

有关详细信息,请参见https://en.opensuse.org/SDB:Linuxrc#Network_Configuration