Jailhouse-gui用于配置和管理 Jailhouse 的图形用户界面(GUI)工具,Jailhouse 是一种基于 Linux 的管理程序,可将多核处理器分割成独立单元,用于实时关键应用程序。
Jailhouse-gui是一个图形界面程序,由python语言开发实现,整个软件分为两个部分,一个关注业务和数据处理的核心模块,一个是关注交互和显示的GUI模块。整个软件的功能模块架构如下图。
Jailhouse-gui支持在Windows和Linux平台下运行,下面将会逐一介绍两个平台下的编译方法。
1、下载Jailhouse-gui的源码
git clone https://gitee.com/openeuler/Jailhouse-gui.git
2、安装Jailhouse-gui所需的依赖,依赖项在requirements_linux.txt文件中。
openEuler如果没有pip工具需要自行安装。若用户的openEuler已经安装好pip,按照下面的步骤继续执行。
cd Jailhouse-gui
pip install -r requirements_linux.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
sudo apt install libxcb-xinerama0
3、对Jailhouse-gui进行打包
python ./build.py deploy
4、启动Jailhouse-gui
cd Jailhouse-gui/dist
./resource-tool-nonversion
1、下载Jailhouse-gui的源码。
git clone https://gitee.com/openeuler/Jailhouse-gui.git
2、安装Jailhouse-gui所需的依赖,依赖项在requirements_win.txt文件中。
cd Jailhouse-gui
pip install -r requirements_win.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
3、对Jailhouse-gui进行打包。
python ./build.py deploy
4、启动Jailhouse-gui。 双击dist目录下的resource-tool可执行文件即可。
为了方便用户使用Jailhouse-gui工具快速部署jailhouse虚拟化环境,我们提供了完整的配置文件和root cell和guest cell配置文件及其相关镜像文件,用户可通过jailhouse-gui工具直接使用。
提供的文件清单如下:
名称 | 简介 | 路径 |
---|---|---|
D2000_rtt.jhr | 提供一套完整的root cell和guest cell的配置条目, 使用Jailhouse-gui工具直接打开,通常用户不用 修改此配置文件。 |
Jailhouse-gui/examlpes |
rtthread_a64.bin | guest cell运行RTOS,rtthread_a64.bin是我们 提供的guest cell镜像,使用Jailhouse-gui可以 直接一键部署。guest cell使用的串口1,我们需 要提前接好串口。 |
Jailhouse-gui/examlpes |
Jailhouse-gui需要和目标机上的rpc_server服务配合使用,并且需要对目标机的内核所能使用的内存做限制。例如:可以通过在系统启动参数中添加"mem=3G"(具体限制到多大需根据目标机的内存的实际大小进行调整),来达成此目的。其次需要在目标机上启动rpc_server服务。
1、将rpc_server文件夹拷贝到目标机上。 2、安装rpc_server需要的依赖。
yum install -y python3-devel python3-mako
cd rpc_server
pip3 install -r requirements_rpc.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
pip3 install psutil==5.9.4 -i https://pypi.tuna.tsinghua.edu.cn/simple
3、将rpc_server/jailhouse_bin中的软连接指向正确的jailhouse文件。 4、启动rpc_server,可让其后台运行。
python3 server_host.py &
1、需要在编译的文件系统中包含有如下软件包。
python3
python3-pip
python3-mako
python3-certifi
python3-dev
python3-psutil
ca-certificates
flex
bison
bc
rsync
2、将rpc_server文件夹拷贝到目标机上。 3、安装rpc_server需要的依赖。
cd rpc_server
pip3 install -r requirements_rpc.txt -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
4、将rpc_server/jailhouse_bin中的软连接指向正确的jailhouse文件。 5、启动rpc_server,可让其后台运行。
python3 server_host.py &
1、打开Jailhouse-gui工具后,进入主界面选择打开D2000_rtt.jhr。
2、点击"虚拟机管理",输入目标机的IP地址,端口默认4240,无需修改,分别点击"连接"—"启动",一键部署root cell。
3、在目标机上可以输入命令查看jailhouse 运行状态。
jailhouse cell list
部署好root cell后,就可以开始部署guest cell了,我们先接好串口1并在终端工具中打开这个串口设备。
1、在"虚拟机管理"页面中,选中"虚拟机状态列表"中的"rtthread_1",然后镜像文件选择"rtthread_a64.bin",其它参数无需修改,最后点击"启动"。
2、串口1中输出显示rt-thread的启动信息,并能正常使用shell命令。
- Fork 本仓库JAILHOUSE_CONFIG_REVISION
- 新建 Feat_xxx 分支
- 提交代码
- 新建 Pull Request
- 使用 Readme_XXX.md 来支持不同的语言,例如 Readme_en.md, Readme_zh.md
- Gitee 官方博客 blog.gitee.com
- 你可以 https://gitee.com/explore 这个地址来了解 Gitee 上的优秀开源项目
- GVP 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目
- Gitee 官方提供的使用手册 https://gitee.com/help
- Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 https://gitee.com/gitee-stars/