使用 jailhouse-images 模拟运行 Jailhouse(x86)

Jiaming
操作系统领域优质创作者
博客专家认证
2023-05-08 17:10:29

jailhouse-images 采用源码安装方式。
参考链接:https://github.com/siemens/jailhouse-images

目录

  • 0. 虚拟机中
  • 1. 查看内核版本是否满足要求
  • 2. 源码安装 qemu==4.0.0
  • 3. 安装/运行 jailhouse-images
  • 4. [debug] VNC server running on 127.0.0.1:5900

0. 虚拟机中

如果是在虚拟机中,记得开启虚拟化选项。

在这里插入图片描述

1. 查看内核版本是否满足要求

Linux version 是否 >= 4.4,若小于 4.20 需要开启 kvm_intel 支持:

查看内核版本:

jiaming@jiaming-System-Product-Name:~/jailhouse-images$ cat /proc/version
Linux version 5.4.0-53-generic (buildd@lgw01-amd64-046) (gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04)) #59~18.04.1-Ubuntu SMP Wed Oct 21 12:14:56 UTC 2020

如果需要开启 kvm_intel 支持:

1、安装kvm软件
sudo apt-get install qemu-kvm
sudo apt-get install virtinst virt-viewer virt-manager
2、载入kvm_intel模块
modprobe kvm_intel nested=1
3、查看模块是否载入成功
lsmod | grep kvm

2. 源码安装 qemu==4.0.0

参考链接:https://blog.csdn.net/qq_36072054/article/details/82698924

  1. wget https://download.qemu.org/qemu-4.0.0.tar.xz,或者官网下载https://download.qemu.org/
  2. 解压,进入文件。
  3. sudo apt-get install gcc flex bison g++ m4 python libglib2.0-dev libpixman-1-dev
  4. 执行 ./configure
  5. sudo make && sudo make install

查看 Qemu 版本:

jiaming@jiaming-System-Product-Name:~/jailhouse-images$ qemu-img -V
qemu-img version 3.1.0
Copyright (c) 2003-2018 Fabrice Bellard and the QEMU Project developers

3. 安装/运行 jailhouse-images

使用jailhouse-images和docker制作可以运行jailhouse的linux镜像。

一、克隆jailhouse-images仓库
git clone https://github.com/siemens/jailhouse-images.git

二、安装docker,使用repository安装
1、卸载旧版本docker
 sudo apt-get remove docker docker-engine docker.io

2、设置库
sudo apt-get update
sudo apt-get install \
 apt-transport-https ca-certificates \
 curl software-properties-common

3、添加Doker的官方GPG密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo apt-key fingerprint 0EBFCD88

4、设置稳定库
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

5、安装Docker CE
sudo apt-get update
sudo apt-get install docker-ce

6、验证是否安装成功
sudo docker run hello-world

docker --version
Docker version 19.03.9, build 9d988398e7

7、配置docker
docker守护程序以root用户身份运行,如果不想以sudo作为docker命令的开头,创建一个名为docker的unix组并将用户添加到其中
创建docker组
sudo groupadd docker
把自己的用户添加到docker组
sudo usermod -aG docker $USER
激活对组的更改
newgrp docker
检测不用sudo能否运行docker指令
docker run hello-world

三、运行脚本,制作镜像
1、在jailhouse-images目录下运行
./build-images.sh
选择需要制作的镜像。

四、运行jailhouse
sudo ./start_qemu.sh x86 # 或者其他架构。

4. [debug] VNC server running on 127.0.0.1:5900

打开 ubuntu software,下载 SSL/SSH VNC Viewer

在这里插入图片描述


打开软件,链接即可。

在这里插入图片描述

在这里插入图片描述


但是,使用 VMWARE 虚拟出的 Ubuntu,在 jailhouse enable xxx.cell 的时候失败,JAILHOUSE_ENABLE: invalid argument,参考链接:https://blog.csdn.net/v6543210/article/details/113890847%EF%BC%8CVMWARE 虚拟出来的 CPU 对 VMX 支持不全,使用 Ubuntu20.04(非虚拟机)可以解决该问题。

在这里插入图片描述

...全文
377 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
午后茶话 2023-07-12
  • 打赏
  • 举报
回复

非常细致,但是想问下博主,项目中找不到./build-images.sh,怎么弄?有时间恢复下,
谢谢

Jiaming 2023-07-12
  • 举报
回复
@午后茶话 使用 0.12 版本,git clone -b v0.12 https://github.com/siemens/jailhouse-images.git
午后茶话 2023-07-13
  • 举报
回复
@Jiaming 请问那个build-images.sh 需要修改参数吗,直接运行一堆报错
Jiaming 2023-07-13
  • 举报
回复
@午后茶话 不需要修改参数,运行报错更多的是网络问题。

20

社区成员

发帖
与我相关
我的任务
社区描述
Jailhouse是一个Siemens 在 GPLv2 协议下发布的针对工业级应用程序的小型分区型 Hypervisor,本社区旨在提供Jailhouse相关知识分享/帮助,欢迎加入!
车载系统嵌入式硬件linux 技术论坛(原bbs) 甘肃省·兰州市
社区管理员
  • Jia ming
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

尊敬的Jailhouse社区/论坛成员:

Jailhouse Hypervisor 是一款非常优秀且广泛使用的工具,它能够帮助用户实现对虚拟机的精细化管理和便捷操作。我们相信,在这个社区/论坛上,我们能够一起分享 Jailhouse 的使用经验和技巧,相互学习和提高。

以下是一些我们希望在这个社区/论坛上看到的内容:

  1. 内容分享。您可以分享您在Jailhouse中使用到的有趣功能、技巧或者经验,以及您对Jailhouse的看法和想法等;您可以在这里谈论Jailhouse相关的技术问题,例如虚拟机管理程序的工作原理、性能优化、安全性等;您可以在这里分享Jailhouse的使用教程、脚本和插件等。
  2. 问题求助及意见建议。如果您遇到了Jailhouse相关的问题,您可以在这里寻求帮助和解决方案。
  3. 社区活动。您可以在这里组织与Jailhouse相关的活动,例如线下聚会、技术交流会等。

我们希望这个社区/论坛能够成为大家交流和学习的平台,共同推动Jailhouse技术的发展和进步。如果您有任何建议或者意见,欢迎随时联系我们 — Jiaming

谢谢!

试试用AI创作助手写篇文章吧