From 55e970e1d46e402098f6dcfe1d14f9031cb6cb1f Mon Sep 17 00:00:00 2001 From: Guoqi Xie Date: Mon, 23 Dec 2024 10:35:10 +0800 Subject: [PATCH] Doc: update doc Update the documentation of run zvm on qemu, and how to connect the console of vm. Signed-off-by: Guoqi Xie --- auto_zvm.sh | 6 +- zvm_doc/3_Run_on_ARM64_QEMU.rst | 185 +++++++++++++++++--------------- 2 files changed, 100 insertions(+), 91 deletions(-) diff --git a/auto_zvm.sh b/auto_zvm.sh index 3781199c2..1d5707929 100755 --- a/auto_zvm.sh +++ b/auto_zvm.sh @@ -64,9 +64,9 @@ elif [ "$OPS" = "${ops_array[1]}" ]; then -net none -pidfile qemu.pid -chardev stdio,id=con,mux=on \ -serial chardev:con -mon chardev=con,mode=readline -serial pty -serial pty -smp cpus=4 \ -device loader,file=$(pwd)/zvm_config/qemu_platform/hub/zephyr.bin,addr=0x60000000,force-raw=on \ - -device loader,file=$(pwd)/zvm_config/qemu_platform/hub/Image_withFS,addr=0x70000000,force-raw=on \ - -device loader,file=$(pwd)/zvm_config/qemu_platform/hub/linux-qemu-virtio.dtb,addr=0xf2000000 \ - -device loader,file=$(pwd)/zvm_config/qemu_platform/hub/debian/debian.cpio.gz,addr=0x90000000 \ + -device loader,file=$(pwd)/zvm_config/qemu_platform/hub/Image_withoutFS,addr=0x70000000,force-raw=on \ + -device loader,file=$(pwd)/zvm_config/qemu_platform/hub/linux-qemu-virt.dtb,addr=0xf2000000 \ + -device loader,file=$(pwd)/zvm_config/qemu_platform/hub/debian.cpio.gz,addr=0x90000000 \ -kernel $(pwd)/build/zephyr/zvm_host.elf ### using gdb to connect it: # gdb-multiarch -q -ex 'file ./build/zephyr/zvm_host.elf' -ex 'target remote localhost:1234' diff --git a/zvm_doc/3_Run_on_ARM64_QEMU.rst b/zvm_doc/3_Run_on_ARM64_QEMU.rst index 3fe18efde..662da739c 100644 --- a/zvm_doc/3_Run_on_ARM64_QEMU.rst +++ b/zvm_doc/3_Run_on_ARM64_QEMU.rst @@ -35,10 +35,10 @@ ------------------------------- 如果不想自己去定制Linux和Zephyr的镜像文件,本项目提供了直接可以在平台上执行的镜像文件, -可以在使用如下方法拉取已经定制好的镜像: +可以在使用如下方法拉取已经定制好的镜像,首先进入zvm_workspace目录: .. code:: shell - + cd ~/zvm_workspace git clone https://gitee.com/hnu-esnl/zvm_vm_image.git 切换到zvm_vm_image/qemu_max/linux/debian/目录下,生成debian.cpio.gz: @@ -54,8 +54,10 @@ .. code:: shell cd ~/zvm_workspace/zvm - cp -r zvm_vm_image/qemu_max/linux/* zvm_config/qemu_platform/hub - cp -r zvm_vm_image/qemu_max/zephyr/* zvm_config/qemu_platform/hub + cp ../zvm_vm_image/qemu_max/zephyr/zephyr.bin zvm_config/qemu_platform/hub/ + cp ../zvm_vm_image/qemu_max/linux/Image_withoutFS zvm_config/qemu_platform/hub/ + cp ../zvm_vm_image/qemu_max/linux/debian/linux-qemu-virt.dtb zvm_config/qemu_platform/hub/ + cp ../zvm_vm_image/qemu_max/linux/debian/debian.cpio.gz zvm_config/qemu_platform/hub/ 此时,在zvm_config/qemu_platform/hub目录下有Linux和zephyr虚拟机的镜像,直接执行如下命令即可运行: (注1:上述仓库中镜像可以选择下单个或者多个) @@ -72,7 +74,95 @@ ./auto_zvm.sh debugserver qemu_cortex_max_smp -3. QEMU 平台自定义构建镜像方法 +3. QEMU 平台使用zvm启动虚拟机 +------------------------------- + +运行zvm平台后可见以下内容: + +.. figure:: https://gitee.com/openeuler/zvm/raw/master/zvm_doc/figure/zvm_platform.png + :align: center + +其中前两行表明平台的输出端口被重定向到/dev/pts/1和/dev/pts/2,标签分别为serial1和serial2 + + +连接对应的虚拟机窗口 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +新建两个终端窗口: + +窗口1: + +.. code:: shell + + screen /dev/pts/1 + +窗口2: + +.. code:: shell + + screen /dev/pts/2 + +(screen后接对应虚拟机的输出端口重定向去向) + +在完成对应虚拟机的创建和运行之后,新窗口上会出现相应的虚拟机终端界面。 + + +在zvm窗口上输入如下命令查看平台支持的指令: + +.. code:: shell + + zvm help + +启动Zephyr虚拟机 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +(1)创建Zephyr虚拟机: ++++++++++++++++++++++++++++++ + + .. code:: shell + + zvm new -t zephyr + + +(2)运行Zephyr虚拟机: ++++++++++++++++++++++++++++++ + + .. code:: shell + + zvm run -n 0 + +(-n后面的数是虚拟机的对应ID,假设创建所得虚拟机的VM-ID:0) + + +启动Linux虚拟机 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +(1)创建Linux虚拟机: ++++++++++++++++++++++++++++++ + + .. code:: shell + + zvm new -t linux + + +(2)运行Linux虚拟机: ++++++++++++++++++++++++++++++ + + .. code:: shell + + zvm run -n 2 + +(-n后面的数是虚拟机的对应ID,假设创建所得虚拟机的VM-ID:2) + + +成功运行 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. figure:: https://gitee.com/openeuler/zvm/raw/master/zvm_doc/figure/Run%20successfully.png + :align: center + + +4. QEMU 平台自定义构建镜像方法 ------------------------------- 构建 Zephyr VM 镜像 @@ -205,90 +295,9 @@ BusyBox,配置CONFIG_STATIC参数,编译静态版BusyBox,编译好的可 .. code:: shell - ./auto_zvm.sh debug qemu - - -4. QEMU 平台使用zvm启动虚拟机 -------------------------------- - -运行zvm平台后可见以下内容: - -.. figure:: https://gitee.com/openeuler/zvm/raw/master/zvm_doc/figure/zvm_platform.png - :align: center - -其中前两行表明平台的输出端口被重定向到/dev/pts/1和/dev/pts/2,标签分别为serial1和serial2 - -在zvm平台上输入如下命令查看平台支持的指令: - -.. code:: shell - - zvm help - - -启动Linux虚拟机 -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -(1)创建Linux虚拟机: -+++++++++++++++++++++++++++++ - - .. code:: shell - - zvm new -t linux - - -(2)运行Linux虚拟机: -+++++++++++++++++++++++++++++ - - .. code:: shell - - zvm run -n 2 - -(-n后面的数是虚拟机的对应ID,假设创建所得虚拟机的VM-ID:2) - -启动Zephyr虚拟机 -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -(1)创建Zephyr虚拟机: -+++++++++++++++++++++++++++++ - - .. code:: shell - - zvm new -t zephyr - - -(2)运行Zephyr虚拟机: -+++++++++++++++++++++++++++++ - - .. code:: shell - - zvm run -n 0 - -(-n后面的数是虚拟机的对应ID,假设创建所得虚拟机的VM-ID:0) - - -连接对应的虚拟机 -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -新建窗口 - -.. code:: shell - - - cd ~/zvm_workspace/zvm - - screen /dev/pts/1 - - -(screen后接对应虚拟机的输出端口重定向去向) - -在完成对应虚拟机的创建和运行之后,新窗口上会出现相应的虚拟机终端界面。 - -成功运行 -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -.. figure:: https://gitee.com/openeuler/zvm/raw/master/zvm_doc/figure/Run%20successfully.png - :align: center + ./auto_zvm.sh debugserver qemu_cortex_max_smp +后续步骤如3所示。 `Prev>> 主机开发环境搭建 `__ -- Gitee