Armbian Build系统镜像定制脚本解析与使用指南
2025-07-08 07:23:42作者:凤尚柏Louis
脚本概述
customize-image.sh.template
是Armbian Build系统中的一个关键模板文件,用于在构建Armbian镜像时进行自定义操作。该脚本在chroot环境中执行,允许用户在镜像构建过程中添加自定义配置、安装额外软件包或进行系统调整。
脚本执行机制
该脚本在镜像构建过程中会被复制到临时目录执行,具有以下特点:
-
执行环境:在chroot环境中运行,意味着只能访问已经安装到镜像中的文件
-
参数传递:接收4个参数:
$RELEASE
:发行版名称(如stretch、buster等)$LINUXFAMILY
:Linux家族(如sunxi、rockchip等)$BOARD
:开发板型号$BUILD_DESKTOP
:是否构建桌面版
-
文件交换:通过
/tmp/overlay
目录与主机交换文件
主要功能模块
1. 主函数框架
脚本采用模块化设计,主函数根据不同的发行版执行相应操作:
Main() {
case $RELEASE in
stretch)
# Debian 9特定配置
;;
buster)
# Debian 10特定配置
;;
bullseye)
# Debian 11特定配置
;;
bionic)
# Ubuntu 18.04特定配置
;;
focal)
# Ubuntu 20.04特定配置
;;
esac
}
2. OpenMediaVault安装功能
InstallOpenMediaVault()
函数提供了完整的OpenMediaVault(OMV)NAS系统安装方案:
-
基础配置:
- 设置root密码为"openmediavault"
- 移除首次登录标志文件
- 配置语言环境和APT选项
-
版本适配:
- 针对不同Debian版本(OMV 3/4)设置相应的软件源和包名
-
系统服务配置:
- 安装Postfix邮件服务
- 配置主机名和网络设置
- 安装OMV核心组件
-
性能优化:
- 针对不同硬件平台(如ODROID-XU4)进行特定优化
- 调整Samba/AFP服务参数
- 启用flashmemory插件减少SD卡写入
-
首次启动配置:
- 设置时区
- 初始化OMV系统
- 配置自动重启
3. 存储性能测试功能
UnattendedStorageBenchmark()
函数提供了自动化存储性能测试方案:
- 安装必要的测试工具
- 下载并部署测试脚本
- 设置开机自动运行性能测试
4. 高级桌面环境功能
InstallAdvancedDesktop()
函数扩展了桌面环境功能:
- 安装常用办公软件(LibreOffice)
- 添加远程桌面工具(Remmina)
- 包含网络工具(avahi-daemon)
- 安装文件传输工具(Transmission)
使用指南
基础使用方法
- 启用功能:取消注释Main函数中对应的发行版代码块
- 调用函数:在相应发行版代码块中调用预置功能函数
- 自定义扩展:添加自己的配置代码
自定义镜像示例
Main() {
case $RELEASE in
bullseye)
# 安装基础工具
apt-get install -y htop nano
# 设置时区
ln -fs /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# 添加自定义用户
useradd -m -s /bin/bash myuser
echo "myuser:mypassword" | chpasswd
;;
focal)
# Ubuntu 20.04特定配置
InstallAdvancedDesktop
;;
esac
}
高级技巧
- 硬件特定优化:利用
$BOARD
和$LINUXFAMILY
参数为不同硬件添加特定优化 - 文件交换:通过
/tmp/overlay
目录在构建时添加自定义文件 - 首次启动脚本:修改
/usr/lib/armbian/armbian-firstrun
添加首次启动任务
注意事项
- 执行环境限制:脚本在chroot中运行,无法访问构建主机上的文件(除了/tmp/overlay)
- 资源占用:添加过多软件会显著增加镜像大小
- 安全性:如安装OMV会修改默认安全策略(启用root密码)
- 兼容性:不同发行版可能需要不同的处理方式
通过合理使用此模板,开发者可以快速构建出满足特定需求的定制化Armbian系统镜像。