首页
/ Armbian Build系统镜像定制脚本解析与使用指南

Armbian Build系统镜像定制脚本解析与使用指南

2025-07-08 07:23:42作者:凤尚柏Louis

脚本概述

customize-image.sh.template是Armbian Build系统中的一个关键模板文件,用于在构建Armbian镜像时进行自定义操作。该脚本在chroot环境中执行,允许用户在镜像构建过程中添加自定义配置、安装额外软件包或进行系统调整。

脚本执行机制

该脚本在镜像构建过程中会被复制到临时目录执行,具有以下特点:

  1. 执行环境:在chroot环境中运行,意味着只能访问已经安装到镜像中的文件

  2. 参数传递:接收4个参数:

    • $RELEASE:发行版名称(如stretch、buster等)
    • $LINUXFAMILY:Linux家族(如sunxi、rockchip等)
    • $BOARD:开发板型号
    • $BUILD_DESKTOP:是否构建桌面版
  3. 文件交换:通过/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系统安装方案:

  1. 基础配置

    • 设置root密码为"openmediavault"
    • 移除首次登录标志文件
    • 配置语言环境和APT选项
  2. 版本适配

    • 针对不同Debian版本(OMV 3/4)设置相应的软件源和包名
  3. 系统服务配置

    • 安装Postfix邮件服务
    • 配置主机名和网络设置
    • 安装OMV核心组件
  4. 性能优化

    • 针对不同硬件平台(如ODROID-XU4)进行特定优化
    • 调整Samba/AFP服务参数
    • 启用flashmemory插件减少SD卡写入
  5. 首次启动配置

    • 设置时区
    • 初始化OMV系统
    • 配置自动重启

3. 存储性能测试功能

UnattendedStorageBenchmark()函数提供了自动化存储性能测试方案:

  1. 安装必要的测试工具
  2. 下载并部署测试脚本
  3. 设置开机自动运行性能测试

4. 高级桌面环境功能

InstallAdvancedDesktop()函数扩展了桌面环境功能:

  1. 安装常用办公软件(LibreOffice)
  2. 添加远程桌面工具(Remmina)
  3. 包含网络工具(avahi-daemon)
  4. 安装文件传输工具(Transmission)

使用指南

基础使用方法

  1. 启用功能:取消注释Main函数中对应的发行版代码块
  2. 调用函数:在相应发行版代码块中调用预置功能函数
  3. 自定义扩展:添加自己的配置代码

自定义镜像示例

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
}

高级技巧

  1. 硬件特定优化:利用$BOARD$LINUXFAMILY参数为不同硬件添加特定优化
  2. 文件交换:通过/tmp/overlay目录在构建时添加自定义文件
  3. 首次启动脚本:修改/usr/lib/armbian/armbian-firstrun添加首次启动任务

注意事项

  1. 执行环境限制:脚本在chroot中运行,无法访问构建主机上的文件(除了/tmp/overlay)
  2. 资源占用:添加过多软件会显著增加镜像大小
  3. 安全性:如安装OMV会修改默认安全策略(启用root密码)
  4. 兼容性:不同发行版可能需要不同的处理方式

通过合理使用此模板,开发者可以快速构建出满足特定需求的定制化Armbian系统镜像。