<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Cloud Hypervisor学习笔记 – 快速开始</title>
    <link>https://skyao.net/learning-cloud-hypervisor/docs/quickstart/</link>
    <description>Recent content in 快速开始 on Cloud Hypervisor学习笔记</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>zh-cn</language>
    <lastBuildDate>Wed, 15 Oct 2025 00:00:00 +0000</lastBuildDate>
    
	  <atom:link href="https://skyao.net/learning-cloud-hypervisor/docs/quickstart/index.xml" rel="self" type="application/rss+xml" />
    
    
      
        
      
    
    
    <item>
      <title>Docs: 下载</title>
      <link>https://skyao.net/learning-cloud-hypervisor/docs/quickstart/download/</link>
      <pubDate>Wed, 15 Oct 2025 00:00:00 +0000</pubDate>
      
      <guid>https://skyao.net/learning-cloud-hypervisor/docs/quickstart/download/</guid>
      <description>
        
        
        &lt;h2 id=&#34;下载&#34;&gt;下载&lt;/h2&gt;
&lt;p&gt;github 下载地址:&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/cloud-hypervisor/cloud-hypervisor/releases/&#34;&gt;https://github.com/cloud-hypervisor/cloud-hypervisor/releases/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;images/assets.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;x86&#34;&gt;x86&lt;/h3&gt;
&lt;p&gt;x86平台下载:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mkdir -p ~/work/soft/cloudhypervisor/bin
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#204a87&#34;&gt;cd&lt;/span&gt; ~/work/soft/cloudhypervisor/bin
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;wget https://github.com/cloud-hypervisor/cloud-hypervisor/releases/download/v50.0/ch-remote
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;wget https://github.com/cloud-hypervisor/cloud-hypervisor/releases/download/v50.0/cloud-hypervisor
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;wget https://github.com/cloud-hypervisor/cloud-hypervisor/releases/download/v50.0/ch-remote-static
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;wget https://github.com/cloud-hypervisor/cloud-hypervisor/releases/download/v50.0/cloud-hypervisor-static
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;chmod +x ./ch-remote
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;chmod +x ./cloud-hypervisor
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;chmod +x ./ch-remote-static
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;chmod +x ./cloud-hypervisor-static
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# 验证一下版本&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;./cloud-hypervisor --version
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;./cloud-hypervisor-static --version
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;./ch-remote --version
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;./ch-remote-static --version
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;版本输出为:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ ./cloud-hypervisor-static --version
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cloud-hypervisor v50.0.0
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ ./cloud-hypervisor --version
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;[&lt;/span&gt;1&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;]&lt;/span&gt;    &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;10062&lt;/span&gt; segmentation fault  ./cloud-hypervisor --version
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ ./ch-remote --version
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ch-remote v50.0.0
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ ./ch-remote-static --version
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ch-remote v50.0.0
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;cloud-hypervisor 不能用.这是因为带 static 的二进制文件是静态编译版本，所有依赖库都已经打包在可执行文件里；不带 static 的则是动态链接版本，运行时需要系统上存在相应的共享库。如果系统缺少或版本不匹配，就可能出现 segmentation fault。&lt;/p&gt;
&lt;p&gt;方便起见,还是直接用 static 版本比较好.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mkdir -p ~/work/soft/cloudhypervisor/bin
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#204a87&#34;&gt;cd&lt;/span&gt; ~/work/soft/cloudhypervisor/bin
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;wget https://github.com/cloud-hypervisor/cloud-hypervisor/releases/download/v50.0/ch-remote-static -O ch-remote
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;wget https://github.com/cloud-hypervisor/cloud-hypervisor/releases/download/v50.0/cloud-hypervisor-static -O cloud-hypervisor
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;chmod +x ./ch-remote
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;chmod +x ./cloud-hypervisor
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# 验证一下版本&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;./cloud-hypervisor --version
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;./ch-remote --version
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;arm64&#34;&gt;arm64&lt;/h3&gt;
&lt;p&gt;类似,下载 cloud-hypervisor-static-aarch64 和 ch-remote-static-aarch64．&lt;/p&gt;
&lt;h2 id=&#34;安装&#34;&gt;安装&lt;/h2&gt;
&lt;p&gt;将二进制文件所在的目录加入到 path 就可以了,这样用起来比较方便.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;vi ~/.zshrc
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;加入内容:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# cloud hypervisor&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#204a87&#34;&gt;export&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;PATH&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;$PATH&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;$HOME&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;/work/soft/cloudhypervisor/bin&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;生效并检验:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#204a87&#34;&gt;source&lt;/span&gt; ~/.zshrc
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ch-remote --version
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cloud-hypervisor --version
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;升级&#34;&gt;升级&lt;/h2&gt;
&lt;p&gt;貌似只要直接覆盖原来版本的文件即可．&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: 构建</title>
      <link>https://skyao.net/learning-cloud-hypervisor/docs/quickstart/build/</link>
      <pubDate>Wed, 15 Oct 2025 00:00:00 +0000</pubDate>
      
      <guid>https://skyao.net/learning-cloud-hypervisor/docs/quickstart/build/</guid>
      <description>
        
        
        &lt;p&gt;也可以不下载,自己从源码开始构建.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;参考: &lt;a href=&#34;https://github.com/cloud-hypervisor/cloud-hypervisor/blob/main/docs/building.md&#34;&gt;https://github.com/cloud-hypervisor/cloud-hypervisor/blob/main/docs/building.md&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&#34;准备&#34;&gt;准备&lt;/h2&gt;
&lt;p&gt;机器信息:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;操作系统: debian13&lt;/li&gt;
&lt;li&gt;内核: 6.12&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;准备工作:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mkdir -p &lt;span style=&#34;color:#000&#34;&gt;$HOME&lt;/span&gt;/work/soft/cloudhypervisor
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#204a87&#34;&gt;export&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;CLOUDH&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;$HOME&lt;/span&gt;/work/soft/cloudhypervisor
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#204a87&#34;&gt;cd&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;$CLOUDH&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;安装依赖包:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt-get update
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt install git build-essential m4 bison flex uuid-dev qemu-utils musl-tools
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;curl --proto &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#39;=https&amp;#39;&lt;/span&gt; --tlsv1.2 -sSf https://sh.rustup.rs &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;|&lt;/span&gt; sh
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;rustup target add x86_64-unknown-linux-musl
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;构建&#34;&gt;构建&lt;/h2&gt;
&lt;p&gt;clone 代码并开始构建:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mkdir -p ~/work/code/cloud-hypervisor
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#204a87&#34;&gt;cd&lt;/span&gt; ~/work/code/cloud-hypervisor
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;git clone https://github.com/cloud-hypervisor/cloud-hypervisor.git
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#204a87&#34;&gt;cd&lt;/span&gt; cloud-hypervisor
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# 最新的 release tag&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;git checkout v50.0
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# 采用静态链接&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cargo build --release --target&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt;x86_64-unknown-linux-musl --all
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo setcap cap_net_admin+ep ./target/x86_64-unknown-linux-musl/release/cloud-hypervisor
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;检查构建之后的版本：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;./target/x86_64-unknown-linux-musl/release/cloud-hypervisor --version
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cloud-hypervisor v50.0
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ls -lh ./target/x86_64-unknown-linux-musl/release/cloud-hypervisor 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;-rwxrwxr-x &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;2&lt;/span&gt; sky sky 4.0M Nov &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;18&lt;/span&gt; 15:23 ./target/x86_64-unknown-linux-musl/release/cloud-hypervisor
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;静态链接也才4M,没大多少.&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: 启动</title>
      <link>https://skyao.net/learning-cloud-hypervisor/docs/quickstart/booting/</link>
      <pubDate>Wed, 15 Oct 2025 00:00:00 +0000</pubDate>
      
      <guid>https://skyao.net/learning-cloud-hypervisor/docs/quickstart/booting/</guid>
      <description>
        
        
        &lt;p&gt;参考:&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://www.cloudhypervisor.org/docs/prologue/quick-start/#booting-linux&#34;&gt;https://www.cloudhypervisor.org/docs/prologue/quick-start/#booting-linux&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;在 linux 上启动.&lt;/p&gt;
&lt;p&gt;Cloud Hypervisor 支持直接内核启动（x86-64内核需使用支持PVH构建的内核）或通过固件/firmware启动（可选Rust Hypervisor固件或名为 &lt;code&gt;CLOUDHV/CLOUDHV_EFI&lt;/code&gt; 的edk2 UEFI固件）。&lt;/p&gt;
&lt;p&gt;最新版本的Rust Hypervisor固件及edk2存储库中均提供固件文件的二进制构建版本。&lt;/p&gt;
&lt;p&gt;固件的选择取决于您的客户操作系统选项，可能需要进行一些实验性测试。&lt;/p&gt;
&lt;h2 id=&#34;固件启动&#34;&gt;固件启动&lt;/h2&gt;
&lt;p&gt;Cloud Hypervisor 支持引导包含运行云工作负载所需全部组件的磁盘镜像，即云镜像。&lt;/p&gt;
&lt;h3 id=&#34;准备工作&#34;&gt;准备工作&lt;/h3&gt;
&lt;p&gt;首先安装 qemu-utils,稍后要用到其中的 qemu-img 和 mkdosfs :&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt install qemu-utils
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt install dosfstools
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt install mtools
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;以下示例命令将下载Ubuntu云镜像，将其转换为 Cloud Hypervisor 可用的格式，并生成引导该镜像所需的固件。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mkdir -p ~/work/soft/cloudhypervisor/fireware
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#204a87&#34;&gt;cd&lt;/span&gt; ~/work/soft/cloudhypervisor/fireware
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;wget https://cloud-images.ubuntu.com/focal/current/focal-server-cloudimg-amd64.img
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;qemu-img convert -p -f qcow2 -O raw focal-server-cloudimg-amd64.img focal-server-cloudimg-amd64.raw
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;wget https://github.com/cloud-hypervisor/rust-hypervisor-firmware/releases/download/0.5.0/hypervisor-fw
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;处理完成后的文件列表:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ ls -lh    
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;total 2.1G
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;-rw-rw-r-- &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1&lt;/span&gt; sky sky 618M Jun &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;25&lt;/span&gt; 09:39 focal-server-cloudimg-amd64.img
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;-rw-r--r-- &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1&lt;/span&gt; sky sky 2.2G Oct &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;16&lt;/span&gt; 16:54 focal-server-cloudimg-amd64.raw
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;-rw-rw-r-- &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1&lt;/span&gt; sky sky 133K Nov &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;30&lt;/span&gt;  &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;2024&lt;/span&gt; hypervisor-fw
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Ubuntu云镜像默认不提供密码，因此首次启动时必须使用 cloud-init 磁盘镜像进行镜像定制。本脚本可生成基础 cloud-init 镜像，为镜像预设默认用户名/密码为 &lt;code&gt;cloud/cloud123&lt;/code&gt; 。仅需在首次启动时添加此磁盘镜像即可。脚本同时通过 &lt;code&gt;--net “mac=12:34:56:78:90:ab,tap=”&lt;/code&gt; 选项，基于 test_data/cloud-init/ubuntu/local/network-config 配置信息分配默认IP地址。随后系统将根据 network-config 详情启用匹配MAC地址的网络接口。&lt;/p&gt;
&lt;p&gt;准备需要的脚本, 在代码仓库根目录下的 scripts 中:&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/cloud-hypervisor/cloud-hypervisor/tree/v48.0/scripts&#34;&gt;https://github.com/cloud-hypervisor/cloud-hypervisor/tree/v48.0/scripts&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;后面还要使用到 test_data/cloud-init/ubuntu/ 目录下的文件, 因此最好是把整个代码仓库下载下来,方便后面使用&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mkdir -p ~/work/code/cloud-hypervisor/
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#204a87&#34;&gt;cd&lt;/span&gt; ~/work/code/cloud-hypervisor/
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;git clone https://github.com/cloud-hypervisor/cloud-hypervisor.git
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#204a87&#34;&gt;cd&lt;/span&gt; cloud-hypervisor
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;git checkout v50.0
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;执行:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;~/work/code/cloud-hypervisor/cloud-hypervisor/scripts/create-cloud-init.sh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;输出如下:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;+ rm -f /tmp/ubuntu-cloudinit.img
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;+ mkdosfs -n CIDATA -C /tmp/ubuntu-cloudinit.img &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;8192&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mkfs.fat 4.2 &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;(&lt;/span&gt;2021-01-31&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;+ mcopy -oi /tmp/ubuntu-cloudinit.img -s test_data/cloud-init/ubuntu/local/user-data ::
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;+ mcopy -oi /tmp/ubuntu-cloudinit.img -s test_data/cloud-init/ubuntu/local/meta-data ::
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;+ mcopy -oi /tmp/ubuntu-cloudinit.img -s test_data/cloud-init/ubuntu/local/network-config ::
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;这会生成一个 ubuntu-cloudinit.img 文件,大小为 8M:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ ls -lh /tmp/ubuntu-cloudinit.img
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;-rw-rw-r-- &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1&lt;/span&gt; sky sky 8.0M Oct &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;16&lt;/span&gt; 17:12 /tmp/ubuntu-cloudinit.img
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;注意这个目录是 &lt;code&gt;/tmp&lt;/code&gt;,重启之后文件很可能就不在了,方便起见, 还是复制到&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mkdir -p ~/work/soft/cloudhypervisor/images
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mv /tmp/ubuntu-cloudinit.img /home/sky/work/soft/cloudhypervisor/images
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;启动&#34;&gt;启动&lt;/h3&gt;
&lt;p&gt;注意: 从 v49 版本开始需要设置 cloud-hypervisor 二进制的特权, 执行命令:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo setcap cap_net_admin+ep /home/sky/work/code/cloud-hypervisor/cloud-hypervisor/target/x86_64-unknown-linux-musl/release/cloud-hypervisor
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;否则后面启动时会报错:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cloud-hypervisor:   0.016376s: &amp;lt;main&amp;gt; ERROR:/home/sky/work/code/cloud-hypervisor/cloud-hypervisor/src/lib.rs:23 -- Fatal error: VmBoot&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;(&lt;/span&gt;VmBoot&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;(&lt;/span&gt;DeviceManager&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;(&lt;/span&gt;CreateVirtioNet&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;(&lt;/span&gt;OpenTap&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;(&lt;/span&gt;TapOpen&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;(&lt;/span&gt;ConfigureTap&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;(&lt;/span&gt;Os &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;{&lt;/span&gt; code: 1, kind: PermissionDenied, message: &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;Operation not permitted&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;})))))))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Error: Cloud Hypervisor exited with the following chain of errors:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  0: Error booting VM
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  1: The VM could not boot
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  2: Error from device manager
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  3: Cannot create virtio-net device
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  4: Failed to open taps
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  5: Open tap device failed
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  6: Unable to configure tap interface
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  7: Operation not permitted &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;(&lt;/span&gt;os error 1&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;注意启动命令中的路径要用绝对路径,不能用 &amp;lsquo;~/&amp;rsquo; 之类,否则会报错无法找到文件.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;/home/sky/work/code/cloud-hypervisor/cloud-hypervisor/target/x86_64-unknown-linux-musl/release/cloud-hypervisor &lt;span style=&#34;color:#4e9a06&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&lt;/span&gt;	--kernel /home/sky/work/soft/cloudhypervisor/fireware/hypervisor-fw &lt;span style=&#34;color:#4e9a06&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&lt;/span&gt;	--disk &lt;span style=&#34;color:#000&#34;&gt;path&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt;/home/sky/work/soft/cloudhypervisor/fireware/focal-server-cloudimg-amd64.raw &lt;span style=&#34;color:#000&#34;&gt;path&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt;/home/sky/work/soft/cloudhypervisor/images/ubuntu-cloudinit.img &lt;span style=&#34;color:#4e9a06&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&lt;/span&gt;	--cpus &lt;span style=&#34;color:#000&#34;&gt;boot&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;4&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&lt;/span&gt;	--memory &lt;span style=&#34;color:#000&#34;&gt;size&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt;1024M &lt;span style=&#34;color:#4e9a06&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&lt;/span&gt;	--net &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;tap=,mac=,ip=,mask=&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;输出为:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cloud-hypervisor: 481.142000µs: &amp;lt;main&amp;gt; WARN:vmm/src/vm_config.rs:356 -- Deprecation warning: No IP address provided. A default IP address is assigned. This behavior will be deprecated soon.
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cloud-hypervisor: 506.863000µs: &amp;lt;main&amp;gt; WARN:vmm/src/vm_config.rs:363 -- Deprecation warning: No network mask provided. A default network mask is assigned. This behavior will be deprecated soon.
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Ubuntu 20.04.6 LTS cloud hvc0
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cloud login:
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;输入前面设置的用户/密码 (cloud / cloud123), 登录进去, 如果要退出,执行 &lt;code&gt;sudo shutdown now&lt;/code&gt; 命令关闭启动的 microVM 即可.&lt;/p&gt;
&lt;p&gt;此时因为没有配置好网络, 所以登录进去 microVM 后会发现没有网络可用.&lt;/p&gt;
&lt;h3 id=&#34;配置microvm的网络&#34;&gt;配置microVM的网络&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;没成功,等下继续.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;首先要在主机上创建并配置 TAP 接口:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo ip tuntap add name vm-tap0 mode tap user &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;$(&lt;/span&gt;whoami&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;)&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo ip link &lt;span style=&#34;color:#204a87&#34;&gt;set&lt;/span&gt; vm-tap0 up
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo ip addr add 192.168.1.127/24 dev vm-tap0
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;此时在主机上看到的 vm-tap0 设备为:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ ip addr
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;......
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;10: vm-tap0: &amp;lt;NO-CARRIER,BROADCAST,MULTICAST,UP&amp;gt; mtu &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1500&lt;/span&gt; qdisc fq_codel state DOWN group default qlen &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1000&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    link/ether 3e:7b:2e:ca:9a:3e brd ff:ff:ff:ff:ff:ff
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    inet 192.168.1.127/24 scope global vm-tap0
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       valid_lft forever preferred_lft forever
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;注意：上面的 ip 命令在重启后会失效。若需持久化配置，可将其写入主机的网络配置文件（如 /etc/network/interfaces 或使用 systemd-networkd/NetworkManager)。&lt;/p&gt;
&lt;p&gt;注意2: 如果配置有问题,可以先删除,再重新配置. &lt;code&gt;sudo ip link delete vm-tap0&lt;/code&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;/home/sky/work/code/cloud-hypervisor/cloud-hypervisor/target/x86_64-unknown-linux-musl/release/cloud-hypervisor &lt;span style=&#34;color:#4e9a06&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&lt;/span&gt;	--kernel /home/sky/work/soft/cloudhypervisor/fireware/hypervisor-fw &lt;span style=&#34;color:#4e9a06&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&lt;/span&gt;	--disk &lt;span style=&#34;color:#000&#34;&gt;path&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt;/home/sky/work/soft/cloudhypervisor/fireware/focal-server-cloudimg-amd64.raw &lt;span style=&#34;color:#000&#34;&gt;path&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt;/tmp/ubuntu-cloudinit.img &lt;span style=&#34;color:#4e9a06&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&lt;/span&gt;	--cpus &lt;span style=&#34;color:#000&#34;&gt;boot&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;4&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&lt;/span&gt;	--memory &lt;span style=&#34;color:#000&#34;&gt;size&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt;1024M &lt;span style=&#34;color:#4e9a06&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&lt;/span&gt;	--net &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;tap=vm-tap0,mac=12:34:56:78:90:22,ip=192.168.1.129,mask=255.255.255.0&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;/home/sky/work/code/cloud-hypervisor/cloud-hypervisor/target/x86_64-unknown-linux-musl/release/cloud-hypervisor &lt;span style=&#34;color:#4e9a06&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&lt;/span&gt;	--kernel /home/sky/work/soft/cloudhypervisor/fireware/hypervisor-fw &lt;span style=&#34;color:#4e9a06&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&lt;/span&gt;	--disk &lt;span style=&#34;color:#000&#34;&gt;path&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt;/home/sky/work/soft/cloudhypervisor/fireware/focal-server-cloudimg-amd64.raw &lt;span style=&#34;color:#000&#34;&gt;path&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt;/home/sky/work/soft/cloudhypervisor/images/ubuntu-cloudinit.img &lt;span style=&#34;color:#4e9a06&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&lt;/span&gt;	--cpus &lt;span style=&#34;color:#000&#34;&gt;boot&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;4&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&lt;/span&gt;	--memory &lt;span style=&#34;color:#000&#34;&gt;size&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt;1024M &lt;span style=&#34;color:#4e9a06&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&lt;/span&gt;	--net &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;tap=tap0,mac=12:34:56:78:90:22,ip=192.168.1.10,mask=255.255.255.0&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;镜像启动&#34;&gt;镜像启动&lt;/h2&gt;
&lt;p&gt;Cloud Hypervisor 也支持直接内核启动。对于 x86-64 架构，需要一个 vmlinux ELF 内核（编译时包含 PVH 支持）。为了支持开发，有一个自定义分支；不过只要所需选项已启用，任何近期的内核都可以使用。&lt;/p&gt;
&lt;h3 id=&#34;构建-linux-内核&#34;&gt;构建 linux 内核&lt;/h3&gt;
&lt;p&gt;要构建内核：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#204a87&#34;&gt;cd&lt;/span&gt; ~/work/code/cloud-hypervisor/
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;git clone --depth &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1&lt;/span&gt; https://github.com/cloud-hypervisor/linux.git -b ch-6.12.8 linux-cloud-hypervisor
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#204a87&#34;&gt;cd&lt;/span&gt; linux-cloud-hypervisor
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;make ch_defconfig
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt install libelf-dev
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt install bc
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;注意要执行 &lt;code&gt;sudo apt install libelf-dev&lt;/code&gt; 命令安装 libelf,否则会报错:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;lt;stdin&amp;gt;:1:10: fatal error: libelf.h: No such file or directory
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;构建 x86-64 kernel:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#000&#34;&gt;KCFLAGS&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;-Wa,-mx86-used-note=no&amp;#34;&lt;/span&gt; make bzImage -j &lt;span style=&#34;color:#4e9a06&#34;&gt;`&lt;/span&gt;nproc&lt;span style=&#34;color:#4e9a06&#34;&gt;`&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;构建完成后,linux 内核保存在 &lt;code&gt;./arch/x86/boot/compressed/vmlinux.bin&lt;/code&gt;,大小为 45M:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ ls -lh ./arch/x86/boot/compressed/vmlinux.bin
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;-rwxrwxr-x &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;1&lt;/span&gt; sky sky 45M Nov &lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;18&lt;/span&gt; 15:50 ./arch/x86/boot/compressed/vmlinux.bin
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;rootfs 磁盘镜像可以用之前下载的 ubuntu 镜像, 之前存放在目录 &lt;code&gt;~/work/soft/cloudhypervisor/fireware&lt;/code&gt; 下&lt;/p&gt;
&lt;p&gt;也可以再次下载和转换:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#204a87&#34;&gt;cd&lt;/span&gt; ~/work/soft/cloudhypervisor/fireware
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;wget https://cloud-images.ubuntu.com/focal/current/focal-server-cloudimg-amd64.img &lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# x86-64&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;wget https://cloud-images.ubuntu.com/focal/current/focal-server-cloudimg-arm64.img &lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# AArch64&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;qemu-img convert -p -f qcow2 -O raw focal-server-cloudimg-amd64.img focal-server-cloudimg-amd64.raw &lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# x86-64&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;qemu-img convert -p -f qcow2 -O raw focal-server-cloudimg-arm64.img focal-server-cloudimg-arm64.raw &lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# AArch64&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;启动 vm:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;/home/sky/work/code/cloud-hypervisor/cloud-hypervisor/target/x86_64-unknown-linux-musl/release/cloud-hypervisor &lt;span style=&#34;color:#4e9a06&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&lt;/span&gt;	--kernel /home/sky/work/code/cloud-hypervisor/linux-cloud-hypervisor/arch/x86/boot/compressed/vmlinux.bin &lt;span style=&#34;color:#4e9a06&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&lt;/span&gt;	--console off &lt;span style=&#34;color:#4e9a06&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&lt;/span&gt;	--serial tty &lt;span style=&#34;color:#4e9a06&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&lt;/span&gt;	--disk &lt;span style=&#34;color:#000&#34;&gt;path&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt;/home/sky/work/soft/cloudhypervisor/fireware/focal-server-cloudimg-amd64.raw &lt;span style=&#34;color:#4e9a06&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&lt;/span&gt;	--cmdline &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;console=ttyS0 root=/dev/vda1 rw&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&lt;/span&gt;	--cpus &lt;span style=&#34;color:#000&#34;&gt;boot&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;4&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&lt;/span&gt;	--memory &lt;span style=&#34;color:#000&#34;&gt;size&lt;/span&gt;&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt;1024M &lt;span style=&#34;color:#4e9a06&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&lt;/span&gt;	--net &lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;tap=,mac=,ip=,mask=&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
      </description>
    </item>
    
    <item>
      <title>Docs: 命令</title>
      <link>https://skyao.net/learning-cloud-hypervisor/docs/quickstart/command/</link>
      <pubDate>Sat, 15 Nov 2025 00:00:00 +0000</pubDate>
      
      <guid>https://skyao.net/learning-cloud-hypervisor/docs/quickstart/command/</guid>
      <description>
        
        
        &lt;p&gt;参考:&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://www.cloudhypervisor.org/docs/prologue/commands/&#34;&gt;https://www.cloudhypervisor.org/docs/prologue/commands/&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;cloud-hypervisor&#34;&gt;cloud-hypervisor&lt;/h2&gt;
&lt;p&gt;通过 help 命令可以得到参数和参数说明:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cloud-hypervisor --help
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;--api-socket &amp;lt;api-socket&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;HTTP API socket (UNIX domain socket): path=&lt;code&gt;&amp;lt;/path/to/a/file&amp;gt; or fd=&amp;lt;fd&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;-&lt;code&gt;-balloon &amp;lt;balloon&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Balloon parameters&lt;/p&gt;
&lt;p&gt;&amp;ldquo;size=&amp;lt;balloon_size&amp;gt;,deflate_on_oom=on|off&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;--cmdline &amp;lt;cmdline&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Kernel command line&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;--console &amp;lt;console&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Control (virtio) console: &amp;ldquo;off|null|pty|tty|file=&amp;lt;/path/to/a/file&amp;gt;,iommu=on|off&amp;rdquo;&lt;/p&gt;
&lt;p&gt;[default: tty]&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;--cpus &amp;lt;cpus&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;boot=&amp;lt;boot_vcpus&amp;gt;,max=&amp;lt;max_vcpus&amp;gt;,topology=&amp;lt;threads_per_core&amp;gt;:&amp;lt;cores_per_die&amp;gt;:&amp;lt;dies_per_package&amp;gt;:&amp;lt;packages&amp;gt;,kvm_hyperv=on&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;[default: boot=1,max_phys_bits=46]&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;--debug-console &amp;lt;debug-console&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;off|pty|tty|file=&amp;lt;/path/to/a/file&amp;gt;,iobase=&lt;code&gt;&amp;lt;port in hex&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;[default:off,iobase=0xe9]&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;--device &amp;lt;device&amp;gt;...&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Direct device assignment parameters&lt;/p&gt;
&lt;p&gt;&amp;ldquo;path=&amp;lt;device_path&amp;gt;,iommu=on|off,id=&amp;lt;device_id&amp;gt;,pci_segment=&amp;lt;segment_id&amp;gt;&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;--disk &amp;lt;disk&amp;gt;...&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Disk parameters&lt;/p&gt;
&lt;p&gt;&amp;ldquo;path=&amp;lt;disk_image_path&amp;gt;,readonly=on|off,direct=on|off,iommu=on|off,num_queues=&amp;lt;number_of_queues&amp;gt;,queue_size=&amp;lt;size_of_each_queue&amp;gt;,vhost_user=on|off,socket=&amp;lt;vhost_user_socket_path&amp;gt;,bw_size=&lt;bytes&gt;,bw_one_time_burst=&lt;bytes&gt;,bw_refill_time=&lt;ms&gt;,ops_size=&amp;lt;io_ops&amp;gt;,ops_one_time_burst=&amp;lt;io_ops&amp;gt;,ops_refill_time=&lt;ms&gt;,id=&amp;lt;device_id&amp;gt;,pci_segment=&amp;lt;segment_id&amp;gt;,rate_limit_group=&amp;lt;group_id&amp;gt;,queue_affinity=&amp;lt;list_of_queue_indices_with_their_associated_cpuset&amp;gt;,serial=&amp;lt;serial_number&amp;gt;&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;--event-monitor &amp;lt;event-monitor&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;File to report events on: &lt;code&gt;path=&amp;lt;/path/to/a/file&amp;gt; or fd=&amp;lt;fd&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;--firmware &amp;lt;firmware&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;File to report events on: &lt;code&gt;path=&amp;lt;/path/to/a/file&amp;gt; or fd=&amp;lt;fd&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;--fs &amp;lt;fs&amp;gt;...&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;virtio-fs parameters
&amp;ldquo;tag=&amp;lt;tag_name&amp;gt;,socket=&amp;lt;socket_path&amp;gt;,num_queues=&amp;lt;number_of_queues&amp;gt;,queue_size=&amp;lt;size_of_each_queue&amp;gt;,id=&amp;lt;device_id&amp;gt;,pci_segment=&amp;lt;segment_id&amp;gt;&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;--initramfs &amp;lt;initramfs&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Path to initramfs image&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;--kernel &amp;lt;kernel&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Path to kernel to load. This may be a kernel or firmware that supports a PVH entry point (e.g. vmlinux) or architecture equivalent&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;--landlock&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;enable/disable Landlock.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;--landlock-rules &amp;lt;landlock-rules&amp;gt;...&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Landlock parameters &amp;ldquo;path=&amp;lt;path/to/{file/dir}&amp;gt;,access=[rw]&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;--log-file &amp;lt;log-file&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Log file. Standard error is used if not specified&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;--memory &amp;lt;memory&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&amp;ldquo;size=&amp;lt;guest_memory_size&amp;gt;,mergeable=on|off,shared=on|off,hugepages=on|off,hugepage_size=&amp;lt;hugepage_size&amp;gt;,hotplug_method=acpi|virtio-mem,hotplug_size=&amp;lt;hotpluggable_memory_size&amp;gt;,hotplugged_size=&amp;lt;hotplugged_memory_size&amp;gt;,prefault=on|off,thp=on|off&amp;rdquo;&lt;/p&gt;
&lt;p&gt;[default: size=512M]&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;--memory-zone &amp;lt;memory-zone&amp;gt;...&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;User defined memory zone parameters&lt;/p&gt;
&lt;p&gt;&amp;ldquo;size=&amp;lt;guest_memory_region_size&amp;gt;, file=&amp;lt;backing_file&amp;gt;, shared=on|off, hugepages=on|off, hugepage_size=&amp;lt;hugepage_size&amp;gt;, host_numa_node=&amp;lt;node_id&amp;gt;, id=&amp;lt;zone_identifier&amp;gt;, hotplug_size=&amp;lt;hotpluggable_memory_size&amp;gt;, hotplugged_size=&amp;lt;hotplugged_memory_size&amp;gt;, prefault=on|off&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;--net &amp;lt;net&amp;gt;...&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Network parameters&lt;/p&gt;
&lt;p&gt;&amp;ldquo;tap=&amp;lt;if_name&amp;gt;,ip=&amp;lt;ip_addr&amp;gt;,mask=&amp;lt;net_mask&amp;gt;,mac=&amp;lt;mac_addr&amp;gt;,fd=&amp;lt;fd1,fd2&amp;hellip;&amp;gt;,iommu=on|off,num_queues=&amp;lt;number_of_queues&amp;gt;,queue_size=&amp;lt;size_of_each_queue&amp;gt;,id=&amp;lt;device_id&amp;gt;, vhost_user=&amp;lt;vhost_user_enable&amp;gt;, socket=&amp;lt;vhost_user_socket_path&amp;gt;, vhost_mode=client|server, bw_size=&lt;bytes&gt;,bw_one_time_burst=&lt;bytes&gt;, bw_refill_time=&lt;ms&gt;, ops_size=&amp;lt;io_ops&amp;gt;, ops_one_time_burst=&amp;lt;io_ops&amp;gt;, ops_refill_time=&lt;ms&gt;, pci_segment=&amp;lt;segment_id&amp;gt;offload_tso=on|off, offload_ufo=on|off, offload_csum=on|off&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;--numa &amp;lt;numa&amp;gt;...&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Settings related to a given NUMA node&lt;/p&gt;
&lt;p&gt;&amp;ldquo;guest_numa_id=&amp;lt;node_id&amp;gt;, cpus=&amp;lt;cpus_id&amp;gt;, distances=&amp;lt;list_of_distances_to_destination_nodes&amp;gt;, memory_zones=&amp;lt;list_of_memory_zones&amp;gt;, pci_segments=&amp;lt;list_of_pci_segments&amp;gt;&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;--pci-segment &amp;lt;pci-segment&amp;gt;...&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;PCI Segment parameters&lt;/p&gt;
&lt;p&gt;&amp;ldquo;pci_segment=&amp;lt;segment_id&amp;gt;, mmio32_aperture_weight=&lt;scale&gt;, mmio64_aperture_weight=&lt;scale&gt;&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;--platform &amp;lt;platform&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;num_pci_segments=&amp;lt;num_pci_segments&amp;gt;, iommu_segments=&amp;lt;list_of_segments&amp;gt;, iommu_address_width=&amp;lt;bits&amp;gt;, serial_number=&amp;lt;dmi_device_serial_number&amp;gt;, uuid=&amp;lt;dmi_device_uuid&amp;gt;, oem_strings=&amp;lt;list_of_strings&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;--pmem &amp;lt;pmem&amp;gt;...&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Persistent memory parameters&lt;/p&gt;
&lt;p&gt;&amp;ldquo;file=&amp;lt;backing_file_path&amp;gt;,size=&amp;lt;persistent_memory_size&amp;gt;,iommu=on|off,discard_writes=on|off,id=&amp;lt;device_id&amp;gt;,pci_segment=&amp;lt;segment_id&amp;gt;&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;--pvpanic&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Enable pvpanic device&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;--rate-limit-group &amp;lt;rate-limit-group&amp;gt;...&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Rate Limit Group parameters&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&amp;quot;bw_size=&amp;lt;bytes&amp;gt;, bw_one_time_burst=&amp;lt;bytes&amp;gt;, bw_refill_time=&amp;lt;ms&amp;gt;, ops_size=&amp;lt;io_ops&amp;gt;, ops_one_time_burst=&amp;lt;io_ops&amp;gt;, ops_refill_time=&amp;lt;ms&amp;gt;, id=&amp;lt;device_id&amp;gt;&amp;quot;&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;--restore &amp;lt;restore&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Restore from a VM snapshot.&lt;/p&gt;
&lt;p&gt;Restore parameters&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&amp;quot;source_url=&amp;lt;source_url&amp;gt;, prefault=on|off, net_fds=&amp;lt;list_of_net_ids_with_their_associated_fds&amp;gt;&amp;quot;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;source_url&lt;/code&gt; should be a valid URL (e.g file:///foo/bar or tcp://192.168.1.10/foo)&lt;/p&gt;
&lt;p&gt;&lt;code&gt;prefault&lt;/code&gt; brings memory pages in when enabled (disabled by default)&lt;/p&gt;
&lt;p&gt;&lt;code&gt;net_fds&lt;/code&gt; is a list of net ids with new file descriptors. Only net devices backed by FDs directly are needed as input.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;--rng &amp;lt;rng&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Random number generator parameters &amp;ldquo;src=&amp;lt;entropy_source_path&amp;gt;,iommu=on|off&amp;rdquo;&lt;/p&gt;
&lt;p&gt;[default: src=https://skyao.net/learning-cloud-hypervisor/dev/urandom]&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;--seccomp &amp;lt;seccomp&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;[default: true] [possible values: true, false, log]&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;--serial &amp;lt;serial&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Control serial port: &lt;code&gt;off|null|pty|tty|file=&amp;lt;/path/to/a/file&amp;gt;|socket=&amp;lt;/path/to/a/file&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;[default: null]&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;--tpm &amp;lt;tpm&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;TPM device &amp;ldquo;(UNIX Domain Socket from swtpm) socket=&lt;code&gt;&amp;lt;/path/to/a/socket&amp;gt;&lt;/code&gt;&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;--user-device &amp;lt;user-device&amp;gt;...&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Userspace device socket=&lt;code&gt;&amp;lt;socket_path&amp;gt;,id=&amp;lt;device_id&amp;gt;,pci_segment=&amp;lt;segment_id&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;-v...&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Sets the level of debugging output&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;--vdpa &amp;lt;vdpa&amp;gt;...&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;vDPA device&lt;/p&gt;
&lt;p&gt;&amp;ldquo;path=&amp;lt;device_path&amp;gt;,num_queues=&amp;lt;number_of_queues&amp;gt;,iommu=on|off,id=&amp;lt;device_id&amp;gt;,pci_segment=&amp;lt;segment_id&amp;gt;&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;-V, --version&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Print version&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;--vsock &amp;lt;vsock&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Virtio VSOCK parameters&lt;/p&gt;
&lt;p&gt;&amp;ldquo;cid=&amp;lt;context_id&amp;gt;, socket=&amp;lt;socket_path&amp;gt;, iommu=on|off, id=&amp;lt;device_id&amp;gt;, pci_segment=&amp;lt;segment_id&amp;gt;&amp;rdquo;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;--watchdog&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Enable virtio-watchdog&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;-h, --help&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Print help&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;​&lt;/p&gt;
&lt;h2 id=&#34;ch-remote&#34;&gt;ch-remote&lt;/h2&gt;
&lt;p&gt;通过 help 命令可以得到参数和参数说明:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ch-remote --help
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;命令&lt;/th&gt;
&lt;th&gt;命令描述&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;add-device&lt;/td&gt;
&lt;td&gt;Add VFIO device&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;add-disk&lt;/td&gt;
&lt;td&gt;Add block device&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;add-fs&lt;/td&gt;
&lt;td&gt;Add virtio-fs backed fs device&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;add-net&lt;/td&gt;
&lt;td&gt;Add network device&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;add-pmem&lt;/td&gt;
&lt;td&gt;Add persistent memory device&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;add-user-device&lt;/td&gt;
&lt;td&gt;Add userspace device&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;add-vdpa&lt;/td&gt;
&lt;td&gt;Add vDPA device&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;add-vsock&lt;/td&gt;
&lt;td&gt;Add vsock device&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;boot&lt;/td&gt;
&lt;td&gt;Boot a created VM&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;coredump&lt;/td&gt;
&lt;td&gt;Create a coredump from VM&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;counters&lt;/td&gt;
&lt;td&gt;Counters from the VM&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;create&lt;/td&gt;
&lt;td&gt;Create VM from a JSON configuration&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;delete&lt;/td&gt;
&lt;td&gt;Delete a VM&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;info&lt;/td&gt;
&lt;td&gt;Info on the VM&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;nmi&lt;/td&gt;
&lt;td&gt;Trigger NMI&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;pause&lt;/td&gt;
&lt;td&gt;Pause the VM&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ping&lt;/td&gt;
&lt;td&gt;Ping the VMM to check for API server availability&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;power-button&lt;/td&gt;
&lt;td&gt;Trigger a power button in the VM&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;reboot&lt;/td&gt;
&lt;td&gt;Reboot the VM&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;receive-migration&lt;/td&gt;
&lt;td&gt;Receive a VM migration&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;remove-device&lt;/td&gt;
&lt;td&gt;Remove VFIO and PCI device&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;resize&lt;/td&gt;
&lt;td&gt;Resize the VM&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;resize-zone&lt;/td&gt;
&lt;td&gt;Resize a memory zone&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;restore&lt;/td&gt;
&lt;td&gt;Restore VM from a snapshot&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;resume&lt;/td&gt;
&lt;td&gt;Resume the VM&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;send-migration&lt;/td&gt;
&lt;td&gt;Initiate a VM migration&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;shutdown&lt;/td&gt;
&lt;td&gt;Shutdown the VM&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;shutdown-vmm&lt;/td&gt;
&lt;td&gt;Shutdown the VMM&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;snapshot&lt;/td&gt;
&lt;td&gt;Create a snapshot from VM&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;help&lt;/td&gt;
&lt;td&gt;Print this message or the help of the given subcommand(s)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;命令行选项:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;选项&lt;/th&gt;
&lt;th&gt;选项描述&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;--api-socket &amp;lt;api-socket&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;HTTP API socket path (UNIX domain socket)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;-h, &amp;ndash;help&lt;/td&gt;
&lt;td&gt;Print help&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;-V, &amp;ndash;version&lt;/td&gt;
&lt;td&gt;Print version&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;

      </description>
    </item>
    
  </channel>
</rss>
