我们使用在Windows环境下的虚拟机形式进行openvela的环境搭建、部署。凯宝这里使用的虚拟机是:VMware Workstation 17 Pro版本

 

一、硬件需求

开发工作站的硬件配置需满足以下要求:

  • 系统架构:64 位 x86 架构的计算机系统。

  • 存储空间:至少预留80 GB的硬盘剩余空间,用于源码下载、编译及临时文件存储。

  • 内存容量:最低配置16GB RAM,以确保多任务编译和大型开发工具流畅运行。

 

二、操作系统需求

开发环境需部署 64 位 Ubuntu 22.04 LTS版本的Linux发行版,具体要求如下:

  • 兼容性限定:不支持 Windows Subsystem for Linux(WSL)及 Docker 容器化环境。

  • 系统稳定性:原生 Linux 环境可规避虚拟化架构的性能损耗与兼容性问题。

     

三、软件依赖安装

在 Ubuntu 22.04 LTS系统中编译 openvela 项目前,需通过以下命令安装必备软件包:

# 更新系统源并执行以下命令以安装依赖先使用如下命令切换到root用户下:

sudo -i
apt-get update
apt install -y bison flex gettext texinfo libncurses5-dev libncursesw5-dev xxd git gperf automake libtool build-essential gperf genromfs libgmp-dev libmpc-dev libmpfr-dev libisl-dev binutils-dev libelf-dev libexpat1-dev gcc-multilib g++-multilib picocom u-boot-tools util-linux dfu-util libx11-dev libxext-dev net-tools pkgconf unionfs-fuse zlib1g-dev libusb-1.0-0-dev libv4l-dev libuv1-dev npm nodejs nasm yasm libdivsufsort-dev libc++-dev libc++abi-dev libprotobuf-dev protobuf-compiler protobuf-c-compiler mtools

 

图片

 

image.png

 

image.png

 

### 说明:

1. 硬件选型依据:

  • 高性能处理器与大内存可显著缩短编译时间,避免开发流程阻塞。

  • SSD硬盘可优化源码加载与构建效率。

 

2.操作系统限定原因:

Ubuntu 22.04 提供长期支持(LTS),确保工具链稳定性。

原生环境避免跨平台调试的复杂性。

建议开发者小伙伴们适当遵循以上这些配置,从而来更好的减少环境适配问题,并提升开发效率~

 

四、安装 KConfig frontend

openvela 配置系统使用 KConfig ,作为 kconfig-frontends 软件包的一部分,KConfig 通过一系列基于交互式菜单的前端对系统进行配置。使用软件包或从源码构建取决于当前的操作系统,源码地址位于 NuttX tools repository。
运行如下命令:
apt install kconfig-frontends

image.png

 

五、安装 Python

运行如下命令:

apt install python3 python3-pip python-is-python3

 

image.png

 

 

六、安装 Python包

运行如下命令:

pip3 install kconfiglib pyelftools cxxfilt

 

image.png

 

七、下载openvela 源码

openvela的源码位于GitCode开源代码托管平台的 Git仓库中。我们使用GitCode托管平台下载 openvela。

初始化 Repo 客户端

创建并导航到工作目录:

sudo -i:回车,输入密码。

mkdir vela-opensource

cd vela-opensource

 

image.png

 

打开GitCode平台(www.gitcode.com/),进行注册或直接登录(已有账号),登录后,点击右上角的“个人头像”,然后在打开新的网页中选择“编辑个人资料”,再接着在打开的网页中左栏的选择“安全设置”里选择“SSH公钥”,点击右侧的“+ssh公钥”按钮,进行添加公钥。可根据自已喜好输入一个公钥标题,然后把刚刚cat出来显示的公钥信息复制到公钥框中,点击“确定”进行保存。

 

图片

 

图片

 

接着运行如下命令:

ssh -T git@gitcode.com

git config --global user.name “自己的用户名”

git config --global user.email “自己的邮箱地址”

repo工具可通过加“--repo-rul”来指定国内的repo 源,

--repo-url=https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/

 

运行以下命令:

repo init --partial-clone -u

https://gitcode.com/open-vela/manifests.git -b dev -m openvela.xml --git-lfs --repo-url=https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/

# Install Git LFS (Large File Storage) for managing large files

 

image.png

 

接着运行如下命令:

apt install git-lfs

cd .repo/manifests

git lfs install

git lfs --version

先运行如下命令切换到本地系统的源码树下载存放路径下:

cd /home/vela-opensource

然后运行如下命令:

repo sync -c -j$(nproc)

 

八、编译openvela 源码

使用脚本build.sh构建openvela:在安装完openvela所需软件包及下载完openvela 源码后,可以将 openvela源码编译成可以在开发板上运行的二进制文件。

运行如下命令进行编译:

./build.sh vendor/openvela/boards/vela/configs/goldfish-armeabi-v7a-ap -j$(nproc)

 

凯宝这里目前没有开发板,如在先在模拟器中运行显示喽!

 

九、在模拟器上运行编译产物

确保在vela-opensource目录下进行编译。

使用命令cd /home/vela-opensource进入openvela 仓库目录下。

通过传递vela选项至 emulator.sh 来启动一个模拟器实例。

使用如下命令启动进入nsh,也就等几秒钟吧!请大家别闭眼!接下来就是「见证奇迹的时刻」!

./emulator.sh vela

 

到这里,我们的openvela初体验就结束喽!欢迎大家体验

Logo

openvela 操作系统专为 AIoT 领域量身定制,以轻量化、标准兼容、安全性和高度可扩展性为核心特点。openvela 以其卓越的技术优势,已成为众多物联网设备和 AI 硬件的技术首选,涵盖了智能手表、运动手环、智能音箱、耳机、智能家居设备以及机器人等多个领域。

更多推荐