跳转到内容跳转到页面导航:上一页 [访问键 p]/下一页 [访问键 n]
适用于 openSUSE Leap 15.6

C 高级 linuxrc 选项 编辑源文件

linuxrc 是一个在内核加载后,但在 AutoYaST 或其他阶段之前运行的小程序。它为安装准备系统。它允许用户加载模块、启动已安装的系统或救援系统,以及指导 YaST 的操作。

Note
注意: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.net.cn/SDB:Linuxrc

Note
注意:在已安装的系统上运行 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.net.cn/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

运行 command

forceinsmod: 0|1

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

forcerootimage: 0|1

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

ifcfg: NETWORK_CONFIGURATION

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

insmod: MODULE

加载 MODULE

install: URL

从使用 URL 指定的存储库安装。有关 URL 的语法,请参阅 https://en.opensuse.net.cn/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

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

proxy: http://10.10.0.1:3128

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

rescue: 1|nfs://server/dir

加载救援系统;URL 变体显式指定救援镜像的位置。

rescueimage: /suse/images/rescue

救援系统镜像的位置。

rootimage: /suse/images/root

安装系统镜像的位置。

textmode: 1

以文本模式启动 YaST。

usbwait: 4

加载 USB 模块后等待四秒。

y2confirm

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

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 是接口名称,例如 eth0,或 eth* 表示所有接口。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.net.cn/SDB:Linuxrc#Network_Configuration

打印此页面