Skip to content

Commit 42ec8d1

Browse files
authored
doc: V0.1.2发行日志 (#115)
1 parent 7a818da commit 42ec8d1

File tree

4 files changed

+326
-2
lines changed

4 files changed

+326
-2
lines changed

README.md

+1
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,7 @@
9191
### 个人赞赏者列表
9292

9393
- David Wen
94+
- [Seele.Clover](https://github.com/seeleclover)
9495
-
9596
- [TerryLeeSCUT · GitHub](https://github.com/TerryLeeSCUT)
9697
- slientbard

README_EN.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -74,13 +74,14 @@ We guarantee that all sponsorship funds and items will be used for:
7474

7575
### Sponsor List
7676

77-
**None**
77+
**Not yet**
7878

7979
We hope that in the future, some enterprises can sponsor DragonOS and inject financial power into its development!
8080

8181
### Individual Sponsor List
8282

8383
- David Wen
84+
- [Seele.Clover](https://github.com/seeleclover)
8485
-
8586
- [TerryLeeSCUT · GitHub](https://github.com/TerryLeeSCUT)
8687
- slientbard
+321
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,321 @@
1+
# V0.1.2
2+
3+
:::{note}
4+
本文作者:龙进 <[email protected]>
5+
6+
2022年12月17日
7+
:::
8+
9+
## 贡献者名单
10+
11+
DragonOS V0.1.2版本由以下小伙伴贡献代码:
12+
13+
14+
- 吴宇健 <[email protected]>
15+
- Gou Ngai <[email protected]>
16+
17+
- 王文聪 <[email protected]>
18+
19+
## 赞助者名单
20+
21+
感谢以下同学的赞赏,我们将不断努力!
22+
23+
- David Wen
24+
- [Seele.Clover](https://github.com/seeleclover)
25+
- TerryLeeSCUT
26+
-
27+
- slientbard
28+
29+
其中,非常感谢**Seele.Clover**给予DragonOS项目人民币500元的赞助与支持!我们对于每一笔赞助款项,将仔细登记,并确保其能被妥善的使用。
30+
31+
## 更新内容-内核
32+
33+
- 删除rust_helloworld文件 (#113)
34+
- Signal: 允许用户注册信号处理函数,能够进入自定义的handler。(#112)
35+
- 支持kill命令
36+
- 允许用户自定义信号处理函数
37+
- 新增2个系统调用:`SYS_SIGACTION` , `SYS_RT_SIGRETURN`
38+
- libc增加`signal()`,`sigaction()`函数。
39+
- 暂时只支持旧版的sighandler,即:只有1个参数的`void handler(int signum)`类型的信号处理函数。对于另一种信号处理函数`void handler(int signum, siginfo_t *info, void* data)`,尚不支持传递第三个参数。
40+
- 在内核代码中加入自定义的stdint.h文件 (#109)
41+
- 调整编译grub的脚本的部分 (#108)
42+
- 新增32、64位uefi启动 (#105)(#101)
43+
- 使用编译安装的grub-2.06,解决客户机上grub版本不对导致的编译无法运行的问题。
44+
- 增加了timekeeping模块 (#106)
45+
- bugfix: 修复rtc时钟对BCD码进行转换的时候,忘了处理day字段的问题 (#104)
46+
- new: 开发过程文档(完成了一半)
47+
- bootstrap.sh解决下载rust慢的问题
48+
- 更新“构建系统”文档
49+
- procfs->status增加显示preempt和虚拟运行时间 (#100)
50+
- ffz函数:获取u64中的第一个值为0的bit (#100)
51+
- 解决由于编译器优化导致local_irq_restore无法获取到正确的rflags的值的问题
52+
- 使用Rust重构串口驱动 (#99)
53+
54+
## 更新内容-用户环境
55+
56+
- about app: 显示当前构建的git commit sha1以及构建时间(#114)
57+
- shell: 修复shell的exec命令对绝对路径的拼接错误问题(#114)
58+
- shell: exec命令增加"&"后台运行选项 (#100)
59+
- new: 测试signal用的app
60+
- 将libc目录进行调整,加入cargo作为rust的包管理器
61+
62+
63+
## 源码、发布版镜像下载
64+
65+
&emsp;&emsp;您可以通过以下方式获得源代码:
66+
67+
### 通过Git获取
68+
69+
- 您可以访问[https://github.com/fslongjin/DragonOS/releases](https://github.com/fslongjin/DragonOS/releases)下载发布版的代码,以及编译好的,可运行的磁盘镜像。
70+
- 我们在gitee上也有镜像仓库可供下载:[https://gitee.com/DragonOS/DragonOS](https://gitee.com/DragonOS/DragonOS)
71+
72+
### 通过DragonOS软件镜像站获取
73+
74+
&emsp;&emsp;为解决国内访问GitHub慢、不稳定的问题,同时为了方便开发者们下载DragonOS的每个版本的代码,我们特意搭建了镜像站,您可以通过以下地址访问镜像站:
75+
76+
&emsp;&emsp;您可以通过镜像站获取到DragonOS的代码压缩包,以及编译好的可运行的磁盘镜像。
77+
78+
- [https://mirrors.DragonOS.org](https://mirrors.DragonOS.org)
79+
- [https://mirrors.DragonOS.org.cn](https://mirrors.DragonOS.org.cn)
80+
81+
82+
## 开放源代码声明
83+
84+
85+
:::{note}
86+
为促进DragonOS项目的健康发展,DragonOS以GPLv2开源协议进行发布。所有能获得到DragonOS源代码以及相应的软件制品(包括但不限于二进制副本、文档)的人,都能享有我们通过GPLv2协议授予您的权利,同时您也需要遵守协议中规定的义务。
87+
88+
这是一个相当严格的,保护开源软件健康发展,不被侵占的协议。
89+
90+
对于大部分的善意的人们而言,您不会违反我们的开源协议。
91+
92+
我们鼓励DragonOS的自由传播、推广,但是请确保所有行为没有侵犯他人的合法权益,也没有违反GPLv2协议。
93+
94+
请特别注意,对于违反开源协议的,尤其是**商业闭源使用以及任何剽窃、学术不端行为将会受到严肃的追责**。(这是最容易违反我们的开源协议的场景)。
95+
96+
并且,请注意,按照GPLv2协议的要求,基于DragonOS修改或二次开发的软件,必须同样采用GPLv2协议开源,并标明其基于DragonOS进行了修改。亦需保证这些修改版本的用户能方便的获取到DragonOS的原始版本。
97+
98+
您必须使得DragonOS的开发者们,能够以同样的方式,从公开渠道获取到您二次开发的版本的源代码,否则您将违反GPLv2协议。
99+
100+
关于协议详细内容,还敬请您请阅读项目根目录下的**LICENSE**文件。请注意,按照GPLv2协议的要求,**只有英文原版才具有法律效力**。任何翻译版本都仅供参考。
101+
:::
102+
103+
### 开源软件使用情况
104+
105+
&emsp;&emsp;DragonOS在开发的过程中,参考了一些开源项目的设计,或者引入了他们的部分代码,亦或是受到了他们的启发。现将他们列在下面。我们对这些开源项目的贡献者们致以最衷心的感谢!
106+
107+
格式:<项目名> - <链接> - <开源协议>
108+
109+
- Linux - https://git.kernel.org/ - GPLv2
110+
- skiftOS - https://github.com/skiftOS/skift - MIT
111+
- FYSOS - https://github.com/fysnet/FYSOS - [FYSOS' License](https://github.com/fysnet/FYSOS/blob/9a8968e3d6600de34539c028c843f4c06d134039/license.txt)
112+
- LemonOS - https://github.com/LemonOSProject/LemonOS.git - BSD 2-Clause License
113+
- LZ4 - https://github.com/lz4/lz4 - BSD 2-Clause license
114+
- SerenityOS - https://github.com/SerenityOS/serenity.git - BSD 2-Clause license
115+
- MINE - 《一个64位操作系统的设计与实现》田宇; 人民邮电出版社
116+
- chcore - 《现代操作系统:设计与实现》陈海波,夏虞斌; 机械工业出版社
117+
- SimpleKernel - https://github.com/Simple-XX/SimpleKernel - MIT
118+
119+
## 当前版本的所有提交记录
120+
121+
```text
122+
commit 7a818da88a1c7a1760de7671141b0ce1ca4e3dde
123+
Author: login <[email protected]>
124+
Date: Sat Dec 17 17:49:12 2022 +0800
125+
126+
Patch about auto gen version string (#114)
127+
128+
* new: about app中,显示当前构建的git commit sha1以及构建时间
129+
130+
* bugfix: 修复shell的exec命令对绝对路径的拼接错误问题
131+
132+
commit 83a7aaa46bbc411c43d4fc099c6c8884efbe4771
133+
Author: login <[email protected]>
134+
Date: Sat Dec 17 16:31:50 2022 +0800
135+
136+
删除rust_helloworld文件 (#113)
137+
138+
commit 6efd4740336205c9bfdd8b164e667cee2f38781e
139+
Author: login <[email protected]>
140+
Date: Sat Dec 17 16:27:50 2022 +0800
141+
142+
允许用户自定义信号处理函数 (#112)
143+
144+
* new: 用户注册信号处理函数,能够进入自定义的handler
145+
146+
* 修复忘了传信号的数字给用户的处理函数的bug
147+
148+
* new:sigreturn
149+
150+
* 删除注释
151+
152+
commit 0e0c187484281768391e131495f0655e40d70cf7
153+
Author: login <[email protected]>
154+
Date: Fri Dec 16 16:20:09 2022 +0800
155+
156+
在内核代码中加入自定义的stdint.h文件 (#109)
157+
158+
commit d02e6ea4112ad520aa4090ff73cdf592e14c0a82
159+
Author: login <[email protected]>
160+
Date: Wed Dec 14 20:01:55 2022 +0800
161+
162+
调整编译grub的脚本的部分 (#108)
163+
164+
1、bugfix: 修复编译grub的脚本的部分错误
165+
2、将grub下载源替换为tuna
166+
3、优化写入磁盘镜像的脚本
167+
4、将bios文件夹改名为legacy
168+
169+
commit 38b341b8aa671f75ac26d05059aa2e9a09e653b7
170+
Author: YJwu2023 <[email protected]>
171+
Date: Wed Dec 14 16:58:49 2022 +0800
172+
173+
新增32位uefi启动 (#105)
174+
175+
* 新增32位uefi启动
176+
177+
* 修复小bug
178+
179+
* 增加grub本地编译安装
180+
181+
* 增加本地grub编译安装脚本
182+
183+
* 修正小错误
184+
185+
* 修复空文件夹不上传的bug
186+
187+
commit 01876902fbf6ed43992cc7d153bd8c505cb5224b
188+
Author: Gou Ngai <[email protected]>
189+
Date: Wed Dec 14 15:13:54 2022 +0800
190+
191+
增加了timekeeping模块 (#106)
192+
193+
* 增加了timekeeping模块
194+
195+
* 格式化文档和细节更改
196+
197+
Co-authored-by: longjin <[email protected]>
198+
199+
commit 728aca308917a7d4d0ba10fe8174e9408d77a9a6
200+
Author: login <[email protected]>
201+
Date: Sun Dec 11 22:59:47 2022 +0800
202+
203+
bugfix: 修复rtc时钟对BCD码进行转换的时候,忘了处理day字段的问题 (#104)
204+
205+
commit 237e95c6ddce72d72ae7fedfeca412fab82b3622
206+
Author: wwc-15172310230 <[email protected]>
207+
Date: Sun Dec 11 22:22:10 2022 +0800
208+
209+
调整user下libs的libc目录结构 (#103)
210+
211+
* 调整user下libs的libc目录结构
212+
213+
* 修正.gitignore文件的问题
214+
215+
* 修复无法编译的问题
216+
217+
Co-authored-by: longjin <[email protected]>
218+
219+
commit 2291ffdece1dc5a703602f79f74df8a4854d215b
220+
Author: login <[email protected]>
221+
Date: Sun Dec 11 20:09:58 2022 +0800
222+
223+
文档更新 (#102)
224+
225+
* new: 开发过程文档(完成了一半)
226+
227+
* bootstrap.sh解决下载rust慢的问题
228+
229+
* 更新“构建系统”文档
230+
231+
commit 7f439c5ddbd2ecffc112149d16983975f523052c
232+
Author: YJwu2023 <[email protected]>
233+
Date: Fri Dec 9 16:08:54 2022 +0800
234+
235+
增加uefi启动 (#101)
236+
237+
* 增加uefi启动
238+
239+
* 修改脚本
240+
241+
* uefi修改
242+
243+
* 删除错误的注释
244+
245+
* 修正写入磁盘镜像的脚本
246+
247+
* 修改X86_64为x86_64
248+
249+
Co-authored-by: longjin <[email protected]>
250+
251+
commit 1a2eaa402f05f82aaeebe1e03824534a0a425d4d
252+
Author: login <[email protected]>
253+
Date: Thu Dec 8 22:59:51 2022 +0800
254+
255+
signal的处理(kill命令)以及一些其他的改进 (#100)
256+
257+
* 将entry.S中冗余的ret_from_syscall代码删除,改为jmp Restore_all
258+
259+
* new: 增加判断pt_regs是否来自用户态的函数
260+
261+
* new: rust的cli和sti封装
262+
263+
* 将原有的判断pt_regs是否来自用户态的代码,统一改为调用user_mode函数
264+
265+
* ffz函数:获取u64中的第一个值为0的bit
266+
267+
* spinlock增加 spinlock irq spin_unlock_irq
268+
269+
* 临时解决显示刷新线程迟迟不运行的问题
270+
271+
* 更改ffi_convert的生命周期标签
272+
273+
* new: 测试signal用的app
274+
275+
* 解决由于编译器优化导致local_irq_restore无法获取到正确的rflags的值的问题
276+
277+
* new: exec命令增加"&"后台运行选项
278+
279+
* procfs->status增加显示preempt和虚拟运行时间
280+
281+
* 更改引用计数的FFIBind2Rust trait中的生命周期标签
282+
283+
* new: signal处理(kill)
284+
285+
* 更正在review中发现的一些细节问题
286+
287+
commit f8b55f6d3fcbf152a1cb6d6fc722bf1607418b28
288+
Author: TingHuang <[email protected]>
289+
Date: Tue Dec 6 22:15:03 2022 +0800
290+
291+
Patch uart (#99)
292+
293+
* 添加UART驱动相关文件
294+
295+
* 添加驱动核心文件,将rust编写的驱动代码加入Package中
296+
297+
* 添加glib.h文件生成rust代码,添加uart驱动代码
298+
299+
* 添加串口发送及接收相关代码
300+
301+
* 添加字符串发送函数,未实现具体功能
302+
303+
* 为调用uart驱动的代码添加rust接口
304+
305+
* 添加字符串发送函数,修改C语言调用接口
306+
307+
* 添加rust串口驱动
308+
309+
* 添加uart.h头文件,将串口端口类型改为enum
310+
311+
* 添加注释,规范代码
312+
313+
commit 036acc52ce9d0fb9e7d92768ff74939a29c07f32
314+
Author: login <[email protected]>
315+
Date: Tue Nov 29 21:46:13 2022 +0800
316+
317+
将entry.S中冗余的ret_from_syscall代码删除,改为jmp Restore_all (#98)
318+
319+
* 将entry.S中冗余的ret_from_syscall代码删除,改为jmp Restore_all
320+
321+
```

docs/community/ChangeLog/index.rst

+2-1
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,6 @@
66
.. toctree::
77
:maxdepth: 1
88

9-
V0.1.x/V0.1.0
9+
V0.1.x/V0.1.2
1010
V0.1.x/V0.1.1
11+
V0.1.x/V0.1.0

0 commit comments

Comments
 (0)