LoGin
|
7b0ef10895
|
ci: change rust src to crates-io-index while using GitHub workflow (#1023)
Signed-off-by: longjin <longjin@DragonOS.org>
|
2024-10-31 01:05:34 +08:00 |
|
黄铭涛
|
80c9e8f8f0
|
fix(tools):支持在无kvm支持下运行DragonOS (#1010)
* fix(tools):支持在无kvm支持下运行DragonOS
* fix: 修正问题:在非Linux上面加速选项选择的不正确
---------
Co-authored-by: jinlong <jinlong@tencent.com>
|
2024-10-25 14:26:37 +08:00 |
|
LoGin
|
f9fe30be89
|
feat(boot): 内核启动命令行参数解析 (#969)
支持解析启动命令行参数,行为与Linux一致。具体见文档。
bbs链接:https://bbs.dragonos.org.cn/t/topic/362
issue: https://github.com/DragonOS-Community/DragonOS/issues/865
支持了三种参数:
- Arg (不带Value的参数)
- KV (正常的KV参数)
- EarlyKV (在内存管理初始化之前解析)
# TODO
- 支持在`/proc/cmdline`下面查看内核启动时的命令行参数。
- 支持回调函数,允许更加灵活的设置参数的值(目前用不到,就没写了)
Signed-off-by: longjin <longjin@DragonOS.org>
|
2024-10-13 23:39:55 +08:00 |
|
LoGin
|
40db1e61da
|
ci: add-bpf-linker-to-ci-image (#972)
Signed-off-by: longjin <longjin@DragonOS.org>
|
2024-10-12 01:20:43 +08:00 |
|
LoGin
|
79eda4bcf9
|
ci: fix docker run failed (#961)
Signed-off-by: longjin <longjin@DragonOS.org>
|
2024-10-10 03:06:48 +08:00 |
|
LoGin
|
056c4aad81
|
ci: auto build docker images (#960)
|
2024-10-10 01:31:59 +08:00 |
|
LoGin
|
415e46ea47
|
build: Remove DragonOS_GCC And make CI use docker image (#954)
* build: 不再需要x86_64-elf-gcc的支持
* ci: 添加ci用的docker镜像
* 切换workflow到构建用的容器上
---------
Signed-off-by: longjin <longjin@DragonOS.org>
|
2024-10-10 00:59:50 +08:00 |
|
LoGin
|
59a6bcf6ae
|
feat: Add HVM boot support for x86_64 (#953)
Signed-off-by: longjin <longjin@DragonOS.org>
|
2024-10-09 21:36:18 +08:00 |
|
MemoryShore
|
40d05bcc99
|
修复vnc启动失败的问题 (#951)
|
2024-10-01 19:44:17 +08:00 |
|
LoGin
|
d031d46fd9
|
feat: 添加serial console,支持non-graphic启动 (#947)
Signed-off-by: longjin <longjin@dragonos.org>
|
2024-10-01 11:35:48 +08:00 |
|
曾俊
|
886ce28516
|
fix(virtio):修复了特定virtio设备环境下中断号重复错误,以及开机内核panic的bug (#881)
|
2024-09-06 19:56:49 +08:00 |
|
Jomo
|
3c0a1c8fa2
|
默认nightly-2024-07-23 & config改为config.toml (#872)
|
2024-07-27 01:33:38 +08:00 |
|
LoGin
|
816ee5ae54
|
refactor: 删除过时的va-pa转换函数,改为统一使用MMArch (#862)
|
2024-07-26 00:27:35 +08:00 |
|
LoGin
|
bd70d2d1f4
|
chore: 将工具链更新到2024-07-23 (#864)
* chore: 将工具链更新到2024-07-23
|
2024-07-25 00:55:02 +08:00 |
|
LoGin
|
79ad6e5ba4
|
fix: build-scripts和tools目录下的make check指定工具链版本 (#861)
|
2024-07-22 23:00:37 +08:00 |
|
donjuanplatinum
|
6cf1947dcf
|
chore(tools): add the gentoo grub_auto_install support (#827)
|
2024-05-23 02:15:44 +08:00 |
|
donjuanplatinum
|
f79998f626
|
增加rust sparse稀疏索引选项 (#826)
|
2024-05-18 00:22:38 +08:00 |
|
donjuanplatinum
|
1df85daf8f
|
添加支持gentoo系统的一键安装脚本 (#809)
|
2024-05-12 22:58:59 +08:00 |
|
LoGin
|
731bc2b32d
|
feat(virtio): riscv: 添加virtio-blk driver,并在riscv下能够正确挂载FAT32 (#761)
|
2024-04-23 17:19:54 +08:00 |
|
LoGin
|
e32effb150
|
feat(driver): 把virtio添加到sysfs (#752)
|
2024-04-22 15:11:47 +08:00 |
|
Chiichen
|
4b0170bd6b
|
chore(tools): add bootstrap support for Centos/RHEL8/fedora (#713)
Co-authored-by: kejianchi <kejianchi@tencent.com>
|
2024-04-10 18:58:54 +08:00 |
|
栗子
|
4f8f484930
|
修复Archlinux下的bootstrap脚本问题, (#552)
* 修复Archlinux下的bootstrap脚本问题,
由于archlinux 的 texinfo版本太新导致的gcc docs构建失败
使用 MAKEINFO=true 的make环境变量跳过gcc docs构建,绕过问题
---------
Co-authored-by: longjin <longjin@dragonos.org>
|
2024-03-09 21:20:12 +08:00 |
|
裕依
|
bc6f0a967c
|
移除relibc和old libc以及旧的shell (#529)
移除relibc和old libc以及旧的shell
|
2024-03-04 14:20:01 +08:00 |
|
栗子
|
d2b28acb4d
|
tools/bootstrap.sh: fix archlinux and zsh issue (#535)
1. archlinux上没有libssl-dev包,相对应的包名是openssl
2. zsh用户使用bootstrap.sh 会因为 source ~/.zshrc
导致bash执行很多zsh built-in 指令出现非常多错误
3. mkdir命令加-p选项避免对象目录存在时(反复执行脚本)报错
4. 修复简单错误(typo gcc 为 binutils)
5. 修复bootstrap.sh等脚本无法在非tools/目录执行的错误
|
2024-02-25 19:57:30 +08:00 |
|
LoGin
|
ca318c376b
|
update dragonreach to 3d99c3a9d9 (#519)
|
2024-02-17 01:51:10 +08:00 |
|
裕依2439
|
4ad52e57e6
|
添加socketpair (#505)
* 添加对socketpair系统调用的处理
---------
Co-authored-by: LoGin <longjin@DragonOS.org>
|
2024-02-07 18:06:15 +08:00 |
|
LoGin
|
9284987850
|
riscv: 完成UEFI初始化,能正确设置memblock的信息 (#501)
* riscv: 完成UEFI初始化,能正确设置memblock的信息
* sbi增加reset功能
* 把虚拟CPU修改为sifive-u54,使qemu能更正确地模拟硬件行为
* 修复内存页面映射未设置“DIRTY”、”ACCESSED“、”GLOBAL“位,导致真机page fault的问题
|
2024-01-26 18:08:39 +08:00 |
|
Jomo
|
8d72b68da9
|
实现内核日志系统 (#489)
* 实现写日志和读取日志,并且能够在用户态下执行dmesg命令查看日志
* 通过klogctl实现dmesg
* 改用ConstGenericRingBuffer作内核缓冲区
* 更改缓冲区容量
* 将能够输出到控制台的日志级别改为日志级别枚举类,使用SpinLock控制KMSG,使用枚举类定义SYSLOG_ACTION,将do_syslog系统调用接口放在syscall.rs
* fix warning
* 完善do_syslog注释
* 将KMSG接入kinfo、kdebug等
* fix warning
* 修复显示的秒数不正确,·以及无法通过CI的问题
|
2024-01-24 16:13:15 +08:00 |
|
裕依2439
|
d46c6d2794
|
修复tty的buf满时始终阻塞的问题 (#493)
* 修复tty的buf满时始终阻塞的问题
|
2024-01-23 23:36:52 +08:00 |
|
LoGin
|
7a29d4fcbc
|
riscv64: 映射uefi systemtable,并完善了riscv64页表填写的部分内容 (#498)
* 从fdt的chosen段获取几个需要的字段
* merge patch-early-ioremap
* feature: 增加early io remap的fixmap功能
允许在内存管理初始化之前,使用fixmap功能,映射一些物理内存,并记录.
* riscv64: 映射uefi systemtable,并完善了riscv64页表填写的部分内容
* 更新仓库网址
|
2024-01-21 15:38:12 +08:00 |
|
LoGin
|
dcf232f378
|
当找不到内核日志缓冲区的时候,重试 (#491)
|
2024-01-14 17:00:42 +08:00 |
|
LoGin
|
e3eb08d4d7
|
fix: 修复安装musl-gcc的脚本没能正确设置x86_64下的环境变量的问题 (#482)
|
2023-12-30 16:23:26 +08:00 |
|
LoGin
|
81294aa2e6
|
fix: 修正bootstrap脚本安装docker后会使得当前终端进入root的问题 (#481)
|
2023-12-27 20:32:25 +08:00 |
|
LoGin
|
f110d330d5
|
修复bootstrap在安装riscv gcc依赖时出现冲突的问题 (#476)
|
2023-12-25 21:54:00 +08:00 |
|
LoGin
|
cf44232423
|
修复x86下第二次编译的时候内核没有拷贝到磁盘的问题 (#467)
|
2023-12-13 14:44:57 +08:00 |
|
LoGin
|
1a72a751b1
|
在riscv输出hello world (#466)
增加了以下内容:
- SBI驱动
- 把内核的rust工具链升级到2023-08-15版本
- 输出riscv的helloworld
- 设置内核是PIC的
|
2023-12-07 02:13:22 +08:00 |
|
LoGin
|
01090de77e
|
使用DragonStub引导riscv下的DragonOS内核 (#460)
|
2023-12-03 14:40:13 +08:00 |
|
LoGin
|
4fda81ce81
|
使得DragonOS kernel 能为riscv64编译通过(尚未能启动) (#457)
* 使得DragonOS kernel 能为riscv64编译通过(尚未能启动)
* 修正了系统调用号声明不正确的问题,同时添加了编译配置文档
|
2023-11-25 12:07:39 +08:00 |
|
LoGin
|
c89d0c1237
|
修复bootstrap的一系列脚本忘了source最新的shell rc的问题 (#453)
|
2023-11-21 20:24:43 +08:00 |
|
LoGin
|
c75089286e
|
调整脚本,使得能够创建riscv的磁盘镜像,并引导进入riscv下的grub (#450)
* 安装musl toolchain以及riscv相关的工具链
* 调整脚本,使得能够创建riscv的磁盘镜像,并引导进入riscv下的grub
```shell
export ARCH=riscv64
make write_diskimage
make qemu
```
即可在serial_opt.txt看到进入grub的提示信息
|
2023-11-21 13:42:18 +08:00 |
|
LoGin
|
48a3baa9b1
|
安装musl toolchain以及riscv相关的工具链 (#449)
|
2023-11-21 13:42:06 +08:00 |
|
LoGin
|
99dbf38d2e
|
bugfix: 当物理机具有多个memory area的时候,无法正确使用这些区域的问题.以及在内核代码处出现内存空洞而导致无法正常运行的问题. (#448)
* bugfix: 当物理机具有多个memory area的时候,无法正确使用这些区域的问题.以及在内核代码处出现内存空洞而导致无法正常运行的问题.
解决方案:
1. 分区域把空闲页添加到buddy
2. 将内核链接到16M的位置,以避免uefi带来的内存空洞.
这个值是因为我看到linux的救援内核也是在16M的地址,因此猜测厂商不会使用这块内存.
尽管uefi规范讲的是固件可以采用任何地址,内核需要使用内核重定位技术去避免遇到内存空洞,但我没有这么做.
|
2023-11-19 11:42:53 +08:00 |
|
LoGin
|
edaf015400
|
默认安装gnu tar到dragonos的/usr/bin目录下 (#442)
|
2023-11-15 17:17:56 +08:00 |
|
LoGin
|
393f691574
|
增加gettid以及线程组group leader相关的逻辑 (#430)
* 增加gettid以及线程组group leader相关的逻辑
|
2023-11-09 16:48:45 +08:00 |
|
LoGin
|
5eaf536d5b
|
添加初始化DragonOS的Rust-Musl工具链的脚本. (#426)
|
2023-11-08 19:41:08 +08:00 |
|
LoGin
|
7b32f5080f
|
增加内存分配日志监视器 (#424)
* 完成内存日志监视,并输出日志到文件
* 修复进程退出后,procfs查看进程status文件会崩溃的问题
* 修复signal唤醒进程的判断条件问题
|
2023-11-07 21:39:27 +08:00 |
|
LoGin
|
70a4e5550a
|
使用rust重写了apic的驱动 (#425)
* 使用rust重写了apic的驱动。
* 修正signal和调度器的部分加锁逻辑,增加回退策略。
* 把pcb的flags字段替换为无锁的
* 使用cargo管理apic的编译
* 删除makefile中指定PIC的变量
---------
Co-authored-by: Gou Ngai <ymd7823@outlook.com>
Co-authored-by: 櫻井桃華 <89176634+TihayaKousaka@users.noreply.github.com>
|
2023-11-07 20:32:06 +08:00 |
|
GnoCiYeH
|
1603395155
|
支持syscall快速系统调用指令 (#417)
* 支持syscall快速系统调用指令
---------
Co-authored-by: LoGin <longjin@DragonOS.org>
|
2023-11-04 21:39:44 +08:00 |
|
GnoCiYeH
|
2f6f547ae0
|
Patch fix sched (#419)
1.解决waitqueue sleep的时候,由于preempt count不为0,导致sched失败,从而导致该waitqueue下一次wakeup时,会把pcb多次加入调度队列的bug
2.修复socket inode 的read和write方法里面没有使用no_preempt的问题
3. 修复cpu0的内核栈由于脏数据导致new_idle的时候set pcb报错的问题
---------
Co-authored-by: longjin <longjin@DragonOS.org>
|
2023-11-04 21:35:25 +08:00 |
|
LoGin
|
8058ccb307
|
修复bootstrap.sh未能自动更换gcc镜像源, 未能自动安装docker的问题 (#418)
|
2023-11-03 21:01:09 +08:00 |
|