本文档环境为
ubuntu 20.04
RT-Thread Smart(以下简称 Smart) 是基于 RT-Thread 操作系统上的混合操作系统,简称为 rt-smart,它把应用从内核中独立出来,形成独立的用户态应用程序,并具备独立的地址空间(32 位系统上是 4G 的独立地址空间)。详细信息请见 RT-Thread 文档中心
xmake 是一个基于 Lua 的轻量级跨平台构建工具,使用 xmake.lua 维护项目构建,相比 makefile/CMakeLists.txt,配置语法更加简洁直观,对新手非常友好,短时间内就能快速入门,能够让用户把更多的精力集中在实际的项目开发上。详细信息请见 Xmake 文档中心
此次以 qemu-virt64-aarch64 为例讲解
-
安装 xmake及kconfiglib库
请根据 xmake 官方文档 进行安装。
以下为 ubuntu 安装方式
sudo add-apt-repository ppa:xmake-io/xmake sudo apt update sudo apt install xmake pip install kconfiglib
-
克隆仓库
将 Smart 的 userapps 仓库克隆下来, 假定我们的工作路径是
$WS
:cd $WS git clone https://github.com/RT-Thread/smart-build.git
-
选择我们想要编译的开发板及应用
文件系统由多个应用程序组成,这些应用程序都放在
apps
目录下。由于 smart 采用 xmake 编译用户态环境,因此 smart 的编译方式非常简单。首先进入 userapps 并运行
env.sh
添加一下环境变量。cd $WS/userapps source ./env.sh
进入 models 目录进行选择
cd models xmake menu #进入菜单选择界面
目前支持的平台:arm、aarch64、riscv64gc。
-
制作镜像文件
运行
xmake
制作image镜像,所谓制作文件系统,就是将上一步编译生成的用户程序按照文件系统的布局拷贝到$WS/userapps/models/build/rootfs
路径下,并根据提前写好的on_run.lua脚本打包生成特定格式的 image 文件。xmake
目前支持的镜像格式包括 ext4/fat/cromfs。
这里的例子会在
$WS/userapps/models/build
路径下生成ext4.img
文件。
会在每天凌晨生成 aarch64/riscv64 for qemu 的 prebuilt 版本,包括内核和 rootfs 文件系统:
可以使用 qemu 来运行起来。