Add the Chinese version README

This commit is contained in:
Tate, Hongliang Tian 2024-02-15 16:47:10 +08:00
parent a3257fca80
commit f2f991b239
4 changed files with 211 additions and 1 deletions

View File

@ -3,9 +3,11 @@
A secure, fast, and general-purpose OS kernel written in Rust and compatible with Linux
</p>
English | [中文版](README_CN.md)
## Introducing Asterinas
Asterinas (星绽 in Chinese) is a _secure_, _fast_, and _general-purpose_ OS kernel
Asterinas is a _secure_, _fast_, and _general-purpose_ OS kernel
that provides _Linux-compatible_ ABI.
It can serve as a seamless replacement for Linux
while enhancing _memory safety_ and _developer friendliness_.

71
README_CN.md Normal file
View File

@ -0,0 +1,71 @@
<p align="center">
<img src="docs/src/images/logo_cn.svg" alt="asterinas-logo" width="620"><br>
一个安全、快速、通用的操作系统内核使用Rust编写并与Linux兼容
</p>
[English](README.md) | 中文版
## 初见星绽
星绽英文名Asterinas是一个*安全*、*快速*、*通用*的操作系统内核。
它提供于Linux相同的ABI可无缝运行Linux应用
但比Linux更加*内存安全*和*开发者友好*。
* 星绽在内存安全性方面远胜Linux。
它使用Rust作为唯一的编程语言
并将*unsafe Rust*的使用限制在一个明确定义且最小的可信计算基础TCB上。
这种新颖的方法,
被称为[框内核架构](https://asterinas.github.io/book/kernel/the-framekernel-architecture.html)
使星绽成为一个更安全、更可靠的内核选择。
* 星绽在开发者友好性方面优于Linux。
它赋能内核开发者们
1使用生产力更高的Rust编程语言
2利用一个专为内核开发者设计的工具包称为[OSDK]())来简化他们的工作流程,
3享受[MPL](#License)所带来的灵活性,
可自由选择开源或闭源他们为星绽所开发的内核模块或驱动。
虽然通往生产级操作系统内核的路上注定充满艰险,
但我们坚信正朝着正确的方向迈进。
当前星绽仅支持x86-64虚拟机
[我们2024年的目标](https://asterinas.github.io/book/kernel/roadmap.html)是
使星绽在x86-64虚拟机环境中达到生产可用。
## 快速上手
准备一台安装了Docker的、x86-64架构的Linux机器。
按照以下三个简单的步骤来构建和启动星绽。
1. 下载最新的源代码。
```bash
git clone https://github.com/asterinas/asterinas
```
2. 运行一个作为开发环境的Docker容器。
```bash
docker run -it --privileged --network=host --device=/dev/kvm -v ./asterinas:/root/asterinas asterinas/asterinas:0.3.0
```
3. 在容器内,进入项目文件夹构建并运行星绽。
```bash
make build
make run
```
如果一切顺利,星绽现在应该在一个虚拟机内运行起来了。
## 技术文档
查看[The Asterinas Book](https://asterinas.github.io/book/)
以了解更多关于本项目的信息。
## 开源许可
星绽的源代码和文档主要使用
[Mozilla公共许可证MPL版本2.0](https://github.com/asterinas/asterinas/blob/main/LICENSE-MPL)
部分组件在更宽松的许可证下发布,
详见[这里](https://github.com/asterinas/asterinas/blob/main/.licenserc.yaml)。
关于选择MPL的原因请见[这里](https://asterinas.github.io/book/index.html#licensing)。

136
docs/src/images/logo_cn.svg Normal file
View File

@ -0,0 +1,136 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 447.65 110.09" style="enable-background:new 0 0 447.65 110.09;" xml:space="preserve">
<style type="text/css">
.st0{fill:#565656;}
.st1{fill:none;stroke:#A0A0A0;stroke-width:0.5;stroke-miterlimit:10;}
.st2{fill:none;stroke:#A0A0A0;stroke-width:0.5024;stroke-miterlimit:10;}
.st3{fill:none;stroke:#A0A0A0;stroke-width:0.5023;stroke-miterlimit:10;}
.st4{fill:none;stroke:#9A9A9B;stroke-width:0.538;stroke-miterlimit:10;stroke-dasharray:4.3039;}
.st5{fill:none;stroke:#9A9A9B;stroke-width:0.5;stroke-miterlimit:10;stroke-dasharray:4;}
.st6{fill:#FFFFFF;}
.st7{fill:none;stroke:#9A9A9B;stroke-width:0.5986;stroke-miterlimit:10;stroke-dasharray:4.7886;}
.st8{fill:none;stroke:#9A9A9B;stroke-width:0.5376;stroke-miterlimit:10;stroke-dasharray:4.3009;}
.st9{fill:none;stroke:#9A9A9B;stroke-width:0.539;stroke-miterlimit:10;stroke-dasharray:4.3118;}
.st10{fill:none;stroke:#9A9A9B;stroke-width:0.573;stroke-miterlimit:10;stroke-dasharray:5.2627;}
.st11{fill:none;stroke:#9A9A9B;stroke-width:0.5508;stroke-miterlimit:10;stroke-dasharray:4.406;}
.st12{fill:none;stroke:#9A9A9B;stroke-width:0.5219;stroke-miterlimit:10;stroke-dasharray:4.1751;}
.st13{fill:none;stroke:#9A9A9B;stroke-width:0.6115;stroke-miterlimit:10;stroke-dasharray:4.8922;}
.st14{fill:none;stroke:#9A9A9B;stroke-width:0.513;stroke-miterlimit:10;stroke-dasharray:4.104;}
.st15{fill:none;stroke:#9A9A9B;stroke-width:0.5068;stroke-miterlimit:10;stroke-dasharray:4.0544;}
.st16{fill:url(#SVGID_1_);}
.st17{fill:url(#SVGID_2_);}
.st18{fill:url(#SVGID_3_);}
.st19{fill:url(#SVGID_4_);}
.st20{fill:url(#SVGID_5_);}
.st21{fill:url(#SVGID_6_);}
.st22{fill:url(#SVGID_7_);}
.st23{fill:url(#SVGID_8_);}
.st24{fill:url(#SVGID_9_);}
.st25{fill:url(#SVGID_10_);}
.st26{fill:url(#SVGID_11_);}
.st27{fill:url(#SVGID_12_);}
.st28{fill:url(#SVGID_13_);}
.st29{fill:url(#SVGID_14_);}
.st30{fill:url(#SVGID_15_);}
.st31{fill:url(#SVGID_16_);}
.st32{fill:url(#SVGID_17_);}
.st33{fill:url(#SVGID_18_);}
.st34{fill:url(#SVGID_19_);}
.st35{fill:url(#SVGID_20_);}
.st36{fill:url(#SVGID_21_);}
.st37{fill:url(#SVGID_22_);}
.st38{fill:url(#SVGID_23_);}
.st39{fill:url(#SVGID_24_);}
.st40{fill:url(#SVGID_25_);}
.st41{fill:url(#SVGID_26_);}
.st42{fill:url(#SVGID_27_);}
.st43{fill:url(#SVGID_28_);}
.st44{fill:url(#SVGID_29_);}
.st45{fill:url(#SVGID_30_);}
.st46{fill:url(#SVGID_31_);}
.st47{fill:url(#SVGID_32_);}
.st48{fill:url(#SVGID_33_);}
.st49{fill:url(#SVGID_34_);}
.st50{fill:url(#SVGID_35_);}
.st51{fill:url(#SVGID_36_);}
.st52{fill:url(#SVGID_37_);}
.st53{fill:url(#SVGID_38_);}
.st54{fill:url(#SVGID_39_);}
.st55{fill:url(#SVGID_40_);}
.st56{fill:url(#SVGID_41_);}
.st57{fill:url(#SVGID_42_);}
.st58{fill:url(#SVGID_43_);}
.st59{fill:url(#SVGID_44_);}
.st60{fill:url(#SVGID_45_);}
</style>
<g>
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="104.8456" y1="51.8352" x2="441.6727" y2="51.8352">
<stop offset="0" style="stop-color:#176BFF"/>
<stop offset="1" style="stop-color:#00F7FF"/>
</linearGradient>
<path class="st16" d="M187.6,86.76c-0.34,1.93-0.37,3.76-0.07,5.46c0.29,1.69,0.86,3.16,1.7,4.39c0.84,1.23,1.9,2.22,3.16,2.95
c0.44,0.26,0.91,0.44,1.4,0.58h53.69l6.3-35.49l0.33-0.37c3.27-3.68,7.7-4.43,12.57-4.46c1.13-0.01,2.1,0.11,3.16,0.36l1.95-11.2
c-0.88,0-1.84,0.01-2.89,0.01c-3.79,0.02-8.09-0.65-11.36,2.77l-2.05,2.43l0.91-5.21l-11.05,0.05l-7.02,40.15l-36.69,0.17
c-1.15,0.01-2.08-0.5-2.77-1.5c-0.69-1-0.91-2.24-0.66-3.67l0.62-3.51l26.95-0.13c1.08-0.01,2.18-0.29,3.29-0.85
c1.11-0.56,2.16-1.32,3.1-2.26c0.95-0.94,1.77-2.03,2.45-3.24c0.68-1.2,1.14-2.47,1.37-3.76l2.02-11.38
c0.23-1.28,0.22-2.54-0.03-3.72c-0.25-1.19-0.68-2.25-1.28-3.16c-0.6-0.91-1.36-1.65-2.26-2.19c-0.89-0.54-1.89-0.81-2.96-0.81
l-26.17,0.12c-1.61,0.01-3.18,0.35-4.64,1.01c-1.47,0.66-2.81,1.59-3.98,2.78c-1.18,1.19-2.19,2.61-3.03,4.24
c-0.83,1.62-1.43,3.42-1.77,5.35L187.6,86.76z M201.75,64.06c0.17-0.96,0.62-1.82,1.35-2.54c0.73-0.72,1.5-1.09,2.31-1.09
l19.77-0.09c0.67,0,1.19,0.26,1.54,0.79c0.35,0.53,0.45,1.2,0.31,2l-0.59,3.36c-0.14,0.77-0.46,1.42-0.96,1.91
c-0.5,0.5-1.08,0.75-1.73,0.75l-22.92,0.11L201.75,64.06z M285.6,100.04l8.96-51.25l33.75-0.16c1.59-0.01,3.02,0.36,4.24,1.09
c1.22,0.73,2.22,1.72,2.97,2.94c0.75,1.22,1.26,2.7,1.5,4.39c0.24,1.69,0.15,3.52-0.27,5.44l-6.56,37.34l-10.18,0.05l6-34.8
c0.32-1.43,0.16-2.66-0.45-3.66c-0.62-1-1.51-1.51-2.65-1.5l-20.15,0.09l-6.99,39.98L285.6,100.04z M290.72,38.52l-11.49,0.05
l2.31-12.19l11.32-0.05L290.72,38.52z M268.54,100.14l8.98-51.26l11.16-0.05l-8.98,51.32H268.54z M398.94,36.23l13.07-0.05
l-0.9,4.78l-13.07,0.05L398.94,36.23z M406.65,19.75l-4.62,0.02l0.9-4.78l7.18-11.37l5.5-0.02l-7.14,11.37l1.49-0.01l2.2-3.18
l5.62-0.02L406.24,28.8l7.19-0.03l-0.89,4.74l-13.11,0.05l0.87-4.62L406.65,19.75z M418.71,37.9c1.03-1.17,2.12-2.69,3.15-4.65
c0.3,0.76,0.69,1.39,1.19,1.86l2.77-14.71l-9.06,0.03l0.9-4.78l22.17-0.09l-0.9,4.78l-7.99,0.03l-0.88,4.7l7.53-0.03l-0.89,4.74
l-7.53,0.03l-1.18,6.27l8.41-0.03l-0.9,4.78l-10.63,0.04c-1.81,0.01-3.25-0.36-4.34-1.11C419.79,39.25,419.2,38.63,418.71,37.9z
M421.83,26.54c-0.2,0.95-0.44,1.9-0.7,2.84c-1.37,4.74-4.02,10.78-8.82,12.08l1.07-5.66c1.01-1.02,1.84-2.53,2.51-4.53
c0.67-2,1.32-4.61,1.95-7.82l4.58-0.02c0,0-0.08,0.67-0.29,1.74C422.03,25.63,421.93,26.09,421.83,26.54z M423.06,13.69l-5.12,0.02
l1.41-7.49l8.6-0.03l0.5-2.64l5.12-0.02l-0.5,2.64l8.6-0.03l-1.41,7.49l-5.16,0.02l0.51-2.71l-12.04,0.05L423.06,13.69z
M399.48,14.8l2.1-11.15l-32.19,0.12l-3.17,16.86l32.19-0.12L399.48,14.8z M372.31,15.98l0.54-2.55
c10.21-0.6,16.41,0.77,20.13,2.47L372.31,15.98z M394.99,11.34c-8.47-2.55-20.97-0.92-21.66-0.83l0.54-2.48l21.74-0.08
L394.99,11.34z M396.26,41.01l-36.03,0.14l0.87-4.64l15.79-0.06l0.36-1.9l-14.08,0.05l0.87-4.64l14.08-0.05l0.36-1.9l-10.52,0.04
c-1.47,0.8-3.14,1.21-5.02,1.22l0.89-4.72c1.04-0.06,1.85-0.3,2.42-0.74c0.57-0.44,1.06-1.14,1.48-2.09l5.15-0.02
c-0.19,0.62-0.42,1.2-0.68,1.74l7.16-0.03l0.37-1.97l5.18-0.02l-0.37,1.97l14.86-0.06l-0.87,4.6L383.66,28l-0.36,1.9l13.77-0.05
l-0.87,4.64l-13.77,0.05l-0.36,1.9l15.06-0.06L396.26,41.01z M425.05,73.71c-1.56-1.58-3.94-2.78-7.29-3.68l-7.18-1.93
c-3.29-0.87-4.55-1.45-5.03-1.8c-0.83-0.56-1.09-1.3-0.87-2.47c0.28-1.48,1.06-2.61,2.37-3.46c1.34-0.87,3.77-0.99,5.98-1
l18.87-0.09l1.9-11.14l-19.09,0.09c-5.75,0.03-10.47,1.55-14.04,4.52c-3.61,3.01-5.88,6.83-6.75,11.38
c-0.98,5.14-0.02,9,2.86,11.47c1.63,1.42,4.63,2.67,9.17,3.81l4.43,1.1c2.45,0.6,4.17,1.33,5.18,2.01
c0.51,0.35,0.99,1.35,0.68,2.44c-0.37,1.28-1.29,3.3-9,3.33l-23.26,0.11c0.2-0.7,0.38-1.41,0.51-2.15l4.28-24.11
c0.34-1.93,0.37-3.76,0.07-5.46c-0.29-1.69-0.86-3.16-1.7-4.39c-0.84-1.23-1.9-2.22-3.16-2.95c-1.26-0.73-2.71-0.9-4.31-0.89
l-40.7,0.19c0.13,0.19,0.25,0.38,0.37,0.57c1.17,1.9,1.95,4.15,2.31,6.68c0.18,1.24,0.24,2.52,0.18,3.82l32.91-0.15
c1.15-0.01,2.08,0.5,2.77,1.5c0.69,1,0.91,2.24,0.66,3.67l-0.62,3.51l-26.95,0.13c-1.08,0.01-2.18,0.29-3.29,0.85
c-1.11,0.56-2.16,1.32-3.1,2.26c-0.95,0.94-1.77,2.03-2.45,3.24c-0.68,1.2-1.14,2.47-1.37,3.76l-2.02,11.38
c-0.23,1.28-0.22,2.54,0.03,3.72c0.25,1.19,0.68,2.25,1.28,3.16c0.6,0.91,1.36,1.65,2.26,2.19c0.89,0.54,1.89,0.81,2.96,0.81
l25.83-0.12l35.94-0.17l1.1-0.01l0-0.01c4.8-0.08,9.06-0.52,12.56-3.31c3.84-3.06,6.23-6.96,7.12-11.6
C428.34,79.88,427.53,76.23,425.05,73.71z M374.61,84.86c-0.17,0.96-0.62,1.82-1.35,2.54c-0.67,0.67-1.39,1.02-2.13,1.07l-0.1,0
l0,0.01c-0.03,0-0.06,0.01-0.09,0.01l-19.77,0.09c-0.67,0-1.19-0.26-1.54-0.79c-0.35-0.53-0.45-1.2-0.31-2l0.59-3.36
c0.14-0.77,0.46-1.42,0.96-1.91c0.5-0.5,1.08-0.75,1.73-0.75l22.92-0.11L374.61,84.86z M173.65,79.54l9.42-0.04l-1.65,9.33
c-0.29,1.64-0.82,3.19-1.58,4.62c-0.76,1.43-1.7,2.72-2.78,3.82c-1.08,1.1-2.29,1.96-3.59,2.58c-0.23,0.11-0.47,0.2-0.7,0.29
h-19.12c-0.13-0.06-0.27-0.11-0.4-0.19c-1.07-0.59-1.97-1.44-2.67-2.51c-0.71-1.07-1.19-2.33-1.44-3.74
c-0.25-1.41-0.23-2.95,0.06-4.58l5.02-28.54l-4.14,0.02l-20,0.09c-2.2,0.01-4.63,0.14-5.98,1c-1.32,0.85-2.09,1.98-2.37,3.46
c-0.23,1.17,0.03,1.91,0.87,2.47c0.49,0.34,1.74,0.92,5.03,1.8l7.18,1.93c3.35,0.9,5.74,2.1,7.29,3.68
c2.49,2.52,3.29,6.17,2.4,10.84c-0.89,4.64-3.28,8.55-7.12,11.6c-1.75,1.4-3.69,2.2-5.8,2.67h-26.74l1.74-10.44l17.7-0.08
c7.71-0.04,8.63-2.06,9-3.33c0.32-1.09-0.16-2.1-0.68-2.44c-1.01-0.68-2.73-1.41-5.18-2.01l-4.43-1.1
c-4.54-1.14-7.54-2.39-9.17-3.81c-2.88-2.47-3.84-6.33-2.86-11.47c0.87-4.55,3.14-8.37,6.75-11.38c3.57-2.97,8.3-4.49,14.04-4.52
l24.43-0.11l1.88-10.75l10-0.05l-1.93,10.85l28.31-0.1c-3.38,2.74-5.79,6.62-6.67,11.06l-23.59,0.08l-4.42,25.12
c-0.2,1.16-0.04,2.14,0.48,2.93c0.52,0.8,1.28,1.2,2.25,1.19l6-0.03c0.94,0,1.81-0.39,2.58-1.16c0.77-0.76,1.26-1.72,1.46-2.85
L173.65,79.54z"/>
<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="7.1339" y1="51.7462" x2="115.6778" y2="51.7462">
<stop offset="0.3045" style="stop-color:#1937FF"/>
<stop offset="1" style="stop-color:#00F7FF"/>
</linearGradient>
<path class="st17" d="M115.68,49.4H93.69c0.81-16.67,1.62-33.52,2.21-45.74H83.57L50.42,49.4H7.13l0.71,0.16
c32.09,5.91,59.54,24.19,76.67,49.43l0.59,0.85l6.18-0.01c0.45-9.23,1.14-24.3,1.89-39.63h14.18
C109.19,55.93,112.08,52.23,115.68,49.4z M80.11,75.75c-4.33-6.08-9.87-11.36-16.29-15.56h17.2L80.11,75.75z M81.66,49.4H65.28
l17.85-25.07L81.66,49.4z"/>
<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="8.2451" y1="88.2236" x2="50.3648" y2="88.2236">
<stop offset="0.3045" style="stop-color:#1937FF"/>
<stop offset="1" style="stop-color:#00C3FF"/>
</linearGradient>
<path class="st18" d="M8.25,110.27l42.12-37.42c-3.3-2.62-6.92-4.87-10.78-6.67L8.25,110.27z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 9.8 KiB

View File

@ -38,6 +38,7 @@ cargo update -p asterinas --precise $new_version
# Update Docker image versions in README files
update_image_versions ${ASTER_SRC_DIR}/README.md
update_image_versions ${ASTER_SRC_DIR}/README_CN.md
update_image_versions ${SCRIPT_DIR}/docker/README.md
# Update Docker image versions in workflows