• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# tee_tee_os_kernel #
2
3## Introduction ##
4
5OpenTrustee provides a Trusted Execution Environment (TEE) that runs in a secure area isolated by hardware. OpenTrustee is a complete TEE solution that includes multiple components. The system architecture is shown in the figure below:
6
7![](figures/overview-of-opentrustee.png)
8
9The tee_tee_os_kernel component mainly includes the kernel part of OpenTrustee, designed using a microkernel architecture.
10
11## The specific module introduction of tee_tee_os_kernel ##
12<table>
13<th> Name of module </th>
14<th> Introduction </th>
15<tr>
16<td> kernel/ipc </td><td> inter-process communication </td>
17</tr><tr>
18<td> kernel/irq </td><td> interrupt handling </td>
19</tr><tr>
20<td> kernel/mm </td><td> memory management </td>
21</tr><tr>
22<td> kernel/object </td><td> kernel object management </td>
23</tr><tr>
24<td> kernel/sched </td><td> thread scheduling </td>
25</tr><tr>
26<td> user/chcore-libs/sys-libs/libohtee </td><td> library functions that the framework depends on </td>
27</tr><tr>
28<td> user/system-services/system-servers/procmgr </td><td> process management </td>
29</tr><tr>
30<td> user/system-services/system-servers/fs_base </td><td> virtual file system </td>
31</tr><tr>
32<td> user/system-services/system-servers/fsm </td><td> file system management </td>
33</tr><tr>
34<td> user/system-services/system-servers/tmpfs </td><td> in-memory file system </td>
35</tr><tr>
36<td> user/system-services/system-servers/chanmgr </td><td> handle naming, indexing, and distribution of channels </td>
37</tr>
38
39
40</table>
41
42## tee_tee_os_kernel code directories ##
43```
44base/tee/tee_os_kernel
45├── kernel
46│   ├── arch
47│   ├── ipc
48│   ├── irq
49│   ├── lib
50│   ├── mm
51│   ├── object
52│   ├── sched
53│   └── syscall
54├── tool
55│   └── read_procmgr_elf_tool
56├── user/chcore-libs
57│   ├── sys-interfaces/chcore-internal
58│   └── sys-libs/libohtee
59└── user/system-services/system-servers
60    ├── chanmgr
61    ├── fs_base
62    ├── fsm
63    ├── procmgr
64    └── tmpfs
65```
66
67## tee_tee_os_kernel building guide ##
68
69The tee_tee_os_framework and tee_tee_os_kernel work together to build TEEOS, and the commands for building them separately are as follows:
70
71```Bash
72./build.sh --product-name rk3568 --build-target tee --ccache
73```
74
75Build the product as a TEEOS image:` base/tee/tee_os_kernel/kernel/bl32.bin`
76
77## Related code repositories ##
78
79[tee_os_framework](https://gitcode.com/openharmony-sig/tee_tee_os_framework)
80