Skip to content

Commit ed65224

Browse files
committed
update README
1 parent dc896d3 commit ed65224

File tree

2 files changed

+25
-105
lines changed

2 files changed

+25
-105
lines changed

README.md

Lines changed: 12 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -53,10 +53,6 @@ Currently, AxVisor has been verified in scenarios with the following systems as
5353
- currently only Linux with passthrough device on aarch64 is tested.
5454
- single core: [config.toml](configs/vms/linux-qemu-aarch64.toml) | [dts](configs/vms/linux-qemu.dts)
5555
- smp: [config.toml](configs/vms/linux-qemu-aarch64-smp2.toml) | [dts](configs/vms/linux-qemu-smp2.dts)
56-
# Quick Start
57-
```
58-
./quick_start.sh arceos
59-
```
6056

6157

6258
# Build and Run
@@ -81,74 +77,32 @@ In addition, you can use the [axvmconfig](https://github.com/arceos-hypervisor/a
8177

8278
## Load and run from file system
8379

84-
### NimbOS as guest (x86_64)
80+
### NimbOS as guest
8581

8682
1. Execute script to download and prepare NimbOS image.
8783

8884
```shell
89-
./scripts/nimbos.sh --arch x86_64
85+
./scripts/nimbos.sh --arch aarch64
9086
```
9187

9288
2. Execute `./axvisor.sh defconfig` to set up the development environment and generate AxVisor config `.hvconfig.toml`.
9389

9490
3. Edit the `.hvconfig.toml` file to set the `vmconfigs` item to the path of your guest configuration file, for example:
9591

9692
```toml
97-
plat = "x86-qemu-q35"
98-
features = ["fs"]
99-
arceos_args = [ "BLK=y", "DISK_IMG=tmp/nimbos-x86_64.img", "LOG=warn"]
100-
vmconfigs = [ "configs/vms/nimbos-x86_64.toml",]
101-
93+
plat = "aarch64-generic"
94+
features = ["fs", "ept-level-4"]
95+
arceos_args = [ "BUS=mmio","BLK=y", "DISK_IMG=tmp/nimbos-aarch64.img", "LOG=info"]
96+
vmconfigs = [ "configs/vms/nimbos-aarch64.toml",]
10297
```
10398

10499
4. Execute `./axvisor.sh run` to build AxVisor and start it in QEMU.
105100

106-
### ArceOS as guest
107-
108-
1. Build a client image file suitable for your own architecture. Taking the ArceOS mainline code as an example, run `make PLATFORM=aarch64-qemu-virt SMP=1 A=examples/helloworld` to generate `helloworld_aarch64-qemu-virt.bin`.
109-
110-
2. Create a disk image file and place the guest machine image into the file system.
111-
112-
- Use the `./axvisor.sh disk_img` command to generate an empty FAT32 disk image file named `disk.img`.
113-
- Manually mount `disk.img`, and then place your guest machine image into the file system.
114-
115-
```console
116-
mkdir -p tmp/tmp_img
117-
sudo mount disk.img tmp/tmp_img
118-
sudo cp /PATH/TO/YOUR/GUEST/VM/IMAGE tmp/tmp_img/
119-
sudo umount tmp/tmp_img
120-
```
121-
122-
3. Modify the configuration items in the corresponding `./configs/vms/<ARCH_CONFIG>.toml`
123-
- `image_location="fs"` indicates loading from the file system.
124-
- `kernel_path` specifies the path to the kernel image in the file system.
125-
- `entry_point` specifies the entry address of the kernel image.
126-
- `kernel_load_addr` specifies the loading address of the kernel image.
127-
- others
128-
129-
```console
130-
cp configs/vms/linux-qemu-aarch64.toml tmp/
131-
```
132-
133-
4. Execute `./axvisor.sh defconfig` to set up the development environment and generate AxVisor config `.hvconfig.toml`.
134-
135-
5. Edit the `.hvconfig.toml` file to set the `vmconfigs` item to the path of your guest configuration file, for example:
136-
137-
```toml
138-
features = ["fs", "ept-level-4"]
139-
arceos_args = [
140-
"BUS=mmio",
141-
"BLK=y",
142-
"MEM=8g",
143-
"LOG=debug",
144-
"QEMU_ARGS=\"-machine gic-version=3 -cpu cortex-a72 \"",
145-
"DISK_IMG=\"tmp/rootfs.img\"",
146-
]
147-
vmconfigs = [ "tmp/arceos-aarch64.toml"]
148-
149-
```
101+
### More
102+
TODO
150103

151104
## Load and run from memory
105+
### linux as guest
152106

153107
1. [See linux build help.](https://github.com/arceos-hypervisor/guest-test-linux) to get Image and rootfs.img.
154108

@@ -180,6 +134,9 @@ In addition, you can use the [axvmconfig](https://github.com/arceos-hypervisor/a
180134

181135
4. Execute `./axvisor.sh run` to build AxVisor and start it in QEMU.
182136

137+
### More
138+
TODO
139+
183140
# Contributing
184141

185142
Feel free to fork this repository and submit a pull request.

README_CN.md

Lines changed: 13 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -76,73 +76,33 @@ cargo install cargo-binutils
7676

7777
## 从文件系统加载运行
7878

79-
### 使用 NimbOS 作为 x86_64 客户机
79+
### 使用 NimbOS 作为客户机
8080

81-
1. 执行仓库内的脚本下载并准备 NimbOS 镜像(x86_64)
81+
1. 执行仓库内的脚本下载并准备 NimbOS 镜像:
8282

8383
```bash
84-
./scripts/nimbos.sh --arch x86_64
84+
./scripts/nimbos.sh --arch aarch64
8585
```
8686

8787
2. 执行 `./axvisor.sh defconfig` 以设置开发环境并生成 AxVisor 配置文件 `.hvconfig.toml`
8888

8989
3. 编辑生成的 `.hvconfig.toml`,将 `vmconfigs` 项设置为指向 NimbOS 的客户机配置文件,例如:
9090

9191
```toml
92-
plat = "x86-qemu-q35"
93-
features = ["fs"]
94-
arceos_args = [ "BLK=y", "DISK_IMG=tmp/nimbos-x86_64.img", "LOG=warn"]
95-
vmconfigs = [ "configs/vms/nimbos-x86_64.toml",]
92+
plat = "aarch64-generic"
93+
features = ["fs", "ept-level-4"]
94+
arceos_args = [ "BUS=mmio","BLK=y", "DISK_IMG=tmp/nimbos-aarch64.img", "LOG=info"]
95+
vmconfigs = [ "configs/vms/nimbos-aarch64.toml",]
9696
```
9797

9898
4. 执行 `./axvisor.sh run` 构建 AxVisor 并在 QEMU 中启动 NimbOS 客户机。
9999

100-
### 通用:从文件系统加载其他客户机镜像的步骤
101-
102-
1. 构建适用于自己架构的客户机镜像文件。以 ArceOS 主线代码为例,执行 `make PLATFORM=aarch64-qemu-virt SMP=1 A=examples/helloworld` 获取 `helloworld_aarch64-qemu-virt.bin`
103-
104-
2. 制作一个磁盘镜像文件,并将客户机镜像放到文件系统中
105-
106-
- 使用 `./axvisor.sh disk_img` 命令生成一个空的 FAT32 磁盘镜像文件 `disk.img`
107-
- 手动挂载 `disk.img`,然后将自己的客户机镜像复制到该文件系统中
108-
109-
```bash
110-
mkdir -p tmp/tmp_img
111-
sudo mount disk.img tmp/tmp_img
112-
sudo cp /PATH/TO/YOUR/GUEST/VM/IMAGE tmp/tmp_img/
113-
sudo umount tmp/tmp_img
114-
```
115-
116-
3. 修改对应的 `./configs/vms/<ARCH_CONFIG>.toml` 文件中的配置项
117-
- `image_location="fs"` 表示从文件系统加载
118-
- `kernel_path` 指出内核镜像在文件系统中的路径
119-
- `entry_point` 指出内核镜像的入口地址
120-
- `kernel_load_addr` 指出内核镜像的加载地址
121-
122-
```console
123-
cp configs/vms/linux-qemu-aarch64.toml tmp/
124-
```
125-
126-
4. 执行 `./axvisor.sh defconfig` 设置开发环境并生成 AxVisor 配置 `.hvconfig.toml`
127-
128-
5. 编辑 `.hvconfig.toml` 文件,设置 `vmconfigs` 项为您的客户机配置文件路径,例如:
129-
130-
```toml
131-
features = ["fs", "ept-level-4"]
132-
arceos_args = [
133-
"BUS=mmio",
134-
"BLK=y",
135-
"MEM=8g",
136-
"LOG=debug",
137-
"QEMU_ARGS=\"-machine gic-version=3 -cpu cortex-a72 \"",
138-
"DISK_IMG=\"tmp/rootfs.img\"",
139-
]
140-
vmconfigs = [ "tmp/arceos-aarch64.toml"]
141-
142-
```
100+
### 更多客户机
101+
TODO
143102

144103
## 从内存加载运行
145104

105+
### 使用 linux 作为客户机
146106
1. [参见 linux 构建帮助。](https://github.com/arceos-hypervisor/guest-test-linux) 获取 Image 和 rootfs.img。
147107

148108
2. 修改对应的 `./configs/vms/<ARCH_CONFIG>.toml` 中的配置项
@@ -173,6 +133,9 @@ cargo install cargo-binutils
173133

174134
4. 执行 `./axvisor.sh run` 构建 AxVisor 并在 QEMU 中启动。
175135

136+
### 更多客户机
137+
TODO
138+
176139
## 启动示例
177140

178141
```bash

0 commit comments

Comments
 (0)