add README.md

Signed-off-by: yezengruan <yezengruan@huawei.com>
This commit is contained in:
yezengruan 2023-09-01 20:03:18 +08:00
parent ae217e55f1
commit cab92d757c
2 changed files with 100 additions and 1 deletions

96
README.md Normal file
View File

@ -0,0 +1,96 @@
# StratoVirt
StratoVirt is an enterprise-level virtualization platform for cloud data centers
in the computing industry. It implements a set of architecture that supports
three scenarios: virtual machines, containers, and serverless computing.
StratoVirt has competitive advantages in light weight and low noise, software
and hardware coordination, and Rust language-level security.
StratoVirt reserves interface and design for importing more features, even
evaluates to standard virtualization.
## How to start
### Preparation
Before building StratoVirt, make sure that Rust language and Cargo have already
been installed. If not, you can find installation guidance via following link:
https://www.rust-lang.org/tools/install
And it will get smaller memory overhead if you prepare musl toolchain for rust.
### Build StratoVirt
To build StratoVirt, clone the project and build it first:
```sh
$ git clone https://gitee.com/openeuler/stratovirt.git
$ cd stratovirt
$ make build
```
Now you can find StratoVirt binary in `target/release/stratovirt`.
### Run a VM with StratoVirt
To run StratoVirt quickly, requires
* A PE or bzImage (only x86_64) format Linux kernel
* An EXT4 filesystem, raw format rootfs disk image
You can get kernel and rootfs image from the following link:
https://repo.openeuler.org/openEuler-22.03-LTS/stratovirt_img/
For standard VM, firmware file of EDK2 which follows UEFI is required.
```shell
# If the socket of qmp exists, remove it first.
# Start microvm
$ ./target/release/stratovirt \
-machine microvm \
-kernel /path/to/kernel \
-append "console=ttyS0 root=/dev/vda reboot=k panic=1" \
-drive file=/path/to/rootfs,id=rootfs,readonly=off \
-device virtio-blk-device,drive=rootfs,id=rootfs \
-qmp unix:/path/to/socket,server,nowait \
-serial stdio
# Start standard VM on x86_64
$ ./target/release/stratovirt \
-machine q35 \
-kernel /path/to/kernel \
-append "console=ttyS0 root=/dev/vda reboot=k panic=1" \
-drive file=/path/to/firmware,if=pflash,unit=0,readonly=true \
-device pcie-root-port,port=0x0,addr=0x1.0x0,bus=pcie.0,id=pcie.1 \
-drive file=/path/to/rootfs,id=rootfs,readonly=off \
-device virtio-blk-pci,drive=rootfs,bus=pcie.1,addr=0x0.0x0,id=blk-0 \
-qmp unix:/path/to/socket,server,nowait \
-serial stdio
```
The detailed guidance of making rootfs, compiling kernel and building StratoVirt
can be found in [StratoVirt QuickStart](./docs/quickstart.md).
StratoVirt supports much more features, the detailed guidance can be found in
[Configuration Guidebook](docs/config_guidebook.md).
## Design
To get more details about StratoVirt's core architecture design, refer to
[StratoVirt design](./docs/design.md).
## How to contribute
We welcome new contributors! And we are happy to provide guidance and help for
new contributors. StratoVirt follows Rust formatting conventions, which can be
found at:
https://github.com/rust-dev-tools/fmt-rfcs/tree/master/guide
https://github.com/rust-lang/rust-clippy
You can get more information about StratoVirt at:
https://gitee.com/openeuler/stratovirt/wikis
If you find a bug or have some ideas, please send an email to the
[virt mailing list](https://mailweb.openeuler.org/postorius/lists/virt.openeuler.org/)
or submit an [issue](https://gitee.com/openeuler/stratovirt/issues).
## Licensing
StratoVirt is licensed under the Mulan PSL v2.

View File

@ -6,7 +6,7 @@
Name: stratovirt
Version: 2.2.0
Release: 15
Release: 16
Summary: StratoVirt is an opensource VMM(Virtual Machine Manager) which aims to perform next generation virtualization.
License: MulanPSL-2.0
@ -109,6 +109,9 @@ install -D -m555 ./target/%{rust_musl_target}/release/stratovirt %{buildroot}%{_
install -D -m555 ./target/%{rust_musl_target}/release/vhost_user_fs %{buildroot}%{_libdir}/stratovirt/static
%changelog
* Mon Sep 11 2023 yezengruan <yezengruan@huawei.com> 2.2.0-16
- Add README.md
* Fri Sep 8 2023 ganqixin <ganqixin@huawei.com> - 2.2.0-15
- Delete -static-pie for musl