编译 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
这样的命令将会使用 build_all.sh
脚本进行编译,编译出符合指定要求的系统镜像。编译需要网络连接,依照网络性能和电脑性能大约需要10分钟~120分钟。
编译后的系统镜像在 build_dir
里,例如这里示例的编译文件ubuntu-jammy-cli-aarch64-avaota-a1.img.xz
命令举例
- 编译
avaota-a1
板型,Ubuntu 24.04,从中科大镜像站构建根目录,系统类型为xfce
:
sudo bash build_all.sh \
-b avaota-a1 \
-m https://mirrors.ustc.edu.cn/ubuntu-ports \
-v jammy \
-t xfce \
-u avaota \
-p avaota \
-s avaota \
-k no \
-i no \
-o no \
-e no
- 编译
avaota-a1
板型,Ubuntu 24.04,从中科大镜像站构建根目录,系统类型为gnome
:
sudo bash build_all.sh \
-b avaota-a1 \
-m https://mirrors.ustc.edu.cn/ubuntu-ports \
-v jammy \
-t gnome \
-u avaota \
-p avaota \
-s avaota \
-k no \
-i no \
-o no \
-e no
- 编译
avaota-a1
板型,Debian bookworm,从中科大镜像站构建根目录,系统类型为 cli`:
sudo bash build_all.sh \
-b avaota-a1 \
-m https://mirrors.ustc.edu.cn/debian \
-v bookworm \
-t cli \
-u avaota \
-p avaota \
-s avaota \
-k no \
-i no \
-o no \
-e no
演示
Loading asciinema cast...