用户配置¶
用户提供的补丁¶
您可以在构建脚本之外添加自己的补丁。将您的补丁放在适当的目录中,用于内核或 u-boot。除了所有补丁必须具有文件扩展名 .patch 之外,没有其他限制。userpatches 目录结构镜像 patch 的目录结构。在补丁过程开始时查找提示以选择补丁的正确目录。示例:
| Text Only | |
|---|---|
1 2 | |
userpatches 目录树中具有相同文件名和路径的补丁会覆盖 patch 目录中的补丁。要_替换_ Armbian 维护者提供的补丁,请将其从 patch 复制到 userpatches 中的相应目录并根据需要进行编辑。要_禁用_补丁,请在 userpatches 中的相应目录中创建一个空文件。
用户提供的配置¶
名为 userpatches/config-<something>.conf.sh(也允许 .conf)的配置文件是一个 bash 脚本,如果发出 ./compile.sh something,它会在构建期间被加载。所有通常通过命令行传递的参数都可以使用(PARAM1=value1 PARAM2=value),使用相同的语法,每个 PARAM 一行。命令行参数仍然可以覆盖配置文件中的内容。更高级的用例可以使用条件、定义函数来实现钩子、加载其他/通用配置文件等。一些相当复杂的示例可以在这里找到。
用户提供的首次配置¶
| Text Only | |
|---|---|
1 | |
检测到时,系统会显示信息警报并应用首次配置。
传统用户提供的配置(已弃用,对此的支持将在某个时候移除)¶
如果文件 userpatches/lib.config 存在,它将被调用并可以覆盖特定的内核和 u-boot 版本。有关可用变量的完整列表,请查看 lib/functions/configuration/main-config.sh。您可以更改的一些示例:
| Text Only | |
|---|---|
1 2 | |
用户提供的内核配置¶
如果文件 userpatches/linux-$LINUXFAMILY-$BRANCH.config 存在,它将用于替代 config 中的默认配置。在内核编译过程开始时查找提示以选择正确的配置文件名称。示例:
| Text Only | |
|---|---|
1 2 | |
用户提供的源代码配置覆盖¶
如果文件 userpatches/sources/$LINUXFAMILY.conf 存在,它将与 config/sources 中的默认配置一起使用。在编译过程开始时查找提示以选择正确的配置文件名称。 请注意,LINUXFAMILY 有一些例外,如 sunxi(32 位主线 sunxi)和 sunxi64(64 位主线 sunxi)
示例:
| Text Only | |
|---|---|
1 | |
用户提供的镜像自定义脚本¶
您可以运行其他命令来自定义创建的镜像。编辑此文件:
| Text Only | |
|---|---|
1 | |
并将您的代码放在这里。您可以测试文件中注明的变量值,以便为不同配置使用不同的命令。这些命令将在最终确定镜像之前在 chroot 环境中执行。
要轻松地将文件添加到镜像,请将它们放在 userpatches/overlay 中,并从 customize-image.sh 在 /tmp/overlay 中访问它们
请注意,即使您在 amd64 机器上编译镜像,您在 customize-image.sh 中配置的任何其他 apt 软件包或运行的命令都会自动为构建目标 SBC 的架构安装/执行/虚拟化。
SD 卡的分区¶
如果您在构建时定义 $FIXED_IMAGE_SIZE,包含 rootfs 的分区将按此大小创建。未定义时的默认行为是在构建时将分区缩小到最小大小,并在启动时将其扩展到卡的最大容量(当大小小于或等于 4GB 时,留下约 5% 的未分区备用区域,以帮助 SD 卡控制器在旧/慢速卡上进行磨损均衡和垃圾回收)。
您可以通过 touch /root/.no_rootfs_resize 从 customize-image.sh 中阻止分区扩展,或使用 /root/.rootfs_resize 通过百分比或扇区计数来配置调整大小操作(50% 将仅使用卡大小的一半,如果镜像大小不超过此值,或 3887103s 例如将使用扇区 3887103 作为分区结束。没有 % 或 s 的值将被忽略)。