编译 AvaotaOS
AvaotaOS 支持 TUI 与 CLI 形式编译,这两种方法都是一样的,TUI 对操作更加友好,而 CLI 更方便集成进各种持续集成服务中。这里分开讲述。
TUI 编译
在获取 SDK 后,执行下面的命令会进入 TUI 编译模式
sudo bash build_all.sh
首先是选择开发板,这里选择 Avaota A1

然后选择发行版,这里选择 Ubuntu 22.04 Jammy

然后选择需要安装的桌面,这里就编译无桌面的 CLI 版本

选择是否需要运行内核配置,这里就不配置了

输入默认用户名

输入用户密码

输入 ROOT 用户密码

配置镜像源

之后便开始编译

演示
Loading asciinema cast...
CLI 编译
AvaotaOS 的编译命令的格式如下:
sudo ./build_all.sh \
    -b <BOARD> \
    -m <MIRROR> \
    -v <SYSTEM_DISTRO> \
    -t <SYS_TYPE> \
    -u <SYS_USER> \
    -p <USER_PASSWORD> \
    -s <ROOT_PASSWORD> \
    -k <IF_MENUCONFIG> \
    -i <GITHUB_MIRROR> \
    -o <KERNEL_ONLY> \
    -e <USE_CCACHE>
其中,各个选项的含义如下:
<BOARD>:指定要编译的目标板型,例如avaota-a1。<MIRROR>:指定镜像站,例如https://mirrors.ustc.edu.cn/ubuntu-ports。<SYSTEM_DISTRO>:指定发行版版本,可选值为jammy(Ubuntu 22.04)或者noble(Ubuntu 24.04)以及bookworm(Debian 12)。<SYS_TYPE>:指定系统类型,可选值包括cli、xfce、gnome、kde、lxqt等。<SYS_USER>:指定系统普通用户用户名。<USER_PASSWORD>:指定系统普通用户密码。<ROOT_PASSWORD>:指定 root 用户密码。<IF_MENUCONFIG>:指定是否运行内核配置界面(make menuconfig),可选值包括yes、no。<GITHUB_MIRROR>:指定是否使用 GitHub 代理,例如https://mirror.ghproxy.com。(无论是否指定,第一次代码拉取失败则会从 Gitee 拉取)<KERNEL_ONLY>:指定是否只编译内核包,可选 值包括yes、no。<USE_CCACHE>:指定是否使用ccache,可选值包括yes、no。
例如,要编译 avaota-a1 板型,Ubuntu 22.04,系统类型为 cli,命令格式如下:
sudo bash build_all.sh \
    -b avaota-a1 \
    -m https://mirrors.ustc.edu.cn/ubuntu-ports \
    -v jammy \
    -t cli \
    -u avaota \
    -p avaota \
    -s avaota \
    -k no \
    -i no \
    -o no \
    -e no