add README.md
Signed-off-by: yezengruan <yezengruan@huawei.com>
This commit is contained in:
parent
ae217e55f1
commit
cab92d757c
96
README.md
Normal file
96
README.md
Normal 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.
|
||||||
@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
Name: stratovirt
|
Name: stratovirt
|
||||||
Version: 2.2.0
|
Version: 2.2.0
|
||||||
Release: 15
|
Release: 16
|
||||||
Summary: StratoVirt is an opensource VMM(Virtual Machine Manager) which aims to perform next generation virtualization.
|
Summary: StratoVirt is an opensource VMM(Virtual Machine Manager) which aims to perform next generation virtualization.
|
||||||
|
|
||||||
License: MulanPSL-2.0
|
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
|
install -D -m555 ./target/%{rust_musl_target}/release/vhost_user_fs %{buildroot}%{_libdir}/stratovirt/static
|
||||||
|
|
||||||
%changelog
|
%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
|
* Fri Sep 8 2023 ganqixin <ganqixin@huawei.com> - 2.2.0-15
|
||||||
- Delete -static-pie for musl
|
- Delete -static-pie for musl
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user