长期支持版本

    准备环境

    使用说明

    • StratoVirt 仅支持运行于 x86_64 和 AArch64 处理器架构下并启动相同架构的 Linux 虚拟机。
    • 建议在 openEuler 20.03 LTS SP3 版本编译、调测和部署该版本 StratoVirt。
    • StratoVirt 支持以非 root 权限运行。

    环境要求

    运行StratoVirt需要具备如下环境:

    • /dev/vhost-vsock设备(用于实现mmio)
    • nmap工具
    • Kernel镜像和rootfs镜像

    准备设备和工具

    • StratoVirt运行需要实现mmio设备,所以运行之前确保存在设备/dev/vhost-vsock

      查看该设备是否存在。

      $ ls /dev/vhost-vsock
      /dev/vhost-vsock
      

      若该设备不存在,请执行如下命令生成/dev/vhost-vsock设备。

      $ modprobe vhost_vsock
      
    • 为了能够使用QMP命令,需要安装nmap工具,在配置yum源的前提下,可执行如下命令安装nmap。

      # yum install nmap
      

    准备镜像

    制作kernel镜像

    当前版本的StratoVirt仅支持x86_64和AArch64平台的PE格式内核镜像。此格式内核映像可通过以下方法生成。

    1. 获取openEuler的kernel源代码,参考命令如下:

      $ git clone https://gitee.com/openeuler/kernel
      $ cd kernel
      
    2. 查看并切换kernel的版本到4.19,参考命令如下:

      $ git checkout kernel-4.19
      
    3. 配置并编译Linux kernel。可使用推荐配置(获取配置文件),将其复制到kernel路径下并重命名为.config。也可通过以下命令进行交互,根据提示完成kernel配置。

      $ make menuconfig
      
    4. 使用下面的命令制作并转换kernel镜像为PE格式,转化后的镜像为vmlinux.bin。

      $ make -j vmlinux && objcopy -O binary vmlinux vmlinux.bin
      
    5. 如果想在x86平台使用bzImzge格式的kernel,可以使用如下命令进行编译。

      $ make -j bzImage
      

    制作rootfs镜像

    rootfs镜像是一种文件系统镜像,在StratoVirt启动时可以装载带有init的ext4格式的镜像。下面是制作ext4 rootfs镜像的简单方法。

    1. 准备一个大小合适的文件(例如在/home中创建10GiB空间大小的文件)。

      $ cd /home
      $ dd if=/dev/zero of=./rootfs.ext4 bs=1G count=10
      
    2. 在此文件上创建空的ext4文件系统。

      $ mkfs.ext4 ./rootfs.ext4
      
    3. 挂载文件镜像。创建/mnt/rootfs,使用root权限,将rootfs.ext4挂载到/mnt/rootfs目录。

      $ mkdir /mnt/rootfs
      # 返回刚刚创建文件系统的目录(如/home)
      $ cd /home
      $ sudo mount ./rootfs.ext4 /mnt/rootfs && cd /mnt/rootfs
      
    4. 获取对应处理器架构的最新alpine-mini rootfs。

      $ arch=`uname -m`
      $ wget http://dl-cdn.alpinelinux.org/alpine/latest-stable/releases/$arch/alpine-   minirootfs-3.13.0-$arch.tar.gz -O alpine-minirootfs.tar.gz
      $ tar -zxvf alpine-minirootfs.tar.gz
      $ rm alpine-minirootfs.tar.gz
      
    5. 为ext4文件镜像制作一个简单的/sbin/init,参考命令如下:

      $ rm sbin/init; touch sbin/init && cat > sbin/init <<EOF
      #! /bin/sh
      mount -t devtmpfs dev /dev
      mount -t proc proc /proc
      mount -t sysfs sysfs /sys
      ip link set up dev lo
      
      exec /sbin/getty -n -l /bin/sh 115200 /dev/ttyS0
      poweroff -f
      EOF
      
      sudo chmod +x sbin/init
      
    6. 卸载rootfs镜像。

      $ cd /home; umount /mnt/rootfs
      

      至此, rootfs制作成功,已可使用ext4 rootfs镜像文件rootfs.ext4,该文件在/home目录下。

    文档捉虫

    “有虫”文档片段

    问题描述

    提交类型 issue

    有点复杂...

    找人问问吧。

    PR

    小问题,全程线上修改...

    一键搞定!

    问题类型
    规范和低错类

    ● 错别字或拼写错误;标点符号使用错误;

    ● 链接错误、空单元格、格式错误;

    ● 英文中包含中文字符;

    ● 界面和描述不一致,但不影响操作;

    ● 表述不通顺,但不影响理解;

    ● 版本号不匹配:如软件包名称、界面版本号;

    易用性

    ● 关键步骤错误或缺失,无法指导用户完成任务;

    ● 缺少必要的前提条件、注意事项等;

    ● 图形、表格、文字等晦涩难懂;

    ● 逻辑不清晰,该分类、分项、分步骤的没有给出;

    正确性

    ● 技术原理、功能、规格等描述和软件不一致,存在错误;

    ● 原理图、架构图等存在错误;

    ● 命令、命令参数等错误;

    ● 代码片段错误;

    ● 命令无法完成对应功能;

    ● 界面错误,无法指导操作;

    风险提示

    ● 对重要数据或系统存在风险的操作,缺少安全提示;

    内容合规

    ● 违反法律法规,涉及政治、领土主权等敏感词;

    ● 内容侵权;

    您对文档的总体满意度

    非常不满意
    非常满意
    提交
    根据您的反馈,会自动生成issue模板。您只需点击按钮,创建issue即可。
    文档捉虫
    编组 3备份