提交 bb9de5a6 编写于 作者: D duangavin123

Merge branch 'master' of https://gitee.com/duangavin123/docs

merge
......@@ -48,7 +48,7 @@ This document describes how to acquire OpenHarmony source code and provides its
1. Register your account with Gitee.
2. Register an SSH public key for access to Gitee.
3. Install the [git client](http://git-scm.com/book/zh/v2/%E8%B5%B7%E6%AD%A5-%E5%AE%89%E8%A3%85-Git) and [git-lfs](https://gitee.com/vcs-all-in-one/git-lfs?_from=gitee_search#downloading), and configure basic user information.
3. Install the [git client](http://git-scm.com/book/en/v2) and [git-lfs](https://gitee.com/vcs-all-in-one/git-lfs?_from=gitee_search#downloading), and configure basic user information.
```
git config --global user.name "yourname"
......
......@@ -10,7 +10,6 @@
- [2. Building the Kernel](#section182mcpsimp)
- [3. Verifying the Porting](#section207mcpsimp)
- [用户态启动引导](#section20665151016586)
- [Porting the HDF Driver](#section210mcpsimp)
- [1. LCD](#section212mcpsimp)
- [2. Touchscreen](#section229mcpsimp)
......@@ -147,33 +146,6 @@ The expected build result is as follows:
Now start build, and check whether the kernel image is generated as expected.
## 用户态启动引导<a name="section20665151016586"></a>
1. 用户态进程启动引导总览。
![](figure/overview-of-use-mode-process-startup.png)
系统上电加载内核后,按照以下流程完成系统各个服务和应用的启动:
1. 内核启动init进程,一般在bootloader启动内核时通过设置内核的cmdline来指定init的位置;如上图所示的"init=/init root/dev/xxx"。
2. 2init进程启动后,会挂载tmpfs,procfs,创建基本的dev设备节点,提供最基本的根文件系统。
3. init继续启动ueventd监听内核热插拔事件,为这些设备创建dev设备节点;包括block设备各个分区设备都是通过此事件创建。
4. init进程挂载block设备各个分区(system,vendor),开始扫描各个系统服务的init启动脚本,并拉起各个SA服务。
5. samgr是各个SA的服务注册中心,每个SA启动时,都需要向samgr注册,每个SA会分配一个ID,应用可以通过该ID访问SA。
6. foundation是一个特殊的SA服务进程,提供了用户程序管理框架及基础服务;由该进程负责应用的生命周期管理。
7. 由于应用都需要加载JS的运行环境,涉及大量准备工作,因此appspawn作为应用的孵化器,在接收到foundation里的应用启动请求时,可以直接孵化出应用进程,减少应用启动时间。
2. init。
init启动引导组件配置文件包含了所有需要由init进程启动的系统关键服务的服务名、可执行文件路径、权限和其他信息。每个系统服务各自安装其启动脚本到/system/etc/init目录下。
新芯片平台移植时,平台相关的初始化配置需要增加平台相关的初始化配置文件/vendor/etc/init/init.\{hardware\}.cfg;该文件完成平台相关的初始化设置,如安装ko驱动,设置平台相关的/proc节点信息。
init相关进程代码在//base/startup/init\_lite目录下,该进程是系统第一个进程,无其它依赖。
初始化配置文件具体的开发指导请参考 [init启动引导组件](../subsystems/subsys-boot-init.md)。
## Porting the HDF Driver<a name="section210mcpsimp"></a>
### 1. LCD<a name="section212mcpsimp"></a>
......
......@@ -61,13 +61,13 @@ repo forall -c 'git lfs pull'
1. Obtain the Docker image.
```
docker pull swr.cn-south-1.myhuaweicloud.com/openharmony-docker/openharmony-docker-standard:0.0.2
docker pull swr.cn-south-1.myhuaweicloud.com/openharmony-docker/openharmony-docker-standard:0.0.3
```
2. Go to the root directory of OpenHarmony code and run the following command to access the Docker build environment:
```
docker run -it -v $(pwd):/home/openharmony swr.cn-south-1.myhuaweicloud.com/openharmony-docker/openharmony-docker-standard:0.0.2
docker run -it -v $(pwd):/home/openharmony swr.cn-south-1.myhuaweicloud.com/openharmony-docker/openharmony-docker-standard:0.0.3
```
......@@ -89,7 +89,7 @@ repo forall -c 'git lfs pull'
3. Go to the root directory of OpenHarmony code and run the following command to access the Docker build environment:
```
docker run -it -v $(pwd):/home/openharmony openharmony-docker-standard:0.0.2
docker run -it -v $(pwd):/home/openharmony openharmony-docker-standard:0.0.3
```
......
......@@ -27,8 +27,8 @@ This project stores OpenHarmony documentation, including the quick start guide,
- [Third-Party Library Porting Guide](device-dev/porting/porting-thirdparty.md)
- **bundles**:
- [Development Specifications](device-dev/bundles/bundles-standard-rules.md)
- [Development Guidelines](device-dev/bundles/bundles-guide.md)
- [HPM Bundle Development Specifications](device-dev/bundles/bundles-standard-rules.md)
- [HPM Bundle Development Guidelines](device-dev/bundles/bundles-guide.md)
- [HPM User Guide](device-dev/bundles/bundles-demo.md)
- Standard System Development Guidelines \(Reference Memory ≥ 128 MB\)
......@@ -48,12 +48,11 @@ This project stores OpenHarmony documentation, including the quick start guide,
- **porting**:
- [Third-Party Library Porting Guide](device-dev/porting/porting-thirdparty.md)
- [Standard System SoC Porting Guide](device-dev/porting/standard-system-porting-guide.md)
- **bundles**:
- [Development Specifications](device-dev/bundles/bundles-standard-rules.md)
- [Development Guidelines](device-dev/bundles/bundles-guide.md)
- [HPM Bundle Development Specifications](device-dev/bundles/bundles-standard-rules.md)
- [HPM Bundle Development Guidelines](device-dev/bundles/bundles-guide.md)
- [HPM User Guide](device-dev/bundles/bundles-demo.md)
......
......@@ -10,7 +10,6 @@
- [2. 编译内核](#section182mcpsimp)
- [3. 移植验证](#section207mcpsimp)
- [用户态启动引导](#section20665151016586)
- [HDF驱动移植](#section210mcpsimp)
- [1. LCD](#section212mcpsimp)
- [2. 触摸屏](#section229mcpsimp)
......@@ -147,33 +146,6 @@ BUILD.gn是subsystem构建的唯一入口。
启动编译,验证预期的kernel镜像是否成功生成。
## 用户态启动引导<a name="section20665151016586"></a>
1. 用户态进程启动引导总览。
![](figure/overview-of-use-mode-process-startup.png)
系统上电加载内核后,按照以下流程完成系统各个服务和应用的启动:
1. 内核启动init进程,一般在bootloader启动内核时通过设置内核的cmdline来指定init的位置;如上图所示的"init=/init root/dev/xxx"。
2. 2init进程启动后,会挂载tmpfs,procfs,创建基本的dev设备节点,提供最基本的根文件系统。
3. init继续启动ueventd监听内核热插拔事件,为这些设备创建dev设备节点;包括block设备各个分区设备都是通过此事件创建。
4. init进程挂载block设备各个分区(system,vendor),开始扫描各个系统服务的init启动脚本,并拉起各个SA服务。
5. samgr是各个SA的服务注册中心,每个SA启动时,都需要向samgr注册,每个SA会分配一个ID,应用可以通过该ID访问SA。
6. foundation是一个特殊的SA服务进程,提供了用户程序管理框架及基础服务;由该进程负责应用的生命周期管理。
7. 由于应用都需要加载JS的运行环境,涉及大量准备工作,因此appspawn作为应用的孵化器,在接收到foundation里的应用启动请求时,可以直接孵化出应用进程,减少应用启动时间。
2. init。
init启动引导组件配置文件包含了所有需要由init进程启动的系统关键服务的服务名、可执行文件路径、权限和其他信息。每个系统服务各自安装其启动脚本到/system/etc/init目录下。
新芯片平台移植时,平台相关的初始化配置需要增加平台相关的初始化配置文件/vendor/etc/init/init.\{hardware\}.cfg;该文件完成平台相关的初始化设置,如安装ko驱动,设置平台相关的/proc节点信息。
init相关进程代码在//base/startup/init\_lite目录下,该进程是系统第一个进程,无其它依赖。
初始化配置文件具体的开发指导请参考 [init启动引导组件](../subsystems/subsys-boot-init.md)。
## HDF驱动移植<a name="section210mcpsimp"></a>
### 1. LCD<a name="section212mcpsimp"></a>
......
......@@ -61,13 +61,13 @@ repo forall -c 'git lfs pull'
1. 获取Docker镜像。
```
docker pull swr.cn-south-1.myhuaweicloud.com/openharmony-docker/openharmony-docker-standard:0.0.2
docker pull swr.cn-south-1.myhuaweicloud.com/openharmony-docker/openharmony-docker-standard:0.0.3
```
2. 进入OpenHarmony代码根目录执行如下命令,从而进入Docker构建环境。
```
docker run -it -v $(pwd):/home/openharmony swr.cn-south-1.myhuaweicloud.com/openharmony-docker/openharmony-docker-standard:0.0.2
docker run -it -v $(pwd):/home/openharmony swr.cn-south-1.myhuaweicloud.com/openharmony-docker/openharmony-docker-standard:0.0.3
```
......@@ -89,7 +89,7 @@ repo forall -c 'git lfs pull'
3. 进入OpenHarmony代码根目录执行如下命令,从而进入Docker构建环境。
```
docker run -it -v $(pwd):/home/openharmony openharmony-docker-standard:0.0.2
docker run -it -v $(pwd):/home/openharmony openharmony-docker-standard:0.0.3
```
......
......@@ -26,10 +26,10 @@
- [轻量系统芯片移植指导](device-dev/porting/porting-minichip.md)
- [小型系统芯片移植指导](device-dev/porting/porting-smallchip.md)
- bundles:Bundle开发
- [Bundle开发规范](device-dev/bundles/oem_bundle_standard_des.md)
- [Bundle开发指南](device-dev/bundles/bundles-guide.md)
- [Bundle开发示例](device-dev/bundles/bundles-demo.md)
- bundles:HPM Bundle开发
- [HPM Bundle开发规范](device-dev/bundles/oem_bundle_standard_des.md)
- [HPM Bundle开发指南](device-dev/bundles/bundles-guide.md)
- [HPM Bundle开发示例](device-dev/bundles/bundles-demo.md)
- 标准系统开发指导(参考内存≥128MB)
- 设备开发
......@@ -47,13 +47,12 @@
- [外设驱动](device-dev/guide/device-outerdriver-demo.md)
- porting:移植适配
- [三方库移植指导](device-dev/porting/porting-thirdparty.md)
- [标准系统芯片移植指导](device-dev/porting/standard-system-porting-guide.md)
- bundles:Bundle开发
- [Bundle开发规范](device-dev/bundles/oem_bundle_standard_des.md)
- [Bundle开发指南](device-dev/bundles/bundles-guide.md)
- [Bundle开发示例](device-dev/bundles/bundles-demo.md)
- bundles:HPM Bundle开发
- [HPM Bundle开发规范](device-dev/bundles/oem_bundle_standard_des.md)
- [HPM Bundle开发指南](device-dev/bundles/bundles-guide.md)
- [HPM Bundle开发示例](device-dev/bundles/bundles-demo.md)
- 应用开发
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册