Skip to content

Commit 9358ff0

Browse files
authored
Add v0.1.3 changelog (#143)
* new: 0.1.3发行日志 * 新增输出指定时间范围内的贡献者名单的脚本 * 更新bootloader文档 * update: 简介文档 * new: 镜像站文档 * update: 功能特性文档
1 parent fd91905 commit 9358ff0

File tree

8 files changed

+540
-8
lines changed

8 files changed

+540
-8
lines changed

docs/community/ChangeLog/V0.1.x/V0.1.3.md

Lines changed: 468 additions & 0 deletions
Large diffs are not rendered by default.

docs/community/ChangeLog/index.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
.. toctree::
77
:maxdepth: 1
88

9+
V0.1.x/V0.1.3
910
V0.1.x/V0.1.2
1011
V0.1.x/V0.1.1
1112
V0.1.x/V0.1.0

docs/index.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212

1313
introduction/index
1414
introduction/build_system
15+
introduction/mirrors
1516

1617
.. toctree::
1718
:maxdepth: 1

docs/introduction/features.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@
4848
### IPC
4949

5050
- [x] 匿名pipe管道
51+
- [x] signal信号
5152

5253
### 文件系统
5354

@@ -119,3 +120,11 @@
119120
### 驱动程序
120121

121122
- [x] ps/2键盘用户态驱动
123+
124+
## 软件移植
125+
126+
- [x] GCC 11.3.0 (暂时只支持了x86_64的Cross Compiler)[https://github.com/DragonOS-Community/gcc](https://github.com/DragonOS-Community/gcc)
127+
- [x] binutils 2.38(暂时只支持了x86_64的Cross Compiler)[https://github.com/DragonOS-Community/binutils](https://github.com/DragonOS-Community/binutils)
128+
- [x] gmp 6.2.1 [https://github.com/DragonOS-Community/gmp-6.2.1](https://github.com/DragonOS-Community/gmp-6.2.1)
129+
- [x] mpfr 4.1.1 [https://github.com/DragonOS-Community/mpfr](https://github.com/DragonOS-Community/mpfr)
130+
- [x] mpc 1.2.1 [https://github.com/DragonOS-Community/mpc](https://github.com/DragonOS-Community/mpc)

docs/introduction/index.rst

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
DragonOS简介
22
====================================
33

4-
DragonOS龙操作系统(以下简称“DragonOS”)是一个基于x86-64体系结构开发的,基于GPLv2协议开放源代码的64位操作系统
4+
DragonOS龙操作系统(以下简称“DragonOS”)是一个面向服务器领域的,从0开发内核及用户态环境,并提供Linux兼容性的64位操作系统。它使用Rust与C语言进行编写,并正在逐步淘汰原有的C代码,以在将来提供更好的安全性与可靠性。
55

6+
DragonOS的目标是,构建一个完全独立自主的、开源的、高性能及高可靠性的服务器操作系统,为国家数字基础设施建设提供完全独立自主的底层核心动力。
7+
8+
作为一个社区驱动的开源操作系统,为了促进其发展,避免让其遭受一些不遵守开源协议的商业公司的侵权,我们决定使用GPLv2协议开放源代码,以严格的开源协议来保护DragonOS。
69

7-
810
你可能对DragonOS中已经实现了哪些功能感兴趣,您可以转到这里::ref:`功能特性 <_genreal_features>`
911

1012
.. toctree::

docs/introduction/mirrors.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# DragonOS镜像站
2+
3+
您可以从以下镜像站下载到DragonOS的源代码和其他文件:
4+
5+
- [DragonOS镜像站](https://mirrors.dragonos.org/)
6+
- [DragonOS国内镜像站 (RingoTek)](https://mirrors.RinGoTek.cn)

docs/kernel/boot/bootloader.md

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,16 @@
22

33
## 原理
44

5-
&emsp;&emsp;目前,DragonOS仅支持Legacy BIOS进行启动引导
5+
&emsp;&emsp;目前,DragonOS支持Legacy BIOS以及UEFI两种方式,进行启动引导
66

77
&emsp;&emsp;`head.S`的头部包含了Multiboot2引导头,里面标志了一些Multiboot2相关的特定信息,以及一些配置命令。
88

99
&emsp;&emsp;在DragonOS的启动初期,会存储由GRUB2传来的magic number以及multiboot2_boot_info_addr。当系统进入`Start_Kernel`函数之后,将会把这两个信息保存到multiboot2驱动程序之中。信息的具体含义请参照Multiboot2 Specification进行理解,该部分难度不大,相信读者经过思考能理解其中的原理。
1010

11-
## 未来发展方向
12-
13-
- 增加对UEFI启动的支持
14-
1511
## 参考资料
1612

1713
- [Multiboot2 Specification](http://git.savannah.gnu.org/cgit/grub.git/tree/doc/multiboot.texi?h=multiboot2)
1814

19-
- [GNU GRUB Manual 2.06](https://www.gnu.org/software/grub/manual/grub/grub.html)
15+
- [GNU GRUB Manual 2.06](https://www.gnu.org/software/grub/manual/grub/grub.html)
16+
17+
- [UEFI/Legacy启动 - yujianwu - DragonOS社区](https://bbs.dragonos.org/forum.php?mod=viewthread&tid=46)

tools/list_contributors.py

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# pip install gitpython
2+
import argparse
3+
import sys
4+
from git import Repo
5+
import os
6+
import json
7+
8+
parser = argparse.ArgumentParser(
9+
description='List contributors of DragonOS project')
10+
parser.add_argument('--since', type=str, help='Since date')
11+
parser.add_argument('--until', type=str, help='Until date')
12+
parser.add_argument('--mode', type=str, help='脚本的运行模式 可选:<all> 输出所有信息\n' +
13+
' <short> 输出贡献者名单、邮箱以及提交数量', default='all')
14+
args = parser.parse_args()
15+
16+
repo = Repo(os.path.dirname(os.path.realpath(__file__)) + "/..")
17+
18+
# Get the list of contributors
19+
20+
format = '--pretty={"commit":"%h", "author":"%an", "email":"%ae", "date":"%cd"}'
21+
22+
logs = repo.git.log(format, since=args.since, until=args.until)
23+
24+
25+
if args.mode == 'all':
26+
print(logs)
27+
elif args.mode == 'short':
28+
logs = logs.splitlines()
29+
print("指定时间范围内总共有", len(logs), "次提交")
30+
logs = [json.loads(line) for line in logs]
31+
print("贡献者名单:")
32+
33+
authors = dict()
34+
for line in logs:
35+
if line['email'] not in authors.keys():
36+
authors[line['email']] = {
37+
'author': line['author'],
38+
'email': line['email'],
39+
'count': 1
40+
}
41+
else:
42+
authors[line['email']]['count'] += 1
43+
44+
# 排序输出
45+
authors = sorted(authors.values(), key=lambda x: x['count'], reverse=True)
46+
for author in authors:
47+
print(author['author'], author['email'], author['count'])

0 commit comments

Comments
 (0)