100 Commits

Author SHA1 Message Date
login
cde5492f72
新增网络socket的系统调用接口 (#247)
1.修复spinlock忘记恢复rflags的问题
2.WaitQueue增加wakeup_all的功能
3.完善tcp,udp,raw socket
4.把PollStatus结构体改为使用bitflags
5.新增iovec结构体
6.完成网络的系统调用
7.在bootstrap里面添加dnsmasq bridge-utils iptables

---------

Co-authored-by: guanjinquan <1666320330@qq.com>
2023-04-19 18:05:02 +08:00
HoshuChiu
7149abaa49
修复Issue#220;vnc的端口号恢复5900 (#243)
* 修复Issue#220

* qemu-vnc端口号恢复为5900
2023-04-16 14:47:51 +08:00
YJwu2023
5c1e552cc7
修复ecam无法获取MCFG table的问题 (#241) 2023-04-14 12:21:08 +08:00
login
13776c114b
增加对dhcpv4的支持(tcp、udp socket已写好,但由于缺少epoll机制,尚未完整测试) (#237)
* 为virtio网卡完成smoltcp的phy层配置

* raw socket

* 初步写完udp和tcp socket

* 能够正常通过dhcp获取ipv4地址(具有全局iface btree)

---------

Co-authored-by: guanjinquan <1666320330@qq.com>
2023-04-10 20:22:39 +08:00
login
52ab5d904e
V0.1.6发行日志&更新构建系统文档 (#225)
1.更新构建系统文档
2.V0.1.6发行日志
2023-04-02 18:52:00 +08:00
HoshuChiu
6d345b7742
添加了qemu使用VNC作为图像输出的选项 (#222)
* 添加了qemu使用VNC作为图像输出的选项

* 设置vnc端口为5900

---------

Co-authored-by: longjin <longjin@RinGoTek.cn>
2023-04-02 15:55:24 +08:00
Gou Ngai
5fb12ce447
第一套键盘扫描码的状态机 (#216)
第一套键盘扫描码的状态机
---------

Co-authored-by: guanjinquan <1666320330@qq.com>
Co-authored-by: longjin <longjin@RinGoTek.cn>
2023-03-30 18:19:02 +08:00
Mork
676b8ef62e
部分函数从返回值为Result<<>,i32>修改为Result<<>,SystemError> (#210)
* 将Result<<>,i32>替换为Result<<>,SystemError>
* bugfix: 显示双缓冲区初始化的时候,连续注册了两次Video Softirq的问题。

Co-authored-by: longjin <longjin@RinGoTek.cn>
2023-03-29 21:24:11 +08:00
Gou Ngai
64aea4b349
增加x87FPU支持 (#212)
* remove `ret_from_syscall`
*修复ps2键盘驱动程序inode在进程fork的时候导致死锁的问题.
*更新: VFS每次拷贝文件描述符的时候,都会去调用inode的open函数

---------

Co-authored-by: longjin <longjin@RinGoTek.cn>
2023-03-28 20:44:26 +08:00
YJwu2023
73c607aadd
VirtIO网卡能够正常发送、接收数据 (#204)
* virtio-net小修改

* 移动volatile.rs到libs文件夹

* 使用virtio-drivers 0.3.0

* bugfix: 初始化BAR之后,未正确设置command register的问题


---------

Co-authored-by: longjin <longjin@dragonos.org>
2023-03-18 20:43:37 +08:00
login
17041e0e30
添加rust的bare bone工具链 (#197) 2023-03-12 21:04:37 +08:00
login
b66beefd4e
解决ubuntu2210版本无法正确编译grub,以及正确安装qemu的问题 (#176) 2023-02-27 01:00:35 +08:00
login
9358ff0f6f
Add v0.1.3 changelog (#143)
* new: 0.1.3发行日志

* 新增输出指定时间范围内的贡献者名单的脚本

* 更新bootloader文档

* update: 简介文档

* new: 镜像站文档

* update: 功能特性文档
2023-01-08 15:06:52 +08:00
guanjinquan
2224c93ea9
完善libc,构建了OS-specific工具链,编译了基于gcc-11.3.0的DragonOS userland compiler,移植了mpfr,gmp,mpc库 (#134)
* 修改include路径

* 添加了创建libsysapi.a和/bin/sysroot/usr/include/+lib/的代码

* 修补.gitignore

* 删除多余项

* 优化脚本可读性

* 新增crt0 crti crtn

* 编译binutils所需的东西

* fflush()和fprintf()的简单实现

* 应用程序启动前,调用初始化libc的函数

* 自动创建sysroot

* 添加了stderr的初始化

* 修改了stderr的初始化

* 内核添加对stdio的简略处理

* 格式化代码

* 修正打开stdio文件描述符的问题

* bugfix: 修复fprintf忘记释放buf的问题

* 修复shell错误地把入口设置为main而不是_start的问题

* 新增__cxa_atexit  (gcc要求libc提供这个)

* 增加putchar puts

* 更新写入磁盘镜像的脚本,默认无参数时,使用legacy方式安装

* 更新编译脚本

* stdio增加eof的定义

* 新增extern cplusplus

* mpfr gmp mpc 构建脚本

* 更新libsysapi.a为libc.a

* 加上ferror fopen fclose

* 更新移植的软件的构建脚本

* 更改build_gcc_toolchain.sh中的-save参数名为-save-cache

Co-authored-by: longjin <longjin@RinGoTek.cn>
2023-01-06 21:29:23 +08:00
YJwu2023
882f0b7e74
修复内存bug与grub安装脚本的错误 (#129)
* 修复内存bug与grub安装脚本的错误

* 修改小bug
2022-12-28 19:35:17 +08:00
YJwu2023
a7f5ca7b67
修复下载grub2.06时的提示错误 (#125)
* 修复grub下载显示提示显示错误
2022-12-24 23:29:36 +08:00
guanjinquan
5ed4cd4602
Patch gcc toolchain (#111)
* 添加了GCC_cross_compile——tool_chain

* - 解决环境变量路径拼接时,多了`/`的问题
- apt安装时增加-y,不需用户确认

* 解决添加环境变量的命令有误的问题

* 修正编译错误时,还会执行下一步的问题

* new: 编译完成后清理临时文件

* 更新makefile

* 调整:把grub安装在 $HOME/opt/dragonos-grub下

* new: 新增dockerfile

* 将镜像源换成中科大的(原因是清华的总是ban掉用于构建镜像的服务器的ip)

* 修改为基于debian bullseye构建

* 取消指定版本

* 修复MBR磁盘镜像未设置启动标志的bug

* 取消在docker中安装grub

* 安装grub的过程改到客户机上进行

* bootstrap.sh 添加--no-docker

* 使用新版的docker编译镜像

* 修补, 添加了一些关于gcc的check

Co-authored-by: longjin <longjin@RinGoTek.cn>
2022-12-22 21:09:12 +08:00
YJwu2023
47f0d12a1f
修复docker安装时异常退出的bug (#119)
* 修复docker安装时异常退出的bug

* 修复grub编译脚本的小bug
2022-12-19 14:53:51 +08:00
login
978043e47d
修复当系统中不存在dosfstools时,无法正确格式化磁盘镜像的问题 (#117)
* 修复当系统中不存在dosfstools时,无法正确格式化磁盘镜像的问题
2022-12-18 15:09:15 +08:00
YJwu2023
f9127772dc
修复docker安装时异常退出的bug (#116) 2022-12-17 23:43:23 +08:00
login
d02e6ea411
调整编译grub的脚本的部分 (#108)
1、bugfix: 修复编译grub的脚本的部分错误
2、将grub下载源替换为tuna
3、优化写入磁盘镜像的脚本
4、将bios文件夹改名为legacy
2022-12-14 20:01:55 +08:00
YJwu2023
38b341b8aa
新增32位uefi启动 (#105)
* 新增32位uefi启动

* 修复小bug

* 增加grub本地编译安装

* 增加本地grub编译安装脚本

* 修正小错误

* 修复空文件夹不上传的bug
2022-12-14 16:58:49 +08:00
login
2291ffdece
文档更新 (#102)
* new: 开发过程文档(完成了一半)

* bootstrap.sh解决下载rust慢的问题

* 更新“构建系统”文档
2022-12-11 20:09:58 +08:00
YJwu2023
7f439c5ddb
增加uefi启动 (#101)
* 增加uefi启动

* 修改脚本

* uefi修改

* 删除错误的注释

* 修正写入磁盘镜像的脚本

* 修改X86_64为x86_64

Co-authored-by: longjin <longjin@RinGoTek.cn>
2022-12-09 16:08:54 +08:00
DaJiYuQia
27a97abd24
Patch procf (#90)
* 1234

* 123

* 合并master

* procfs

* 1

* procfs展示进程基本信息

* modified code

* 恢复权限

* 恢复权限

 #恢复权限

* modify permission

* 删除run.sh

* 解决第一次编译时磁盘镜像权限错误的问题

* 恢复.vscode/c_cpp_properties.json

* 删除process.c中错误的do_fork

* remake procfs

* 修改一些变量名

* 修改类型

* modified

* data_puts缓冲区溢出后return

Co-authored-by: longjin <longjin@RinGoTek.cn>
2022-11-26 17:34:00 +08:00
login
cffd7144fb
signal相关数据结构&代码结构优化 (#84)
* 解决由于spinlock.h中包含preempt_enable()带来的循环include问题

* new: 初步实现signal的数据结构
2022-11-16 15:18:03 +08:00
login
2813126e31
新增rust ffi (#77)
* 引入cargo

* 取消对Cargo.lock的跟踪

* 解决vscode报错问题

* new: rust的代码能够调用c语言的printk_color

* 1、将原本run.sh的工作拆解,变为几个不同的make命令
2、在docker镜像中编译rust

* 更改workflow

* update workflow

* new: 解决workflow无法通过编译的问题
2022-11-11 15:35:37 +08:00
fslongjin
0435eb00b1 编译容器运行完之后自动删除 2022-09-17 12:03:02 +08:00
fslongjin
a9a253cd1c new: 内核反汇编脚本 2022-08-15 12:15:17 +08:00
fslongjin
fb1144fbda fix: 运行脚本无法正确匹配回环设备名称的问题 2022-08-14 17:35:44 +08:00
longjin
26ef8f46e5 fix: 修复运行脚本不能正确获取对应的回环设备号的问题 2022-08-13 01:17:19 +08:00
fslongjin
e806bbc0c8 o3能运行 2022-08-01 20:55:47 +08:00
fslongjin
28e282d157 磁盘空间大小改为32M 2022-08-01 17:38:06 +08:00
fslongjin
b57d362c15 🆕 更改为创建硬盘镜像 2022-07-28 13:03:36 +08:00
kun
2cef4e53b6 调整docker脚本 2022-07-25 20:57:50 +08:00
fslongjin
b1f7845520 运行在docker中完成所有生成iso的动作 2022-07-25 20:34:57 +08:00
fslongjin
63c40fec13 支持使用docker进行构建 2022-07-25 19:33:23 +08:00
fslongjin
d395ce8968 bugfix: 未应用分区表的问题 2022-07-22 15:21:30 +08:00
zhujikuan
ac50ebeb8f simpler fdisk usage 2022-07-22 15:06:52 +08:00
fslongjin
900f186530 修改磁盘脚本的细节 2022-07-07 23:12:09 +08:00
hwzzy666
339570a2f3 调整创建磁盘、挂载磁盘及卸载磁盘的脚本 2022-07-06 08:21:46 +08:00
fslongjin
9bf52cf2ab 🔧 修正了创建硬盘镜像的脚本的bug 2022-07-03 22:37:54 +08:00
fslongjin
621e65fede :doc: 完善创建磁盘镜像的脚本,以及修正对应的文档 2022-06-30 19:45:56 +08:00
fslongjin
f99179014a 🐛 修复了无法正确地往文件写入数据的bug 2022-05-03 15:12:02 +08:00
fslongjin
4473ff594c 解决了debian上编译后,kernel_thread_func被优化掉的问题 2022-04-26 00:25:15 +08:00
fslongjin
9b382dab60 🆕 在fat32文件系统中按照路径寻找文件 2022-04-20 19:55:36 +08:00
fslongjin
979bb35599 🆕 读取fat32文件系统的基础信息 2022-04-19 20:56:01 +08:00
fslongjin
e667fff256 🆕 gdb源代码级别调试 2022-04-04 17:46:57 +08:00
fslongjin
2c8f3a6424 🆕 新增了创建硬盘镜像的脚本 2022-03-22 18:11:15 +08:00
fslongjin
36ad7a106e 🆕 基本完成了slab内存分配器 2022-02-28 16:15:44 +08:00