diff --git a/translation-projects/README-optimization/optimized-README/G11N.README.en.md b/translation-projects/README-optimization/optimized-README/G11N.README.en.md new file mode 100644 index 0000000000000000000000000000000000000000..e7fd7033d1fec1d4cee747f3b88490e9d0f3a251 --- /dev/null +++ b/translation-projects/README-optimization/optimized-README/G11N.README.en.md @@ -0,0 +1,93 @@ + + +## What is G11N + +This is a place for open discussions, from anywhere in the world. Here you may find the latest industry insights and news, tech and globalization blogs, and learning materials regarding openEuler and its globalization process. + +We are dedicated to helping OS and tech buffs learn more about openEuler and OS trends, and we welcome anyone who is interested in our project to join the G11N SIG and share fun stuff together. + +## What we can provide + +### Industry insights + +To start with, members from this SIG will provide developers with up-to-date info and knowledge in the industry by translating carefully selected articles from major English tech websites and well-known research journals. + +### Tech and globalization blogs + +You can also find blogs in G11N. They are divided into the following two categories: Tech and Case Study. The tech blogs are written in English based on the Chinese outline provided by members of other SIGs while case studies are adapted from customer cases. + +### Learning materials + + To further support translation teams and help openEuler developers lower the barrier for contributions, the SIG will also open several columns regarding: + +- OS textbooks +- openEuler training materials +- Globalization principles +- Cultural taboos +- OS courses +- Standard localization processes +- Tips for website globalization tests + + + +## What you can do + +### Discuss with tech gurus + +In order to develop a more prosperous openEuler ecosystem, we also welcome suggestions on other sources of news, industry insights, and analyst reports. Please feel free to star, leave comments, or submit issues. + +### Share your knowledge + +If you are willing to share your own stories and ideas about openEuler, or tips on globalization, you can also contact the SIG members to submit your work. + +### Improve openEuler website + +Three language versions (Chinese, English, and Russian) are currently available for [openEuler official website](https://openeuler.org/en/). We are constantly optimizing its content to provide better user experience. You're welcomed to give suggestions to help us get better. + + + +## How to use + +If you are interested in providing your native language support in expanding openEuler global influence, please check for and join an existing translation team or create a new one. Please follow the *Translation Team Creation Guide* to file an application. New applications will be thoroughly considered before acceptance. + +In addition, feel free to join the SIG meeting and discuss the globalization insights with us. You can find the meeting minutes and all related materials in the *Documentation* folder. + +SIG meetings will be held regularly for knowledge sharing and Q&A. + +Stay tuned for more events! + +## Contributing + +### How to contribute (developer/translator) + + + +Contributions are welcomed, please [send an email to us](g11n@openeuler.org ) or [create a new issue]( https://gitee.com/openeuler/G11N) if you have new ideas on globalization. + +For details, see the [community contribution guidelines](https://github.com/freeCodeCamp/how-to-contribute-to-open-source). + +### Contributors + +judithsq + +liupengroc + +hcy1012 + +lshelen + +zwyopen2021 + +yanhuiling + +## Documents + +To be supplemented + +## Disclaimer + +To be supplemented + +## Links + +To be supplemented \ No newline at end of file diff --git a/translation-projects/README-optimization/optimized-README/anbox.README.en.md b/translation-projects/README-optimization/optimized-README/anbox.README.en.md new file mode 100644 index 0000000000000000000000000000000000000000..98061463c122b0725e500dc075b2bbdd6b8b5dba --- /dev/null +++ b/translation-projects/README-optimization/optimized-README/anbox.README.en.md @@ -0,0 +1,195 @@ +# Anbox + +This code repository is forked from https://github.com/anbox/anbox and +will be maintained under openEuler android middleware community.We aim +to run Anbox on Arm PC natively. + +Anbox is a container-based approach to boot a full Android system on a +regular GNU/Linux system like Ubuntu. In other words: Anbox will let +you run Android on your Linux system without the slowness of +virtualization. + +## Overview + +Anbox uses Linux namespaces (user, pid, uts, net, mount, ipc) to run a +full Android system in a container and provide Android applications on +any GNU/Linux-based platform. + +The Android inside the container has no direct access to any hardware. +All hardware access is going through the anbox daemon on the host. We're +reusing what Android implemented within the QEMU-based emulator for OpenGL ES accelerated rendering. The Android system inside the container uses +different pipes to communicate with the host system and sends all hardware +access commands through these. + +For more details have a look at the following documentation pages: + + * [Android Hardware OpenGL ES emulation design overview](https://android.googlesource.com/platform/external/qemu/+/emu-master-dev/android/android-emugl/DESIGN) + * [Android QEMU fast pipes](https://android.googlesource.com/platform/external/qemu/+/emu-master-dev/android/docs/ANDROID-QEMU-PIPE.TXT) + * [The Android "qemud" multiplexing daemon](https://android.googlesource.com/platform/external/qemu/+/emu-master-dev/android/docs/ANDROID-QEMUD.TXT) + * [Android qemud services](https://android.googlesource.com/platform/external/qemu/+/emu-master-dev/android/docs/ANDROID-QEMUD-SERVICES.TXT) + +Anbox is currently suited for the desktop use case but can be used on +mobile operating systems like Ubuntu Touch, Sailfish OS or Lune OS too. +However as the mapping of Android applications is currently desktop specific +this needs additional work to supported stacked window user interfaces too. + +The Android runtime environment ships with a minimal customized Android system image based on the [Android Open Source Project](https://source.android.com/). The used image is currently based on Android 7.1.1 + +## Supported Linux Distributions + +At the moment we officially support the following Linux distributions: + + * Ubuntu 16.04 (xenial) + * Ubuntu 18.04 (bionic) + * UOS + +However all other distributions should work as well as long as they provide the mandatory kernel modules (see kernel/). + + * [Release notes](docs/release-notes/anbox-release-notes.md) + + +## Build from source + +### Requirements + +It is recommended that the machine run on the ARM64 architecture. + +To build the Anbox runtime itself there is nothing special to know. We're using +cmake as build system. A few build dependencies need to be present on your host system: + + * libdbus + * google-mock + * google-test + * libboost + * libboost-filesystem + * libboost-log + * libboost-iostreams + * libboost-program-options + * libboost-system + * libboost-test + * libboost-thread + * libcap + * libsystemd + * mesa (libegl1, libgles2) + * libsdl2 + * libprotobuf + * protobuf-compiler + * lxc (>= 3.0) + * libasound + + +On an Ubuntu system you can install all build dependencies with the following +command: + +``` +$ sudo apt install build-essential cmake cmake-data debhelper dbus google-mock \ + libboost-dev libboost-filesystem-dev libboost-log-dev libboost-iostreams-dev \ + libboost-program-options-dev libboost-system-dev libboost-test-dev \ + libboost-thread-dev libcap-dev libsystemd-dev libegl1-mesa-dev \ + libgles2-mesa-dev libglm-dev libgtest-dev liblxc1 \ + libproperties-cpp-dev libprotobuf-dev libsdl2-dev libsdl2-image-dev lxc-dev \ + pkg-config protobuf-compiler libasound2-dev +``` +We recommend Ubuntu 18.04 (bionic) with **GCC 7.x** as your build environment. + +On an UOS system you can install all build dependencies with the following +command: + +``` +$ sudo apt install gcc libncurses-dev bison flex libssl-dev cmake dkms build-essential \ + cmake-data debhelper dbus google-mock libboost-dev libboost-filesystem-dev libboost-log-dev \ + libboost-iostreams-dev libboost-program-options-dev libboost-thread-dev libcap-dev \ + libsystemd-dev libegl1-mesa-dev libgles2-mesa-dev libglm-dev libgtest-dev liblxc1 \ + libproperties-cpp-dev libprotobuf-dev libsdl2-dev libsdl2-image-dev lxc-dev libdw-dev \ + libbfd-dev libdwarf-dev pkg-config protobuf-compiler libboost-test-dev +``` + +### Build + +``` +$ mkdir -p /home/compile/ +$ cd /home/compile/ +$ git clone https://gitee.com/openeuler/anbox +``` + + * [Apply SDL patch](docs/apply_SDL_patch.md) + * [Install binder & ashmem module](docs/kernel_module.md) + +Afterwards you can build Anbox with + +``` +$ cd /home/compile/anbox +$ mkdir build +$ cd build +$ cmake .. -DCMAKE_CXX_FLAGS="-DENABLE_TOUCH_INPUT -Wno-error=implicit-fallthrough \ + -Wno-error=missing-field-initializers" -DCMAKE_BUILD_TYPE=Release -DWerror=OFF +$ make -j8 + +``` + +If you want to choose a version, please do: + +``` +$ git clone https://gitee.com/openeuler/anbox -b anbox-v1.0-rc3 +``` + +The version anbox-v1.0-rc3 will update in the future, make sure it matches the version of AOSP(see build-android.md). + + +A simple + +``` +$ sudo make install +``` + +will install the necessary bits into your system. + +## Run Anbox + +Step1:start container manager,run the commands as the ROOT user and you must have a android.img. + +``` +$ bash /usr/local/bin/anbox-bridge.sh start +$ anbox container-manager --android-image=//android.img \ + --data-path=//anbox-data --privileged --daemon & + +``` + +Step2:start session manager,run the commands as the NON-ROOT user, +and run the shell terminal opened from desktop UI. + +``` +$ export EGL_PLATFORM=x11 +$ export EGL_LOG_LEVEL=fatal +$ anbox session-manager --gles-driver=host & + +``` + +Wait 30s, open Android APP in "other applications" in the app menu. + +## Documentation + +You will find additional documentation for Anbox in the *docs* subdirectory +of the project source. + +Interesting things to have a look at + + * [Runtime Setup](docs/runtime-setup.md) + +## Reporting bugs + +If you have found an issue with Anbox, please [file a bug](https://gitee.com/openeuler/anbox/issues). + +## Get in Touch + +Find maintainer here: +https://gitee.com/openeuler/community/tree/master/sig/sig-android-middleware + +## Copyright and Licensing + +Anbox reuses code from other projects like the Android QEMU emulator. These +projects are available in the external/ subdirectory with the licensing terms +included. + +The Anbox source itself, if not stated differently in the relevant source files, +is licensed under the terms of the GPLv3 license. \ No newline at end of file diff --git a/translation-projects/README-optimization/optimized-README/compass-ci.README.en.md b/translation-projects/README-optimization/optimized-README/compass-ci.README.en.md new file mode 100644 index 0000000000000000000000000000000000000000..422891ed846485b253eacaf31d12176ffb4f65a2 --- /dev/null +++ b/translation-projects/README-optimization/optimized-README/compass-ci.README.en.md @@ -0,0 +1,73 @@ +## Compass-CI + +### Overview + +Compass-CI is a software platform supporting continuous integration. It provides developers with a wide range of services for upstream open source software from hosting platforms, such as GitHub, Gitee, and GitLab. These services include test, login, fault demarcation, and historical data analytics. Compass-CI performs automated tests based on the open source software PR, including tests of build and cases provided by software packages. Compass-CI and projects submitted by developers form an open and complete test system. + +### Features + +**Test Service** + +Compass-CI monitors git repos of a large amount of open source software. Once Compass-CI detects code update, it automatically triggers [automated tests](https://gitee.com/wu_fengguang/compass-ci/blob/master/doc/features/test-service/test-oss-project.en.md), and developers can also [manually submit test jobs](https://gitee.com/wu_fengguang/compass-ci/blob/master/doc/job/submit/submit-job.en.md). + +**Login to testbox** + +The SSH is used to [log in to the test environment for commissioning](https://gitee.com/wu_fengguang/compass-ci/blob/master/doc/features/login-to-testbox/log-in-machine-debug.md). + +**Test Result Analysis** + +The historical test results are analyzed and compared using the Web interface. + +**Test Result Reproduction** + +All deterministic parameters for a test are recorded in the **job.yaml** file. You can submit the **job.yaml** file again to run the same test in the same hardware and software environments. + +**Error Locating** + +If a new error ID is generated, the bisect is automatically triggered to locate the commit of the error ID. + +## Getting Started + +**Performing an Automated Test** + +1. Add the URL of the repository to be tested to the [upstream-repos](https://gitee.com/wu_fengguang/upstream-repos.git), [compile test cases](https://gitee.com/wu_fengguang/lkp-tests/blob/master/doc/add-testcase.md), and [add them to the repository](https://gitee.com/wu_fengguang/lkp-tests). For details, see [this document](https://gitee.com/wu_fengguang/compass-ci/blob/master/doc//features/test-service/test-oss-project.en.md). + +2. Run the **git push** command to update the repository and automatically trigger the test. + +3. You can [view](https://gitee.com/wu_fengguang/compass-ci/blob/master/doc/result/browse-results.en.md) and [compare](https://gitee.com/wu_fengguang/compass-ci/blob/master/doc/result/compare-results.en.md) test results on the web page: https://compass-ci.openeuler.org/jobs + +**Manually Submitting a Test Task** + +1. [Install the Compass-CI client](https://gitee.com/wu_fengguang/compass-ci/blob/master/doc/install/install-cci-client.md). +2. [Compile test cases and manually submit test tasks](https://gitee.com/wu_fengguang/lkp-tests/blob/master/doc/add-testcase.md). +3. You can [view](https://gitee.com/wu_fengguang/compass-ci/blob/master/doc/result/browse-results.en.md) and [compare](https://gitee.com/wu_fengguang/compass-ci/blob/master/doc/result/compare-results.en.md) test results on the web page: https://compass-ci.openeuler.org/jobs + +**Logging in to testbox** + +1. Send an email to the compass-ci-robot@qq.com to [apply for an account](https://gitee.com/wu_fengguang/compass-ci/blob/master/doc/account/apply-account.md). +2. Complete the environment configuration. +3. Add the **sshd** field to the test task, submit the task, and [login to the testbox](https://gitee.com/wu_fengguang/compass-ci/blob/master/doc/features/login-to-testbox/log-in-machine-debug.md). + +## Contributing to Compass-CI + +We are glad to have new contributors and provide them with guidance. Compass-CI is a project developed using Ruby, and the project follows the [Ruby Code Style](https://ruby-china.org/wiki/coding-style). If you want to join the community and contribute to the Compass-CI project, [this page](https://gitee.com/wu_fengguang/compass-ci/blob/master/doc/help/learning-resources.md) will provide you with more information, including all the languages and tools used by Compass-CI. + +## Website + +All test results, the list of open source software that has been added to Compass-CI, and historical test result comparisons can be found on our [official website](https://compass-ci.openeuler.org). + +## Joining Us + +You can join us by + +- Joining our [mailing list](https://mailweb.openeuler.org/postorius/lists/compass-ci.openeuler.org/) + +Together, we can enhance the capabilities of + +- git bisect +- Data analytics +- Data analytics result visualization + +## Learn More + +[Learn More](./doc/) diff --git a/translation-projects/README-optimization/optimized-README/compass-ci.README.zh.md b/translation-projects/README-optimization/optimized-README/compass-ci.README.zh.md new file mode 100644 index 0000000000000000000000000000000000000000..fce5d0c94ebd02fa28e42afc31761da29556891c --- /dev/null +++ b/translation-projects/README-optimization/optimized-README/compass-ci.README.zh.md @@ -0,0 +1,219 @@ +## Compass-CI + + +### 关于 Compass-CI + +Compass-CI 是一个可持续集成的开源软件平台。为开发者提供针对上游开源软件(来自 Github, Gitee, Gitlab 等托管平台)的测试服务、登录服务、故障辅助定界服务和基于历史数据的分析服务。Compass-CI 基于开源软件 PR 进行自动化测试(包括构建测试,软件包自带用例测试等),构建一个开放、完整的测试系统。 + + +### 功能介绍 + +**测试服务** + +Compass-CI 监控很多开源软件的 git repos,一旦检测到代码更新,会自动触发[自动化测试](https://gitee.com/wu_fengguang/compass-ci/blob/master/doc/features/test-service/test-oss-project.zh.md),开发者也可以[手动提交测试](https://gitee.com/wu_fengguang/compass-ci/blob/master/doc/job/submit/submit-job.zh.md)。 + +**调测环境登录** + +使用 SSH [登录测试环境进行调测](https://gitee.com/wu_fengguang/compass-ci/blob/master/doc/features/login-to-testbox/log-in-machine-debug.md)。 + +**测试结果分析** + +通过 [Web](https://compass-ci.openeuler.org) 接口,对历史测试结果进行分析和比较。 + +**测试结果复现** + +一次测试运行的所有决定性参数会在 job.yaml 文件中保留完整记录。 +重新提交该 job.yaml 即可在一样的软硬件环境下,重跑同一测试。 + +**辅助定位** + +如果出现新的错误ID,就会自动触发bisect,定位引入该错误ID 的 commit。 + +## 入门指南 + +**自动化测试** + +1. 添加待测试仓库 URL 到 [upstream-repos](https://gitee.com/wu_fengguang/upstream-repos.git) 仓库,[编写测试用例](https://gitee.com/wu_fengguang/lkp-tests/blob/master/doc/add-testcase.md)并添加到 [lkp-tests](https://gitee.com/wu_fengguang/lkp-tests) 仓库, 详细流程请查看[这篇文档](https://gitee.com/wu_fengguang/compass-ci/blob/master/doc/features/test-service/test-oss-project.zh.md)。 + +2. 执行 git push 命令更新仓库,自动触发测试。 + +3. 在网页中[查看](https://gitee.com/wu_fengguang/compass-ci/blob/master/doc/result/browse-results.zh.md)和[比较](https://gitee.com/wu_fengguang/compass-ci/blob/master/doc/result/compare-results.zh.md)测试结果 web: https://compass-ci.openeuler.org/jobs + +**自动化测试示例** + +如何在 compass-ci 上自动化测试我的仓库 https://github.com/baskerville/backlight? +1. Fork upstream-repos 仓库(https://gitee.com/wu_fengguang/upstream-repos) 并 git clone 到本地 +2. 新建文件 b/backlight/backlight,内容为: + + ``` + --- + url: + - https://github.com/baskerville/backlight + ``` + +3. 添加测试用例 + + 测试用例可以自己编写并添加到 lkp-tests 仓库, + + 也可以直接使用 lkp-tests 仓库(https://gitee.com/wu_fengguang/lkp-tests )的 jobs 目录下已有的测试用例。 + + 在 backlight 文件所在目录增加 DEFAULTS 文件并添加配置信息 + + ``` + submit: + - command: testbox=vm-2p16g os=openeuler os_version=20.03 os_mount=cifs os_arch=aarch64 api-avx2neon.yaml + branches: + - master + - next + - command: testbox=vm-2p16g os=openeuler os_version=20.03 os_mount=cifs os_arch=aarch64 other-avx2neon.yaml + branches: + - branch_name_a + - branch_name_b + ``` + +4. 通过 Pull Request 命令将新增的文件提交到 upstream-repos 仓库 + +**手动提交测试任务** + +1. [安装 Compass-CI 客户端](https://gitee.com/wu_fengguang/compass-ci/blob/master/doc/install/install-cci-client.md)。 +2. [编写测试用例](https://gitee.com/wu_fengguang/lkp-tests/blob/master/doc/add-testcase.md), [手动提交测试任务](https://gitee.com/wu_fengguang/compass-ci/blob/master/doc/job/submit/submit-job.zh.md)。 +3. 在网页中[查看](https://gitee.com/wu_fengguang/compass-ci/blob/master/doc/result/browse-results.zh.md)和[比较](https://gitee.com/wu_fengguang/compass-ci/blob/master/doc/result/compare-results.zh.md)测试结果 web: https://compass-ci.openeuler.org/jobs + +**手动提交测试任务示例** + +如何向 compass-ci 提交一个测试任务? +1. 已经按照[本地安装compass-ci客户端](https://gitee.com/wu_fengguang/compass-ci/blob/master/doc/install/install-cci-client.md ) +完成安装 +2. 测试任务以 yaml 文件的方式提交,因此,您需要事先准备好测试任务的 yaml 文件 + + 可以直接使用 lkp-tests 仓库(https://gitee.com/wu_fengguang/lkp-tests )的 jobs 目录下已有的测试用例 + + 以 iperf.yaml 为例: + + ```yaml + suite: iperf + category: benchmark + + runtime: 300s + + cluster: cs-localhost + + if role server: + iperf-server: + + if role client: + iperf: + protocol: + - tcp + - udp + ``` + +3. 使用 submit 命令提交 iperf.yaml 测试任务 + + ```shell + hi8109@account-vm ~% submit iperf.yaml testbox=vm-2p8g + submit iperf.yaml, got job_id=z9.173924 + submit iperf.yaml, got job_id=z9.173925 + ``` + +**登录测试环境** + +1. 向 compass-ci-robot@qq.com 发送邮件[申请账号](https://gitee.com/wu_fengguang/compass-ci/blob/master/doc/account/apply-account.md)。 +2. 根据邮件反馈内容完成环境配置。 +3. 在测试任务中添加 sshd 字段,提交相应的任务,[登录测试环境](https://gitee.com/wu_fengguang/compass-ci/blob/master/doc/features/login-to-testbox/log-in-machine-debug.md)。 + +**登录测试环境示例** + +如果我提交的一个测试用例执行失败了,我想要登录到执行机内部进行调测该怎么操作? + +我的测试用例是 spinlock.yaml: + + ```yaml + suite: spinlock + category: benchmark + nr_threads: + - 1 + spinlock: + ``` + +1. 若想在运行 spinlock 测试脚本之前登录执行机,yaml 需要做如下更改: + + ```yaml + suite: spinlock + category: benchmark + nr_threads: + - 1 + + ssh_pub_key: <%= File.read("#{ENV['HOME']}/.ssh/id_rsa.pub").chomp rescue nil %> + sshd: + runtime: 1h + sleep: + + spinlock: + ``` + + ssh_pub_key: 用于将本地的 pub_key 携带上来,用于免密登录 + + sshd: 表示执行机需要运行 lkp-tests/damon/sshd 脚本,将会建立 sshr 反向隧道,用于 ssh 登录 + + runtime: 表示 sleep 的时间 + + sleep: 放在 spinlock 前面,表示先执行 sleep,sleep 1h 之后再执行 spinlock 脚本 + +2. 若想在 spinlock 测试失败之后登录执行机,yaml 需要做如下更改: + + ```yaml + suite: spinlock + category: benchmark + nr_threads: + - 1 + spinlock: + + on_fail: + sshd: + sleep: 1h + ``` + + on_fail: 将在测试用例执行失败之后运行 + +3. 使用 submit -m -c spinlock.yaml 提交修改后的 yaml 文件 + + 机器建立好 sshd 隧道之后会自动连接登录执行机 + + ```shell + hi8109@account-vm ~% submit -m -c spinlock.yaml + submit_id=6f2d11df-2198-41e9-a0e6-6aa67f9b46e2 + submit spinlock.yaml, got job id=z9.10155176 + query=>{"job_id":["z9.10155176"]} + connect to ws://api.compass-ci.openeuler.org:20001/filter + {"level_num":2,"level":"INFO","time":"2021-09-17T17:21:03.436+0800","from":"172.17.0.1:40014","message":"access_record","status_code":200,"method":"GET","resource":"/job_initrd_tmpfs/z9.10155176/job.cgz","job_id":"z9.10155176","job_state":"download","api":"job_initrd_tmpfs","elapsed_time":0.465723,"elapsed":"465.72µs"} + + The dc-8g testbox is starting. Please wait about 30 seconds + {"level_num":2,"level":"INFO","time":"2021-09-17T17:21:08+0800","mac":"02-42-ac-11-00-03","ip":"","job_id":"z9.10155176","state":"running","testbox":"dc-8g.taishan200-2280-2s48p-256g--a67-14","status_code":200,"method":"GET","resource":"/~lkp/cgi-bin/lkp-wtmp?tbox_name=dc-8g.taishan200-2280-2s48p-256g--a67-14&tbox_state=running&mac=02-42-ac-11-00-03&ip=&job_id=z9.10155176","api":"lkp-wtmp","elapsed_time":19.024787,"elapsed":"19.02ms"} + {"level_num":2,"level":"INFO","time":"2021-09-17T17:21:12.622+0800","from":"172.17.0.1:42838","message":"access_record","status_code":200,"method":"GET","resource":"/~lkp/cgi-bin/lkp-jobfile-append-var?job_file=/lkp/scheduled/job.yaml&job_id=z9.10155176&job_state=running","job_id":"z9.10155176","api":"lkp-jobfile-append-var","elapsed_time":74.76464,"elapsed":"74.76ms","job_state":"running","job_stage":"running"} + {"level_num":2,"level":"INFO","time":"2021-09-17T17:21:12.982+0800","tbox_name":"dc-8g.taishan200-2280-2s48p-256g--a67-14","job_id":"z9.10155176","ssh_port":"21063","message":"","state":"set ssh port","status_code":200,"method":"POST","resource":"/~lkp/cgi-bin/report_ssh_info","api":"report_ssh_info","elapsed_time":0.414042,"elapsed":"414.04µs"} + ssh root@172.168.131.2 -p 21063 -o StrictHostKeyChecking=no -o LogLevel=error + root@dc-8g.compass-ci.net ~# + ``` + +## 参会贡献 Compass-CI + +我们非常欢迎有新的贡献者,我们也很乐意为我们的贡献者提供一些指导,Compass-CI 主要是使用 Ruby 开发的一个项目,我们遵循 [Ruby 社区代码风格](https://ruby-china.org/wiki/coding-style)。如果您想参与社区并为 Compass-CI 项目做出贡献,[这个页面](https://gitee.com/wu_fengguang/compass-ci/blob/master/doc/help/learning-resources.md)将会提供给您更多信息,包括 Compass-CI 所使用的所有语言和工具等。 + +## 网站 + +所有的测试结果,已加入 Compass-CI 平台的开源软件清单,历史测试结果比较都可以在我们的官网 [Website](https://compass-ci.openeuler.org) 上找到。 + +## 加入我们 + +您可以通过以下的方式加入我们: + - 您可以加入我们的 [邮件列表](https://mailweb.openeuler.org/postorius/lists/compass-ci.openeuler.org/) + +欢迎您跟我们一起: + - 提高 git bisect 能力 + - 提高数据分析能力 + - 提高数据结果可视化能力 + +## 了解更多 + +[了解更多](./doc/) diff --git a/translation-projects/README-optimization/translated-README/G11N.README.ch.md b/translation-projects/README-optimization/translated-README/G11N.README.ch.md new file mode 100644 index 0000000000000000000000000000000000000000..f0ad3981e96b90837637d3b33267bf500a54e4a9 --- /dev/null +++ b/translation-projects/README-optimization/translated-README/G11N.README.ch.md @@ -0,0 +1,89 @@ + + +## 什么是G11N? + +这是一个可以在世界任何地方进行公开讨论的地方。在这里,您可以找到有关欧拉开源、及其全球化进程的最新行业见解和新闻、技术分享、全球化博客以及学习材料。 + +我们致力于帮助对操作系统和技术有着强烈爱好的人更好地了解欧拉开源和操作系统发展趋势,我们欢迎任何对我们的项目感兴趣的人加入G11N SIG,并一起分享有趣的东西。 + +## 我们可以提供什么? + +### 行业见解 + +首先,该 SIG 的成员将翻译主流英语技术网站和知名研究期刊精心挑选的文章,为开发人员提供行业的最新信息和知识。 + +### 技术与全球化的博客 + +您还可以在 G11N 中查找博客,分为以下两类:技术和案例研究。技术博客是根据其他 SIG 成员提供的中文大纲以英文撰写的,而案例研究则是根据客户案例改编的。 + +### 学习资料 + +为了进一步支持翻译团队,并帮助欧拉开源的开发者降低贡献门槛,SIG 还将开设以下几个专栏: + +- 操作系统教科书 +- 欧拉开源训练材料 +- 全球化准则 +- 文化禁忌 +- 操作系统课程 +- 标准本地化流程 +- 网站全球化测试技巧 + + + +## 你能做什么? + +### 与技术大牛交流讨论 + +为了使欧拉开源生态系统繁荣发展,我们也欢迎您对其他新闻来源、行业见解和分析师报告提出建议。请随意加星标、发表评论或提交问题。 + +### 分享您的知识 + +如果你愿意分享你自己关于欧拉开源的故事和想法,或者全球化的小窍门,你也可以联系SIG成员提交你的工作。 + +### 改进欧拉开源网站 + +[欧拉开源官网](https://openeuler.org/en/)目前提供中文、英文、俄文三种语言版本。我们正在不断优化其内容,以提供更好的用户体验。 欢迎您提出建议以帮助我们变得更好。 + +## 如何使用? + +如果您有兴趣提供您的母语支持以扩大欧拉开源全球影响力,请查看并加入现有的翻译团队或创建一个新的翻译团队。 请按照《翻译团队创建指南》提交申请。新申请将会仔细考查。 + +此外,欢迎加入 SIG 会议,与我们讨论全球化的见解。 您可以在《文档说明》文件夹中找到会议纪要和所有相关材料。 + +SIG 会议将定期举行,以进行知识共享和问答。 + +更多活动敬请期待! + +## 贡献 + +### 如何贡献(开发者/翻译者) + +欢迎投稿,如果您对全球化有新的想法,请[发送电子邮件给我们](g11n@openeuler.org) 或[创建一个issue](https://gitee.com/openeuler/G11N)。 + + 详情见【社区贡献指南】(https://github.com/freeCodeCamp/how-to-contribute-to-open-source)。 + +### 贡献者 + +judithsq + +liupengroc + +hcy1012 + +lshelen + +zwyopen2021 + +yanhuiling + +## 文件说明 + +待补充 + +## 免责声明 + +待补充 + +## 链接 + +待补充 \ No newline at end of file diff --git a/translation-projects/README-optimization/translated-README/anbox.README.ch.md b/translation-projects/README-optimization/translated-README/anbox.README.ch.md new file mode 100644 index 0000000000000000000000000000000000000000..b27f572728cd8e972ee445c43793ef55a2466951 --- /dev/null +++ b/translation-projects/README-optimization/translated-README/anbox.README.ch.md @@ -0,0 +1,177 @@ +# Anbox + +此代码仓是从https://github.com/anbox/anbox链接中克隆而成的,并将在欧拉开源社区安卓中间件下进行维护。我们致力于在本地Arm PC上运行Anbox。 + +Anbox采用基于容器的方式,在 Ubuntu 等常规 GNU/Linux操作系统上启用完整的安卓系统。换言之:Anbox可以让您在Linux操作系统中运行安卓系统,并且不像虚拟化那样缓慢。 + +## 产品概述 + +Anbox使用Linux namespaces技术在容器中运行完整的安卓系统,如user、pid、uts、net、mount、ipc,并在任何基于 GNU/Linux 操作系统上提供安卓应用程序。 + +容器内的安卓端无法直接访问任何硬件。所有硬件都是通过主机上的 anbox daemon程序进行访问。我们正在重新利用安卓端在基于 QEMU 的模拟器中实现的 OpenGL ES 加速渲染。容器内的安卓系统使用不同的管道与主机系统进行通信,并通过这些管道发送所有硬件访问命令。 + +您可以查看以下文件了解更多 + + * [Android Hardware OpenGL ES 仿真设计概述](https://android.googlesource.com/platform/external/qemu/+/emu-master-dev/android/android-emugl/DESIGN) + * [Android QEMU 高速管道](https://android.googlesource.com/platform/external/qemu/+/emu-master-dev/android/docs/ANDROID-QEMU-PIPE.TXT) + * [The Android "qemud" 复用守护](https://android.googlesource.com/platform/external/qemu/+/emu-master-dev/android/docs/ANDROID-QEMUD.TXT) + * [Android qemud 服务](https://android.googlesource.com/platform/external/qemu/+/emu-master-dev/android/docs/ANDROID-QEMUD-SERVICES.TXT) + +Anbox 目前适用于电脑桌面,但也可用于移动操作系统,如 Ubuntu Touch、Sailfish OS 或 Lune OS。然而,由于安卓应用程序的映射目前是特定于桌面的,因此也需要对支持的堆叠窗口用户界面进行补充操作。 + +安卓运行时环境附带基于 [安卓开源项目](https://source.android.com/) 的最小定制安卓系统映像。 + +使用的图片目前基于Android 7.1.1版本。 + +## 支持的Linux发行版本 + +目前我们正式提供以下Linux发行版本: + + * Ubuntu 16.04 (xenial) + * Ubuntu 18.04 (bionic) + * UOS + +其他发行版只要提供必需的内核模块就能正常工作(请参阅内核参数)。 + + * [发行说明](docs/release-notes/anbox-release-notes.md) + + +## 从源代码构建 + +### 要求 + +建议在ARM64架构上运行。 + +构建Anbox运行时本身无需多言。我们使用Cmake编译工具作为构建系统。您的主机系统上需要以下构建依赖项: + + * libdbus + * google-mock + * google-test + * libboost + * libboost-filesystem + * libboost-log + * libboost-iostreams + * libboost-program-options + * libboost-system + * libboost-test + * libboost-thread + * libcap + * libsystemd + * mesa (libegl1, libgles2) + * libsdl2 + * libprotobuf + * protobuf-compiler + * lxc (>= 3.0) + * libasound + +在 Ubuntu 系统上,您可以使用以下命令安装所有构建依赖项: + +``` +$ sudo apt install build-essential cmake cmake-data debhelper dbus google-mock \ + libboost-dev libboost-filesystem-dev libboost-log-dev libboost-iostreams-dev \ + libboost-program-options-dev libboost-system-dev libboost-test-dev \ + libboost-thread-dev libcap-dev libsystemd-dev libegl1-mesa-dev \ + libgles2-mesa-dev libglm-dev libgtest-dev liblxc1 \ + libproperties-cpp-dev libprotobuf-dev libsdl2-dev libsdl2-image-dev lxc-dev \ + pkg-config protobuf-compiler libasound2-dev +``` +建议您使用Ubuntu 18.04(仿生)和 **GCC 7.x**作为构建环境。 + +在 UOS 系统上,您可以使用以下命令安装所有构建依赖项: + +``` +$ sudo apt install gcc libncurses-dev bison flex libssl-dev cmake dkms build-essential \ + cmake-data debhelper dbus google-mock libboost-dev libboost-filesystem-dev libboost-log-dev \ + libboost-iostreams-dev libboost-program-options-dev libboost-thread-dev libcap-dev \ + libsystemd-dev libegl1-mesa-dev libgles2-mesa-dev libglm-dev libgtest-dev liblxc1 \ + libproperties-cpp-dev libprotobuf-dev libsdl2-dev libsdl2-image-dev lxc-dev libdw-dev \ + libbfd-dev libdwarf-dev pkg-config protobuf-compiler libboost-test-dev +``` + +### 构建 + +``` +$ mkdir -p /home/compile/ +$ cd /home/compile/ +$ git clone https://gitee.com/openeuler/anbox +``` + + * [应用SDL补丁](docs/apply_SDL_patch.md) + * [安装binder & ashmem 模块](docs/kernel_module.md) + +之后,您可以使用以下命令构建 Anbox: + +``` +$ cd /home/compile/anbox +$ mkdir build +$ cd build +$ cmake .. -DCMAKE_CXX_FLAGS="-DENABLE_TOUCH_INPUT -Wno-error=implicit-fallthrough \ + -Wno-error=missing-field-initializers" -DCMAKE_BUILD_TYPE=Release -DWerror=OFF +$ make -j8 + +``` + +如果您要选择版本,请执行以下操作: + +``` +$ git clone https://gitee.com/openeuler/anbox -b anbox-v1.0-rc3 +``` + +anbox-v1.0-rc3 版本会在以后更新,请确保它与 AOSP 的版本匹配(请参阅 build-android.md。 + +示例 + +``` +$ sudo make install +``` + +在您的系统上安装正确的位数。 + +## 运行Anbox + +步骤1:启动容器管理器,以ROOT用户运行命令,你必须有一个android.img。 + +``` +$ bash /usr/local/bin/anbox-bridge.sh start +$ anbox container-manager --android-image=//android.img \ + --data-path=//anbox-data --privileged --daemon & + +``` + +步骤2:启动会话管理器,以非ROOT用户运行命令,并运行从桌面用户界面打开的shell终端。 + +``` +$ export EGL_PLATFORM=x11 +$ export EGL_LOG_LEVEL=fatal +$ anbox session-manager --gles-driver=host & + +``` + +等待30s,在应用栏中的“其他应用”中打开安卓APP。 + +## 说明 + +您将在项目源的 *docs* 子目录中找到 Anbox 的其他文档。 + +其他说明可查看: + + * [运行时设置](docs/runtime-setup.md) + +## 漏洞报告 + +如果您发现 Anbox出现问题,请[提交错误](https://gitee.com/openeuler/anbox/issues)。 + +## 保持联系 + +寻找维护者: + +https://gitee.com/openeuler/community/tree/master/sig/sig-android-middleware + +## 版权和许可 + +Anbox 重复使用了来自其他项目(如 Android QEMU 模拟器)的代码。这些项目位于 + +external/ 子目录中,其中包含许可条款。 + +Anbox 源本身,如果在相关源文件中没有不同说明,则根据 GPLv3 许可条款获得许可。 +