10.1 OpenEmbedded Kickstart(.wks)参考
10 简介
本章提供可用 kickstart 命令的参考资料,列出各命令的语法和含义。 这些命令基于 Fedora kickstart 中的版本,并根据 Wic 的能力作了调整。 原始命令文档见: https://pykickstart.readthedocs.io/en/latest/kickstart-docs.html
10 命令:part 或 partition
这两个命令都用于在系统中创建分区,语法如下:
part [mntpoint]
partition [mntpoint]
如果未提供 mntpoint,Wic 会创建分区,但不会挂载它。
mntpoint 指定分区的挂载位置,必须采用以下形式之一:
/path:例如“/”、“/usr”或“/home”。swap:将创建的分区用作交换空间。
指定 mntpoint 后,分区会自动挂载。Wic 在生成镜像时向文件系统表
(fstab)添加条目来实现这一点。为了让 Wic 生成有效的 fstab,
还必须在命令中提供 --ondrive、--ondisk 或 --use-uuid
分区选项之一。
备注
对于 --use-uuid 和非根 mountpoint (包括交换空间),
mount 程序必须能够识别所用的 PARTUUID 语法。
OpenEmbedded 中 BusyBox 的默认配置支持此功能,
但自定义配置可能会禁用它。
以下示例以“/”为挂载点,并使用 --ondisk 强制在 sdb 磁盘上
创建分区:
part / --source rootfs --ondisk sdb --fstype=ext3 --label platform --align 1024
以下列出 part 和 partition 命令支持的其他选项:
--size:分区的最小大小。指定一个整数,后面可以带单位: “k”或“K”表示 KiB,“M”表示 MiB,“G”表示 GiB。 未指定单位时默认为“M”。使用--source时不需要此选项。--fixed-size:分区的精确大小。指定一个整数,后面可以带单位: “k”或“K”表示 KiB,“M”表示 MiB,“G”表示 GiB。 未指定单位时默认为“M”。不能与--size同时使用。 如果分区数据大于--fixed-size,组装磁盘镜像时会报错。--source:Wic 特有的选项,用于指定填充分区的数据来源。 最常用的值是“rootfs”,也可以使用任何能够映射到有效源插件的值。 有关源插件的信息,请参阅《Yocto Project 开发任务手册》的 “使用 Wic 插件接口”一节。使用
--source rootfs时,Wic 会根据需要创建足够大的分区, 并以-r命令行选项指向的根文件系统内容填充它, 或使用根据-e命令行选项推导出的等效根文件系统。 创建分区所用的文件系统类型由该分区的--fstype选项值决定。 详情见下文的--fstype条目。使用
--source plugin-name时,Wic 会根据需要创建足够大的分区, 并以指定插件生成的分区内容填充它。插件所用数据由-r命令行选项 指定,或来自根据-e命令行选项推导出的等效根文件系统。 具体内容以及所用的文件系统类型取决于插件的实现。如果不使用
--source选项,wic命令会创建空分区。 因此必须使用--size选项指定空分区的大小。--ondisk或--ondrive:强制在指定磁盘上创建分区。--fstype:设置分区的文件系统类型。有效值为:btrfserofsext2ext3ext4squashfsswapvfat
--fsoptions:指定挂载文件系统时使用的选项字符串,内容格式不限。 该字符串会复制到安装后系统的/etc/fstab文件中,应使用引号括起。 未指定时,默认字符串为“defaults”。--label label:指定在分区上创建的文件系统的标签。 如果指定标签已被另一个文件系统使用,则为此分区创建一个新标签。--active:将分区标记为活动分区。--align (in KBytes):Wic 特有的选项, 要求分区起点按指定的 x KBytes 边界对齐。--offset:Wic 特有的选项,要求将分区放在精确指定的偏移处。 如果无法放在指定位置,镜像构建将失败。指定一个整数,后面可以带单位: “s”或“S”表示 512 字节的扇区,“k”或“K”表示 KiB, “M”表示 MiB,“G”表示 GiB。未指定单位时默认为“k”。--no-table:Wic 特有的选项。使用此选项会为分区预留空间并填充内容, 但不会将分区添加到分区表中。--exclude-path:Wic 特有的选项,从生成的镜像中排除指定相对路径。 此选项仅对 rootfs 源插件有效。--extra-filesystem-space:Wic 特有的选项,在分区内容占用的空间之后 增加额外空间。最终大小可以超过--size选项指定的大小。 默认值为 10M。指定一个整数,后面可以带单位: “k”或“K”表示 KiB,“M”表示 MiB,“G”表示 GiB。 未指定单位时默认为“M”。--extra-partition-space:Wic 特有的选项,在文件系统占用的空间之后 增加额外的空白空间。使用--fixed-size时,从文件系统大小中扣除 这部分额外分区空间。其他情况下,无论是否指定--size, 都将额外分区空间加到最终分区大小中。默认值为 0M。 指定一个整数,后面可以带单位:“k”或“K”表示 KiB, “M”表示 MiB,“G”表示 GiB。未指定单位时默认为“M”。--overhead-factor:Wic 特有的选项,将分区大小乘以指定值。 必须提供大于或等于“1”的值。默认值为“1.3”。--part-name:Wic 特有的选项,指定 GPT 分区的名称。--part-type:Wic 特有的选项,指定 GPT 分区的分区类型全局唯一标识符 (GUID)。分区类型 GUID 列表见 https://en.wikipedia.org/wiki/GUID_Partition_Table#Partition_type_GUIDs。--use-uuid:Wic 特有的选项,让 Wic 为分区生成随机 GUID。 生成的标识符用于在引导加载程序配置中指定根分区。--uuid:Wic 特有的选项,指定分区 UUID。--fsuuid:Wic 特有的选项,指定文件系统 UUID。 如果在运行 Wic 之前,已在引导加载程序配置的内核命令行中添加预先配置的 文件系统 UUID,则可以使用此选项生成或修改 WKS_FILE。--system-id:Wic 特有的选项,指定分区系统 ID。 它是一个字节长的十六进制参数,可以带有或不带 0x 前缀。--mkfs-extraopts:指定传给mkfs工具的附加选项。 某些文件系统的部分默认选项不会生效。请参阅 Wic 的 kickstart 帮助, 即wic help kickstart。
10 命令:bootloader
此命令指定如何配置引导加载程序,支持以下选项:
备注
引导加载程序功能以及启动分区由各个实现相应功能的源插件提供。 bootloader 命令主要提供修改引导加载程序配置的方式。
--append:指定内核参数。这些参数会添加到 syslinux 的 APPEND 或grub的内核命令行中。--configfile:指定用户定义的引导加载程序配置文件。 可以提供文件的完整路径,也可以指定files/wic文件夹中的文件。 此选项会覆盖所有其他引导加载程序选项。--ptable:指定分区表格式。有效值为:msdosgpt
--timeout:指定引导加载程序超时并启动默认选项之前等待的秒数。
10 指令:include
include 指令可用于将一个 WKS 文件包含到另一个文件中。
此命令只有一个参数,即相对于当前文件的待包含文件路径。例如:
include common.wks.inc
bootloader --configfile="directdisk-bootloader-config.cfg"