Skip to content

Commit 54fda75

Browse files
authored
Merge branch 'dev' into dev
2 parents f04eb87 + 19d2a4e commit 54fda75

56 files changed

Lines changed: 595 additions & 1 deletion

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/commit.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -257,7 +257,6 @@ jobs:
257257
258258
# Fail job if any validation errors occurred
259259
260-
261260
if [ "$has_validation_failed" = true ]; then
262261
263262
echo "::error::One or more commit messages failed validation. Please review the errors above."

.github/workflows/license.yml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
name: License Header Check
2+
3+
on:
4+
pull_request:
5+
types: [opened, reopened, synchronize] # Triggers on PR open, reopen, or new commits pushed to the PR branch
6+
7+
jobs:
8+
check_license_headers:
9+
runs-on: ubuntu-latest # Specifies the runner environment
10+
11+
permissions:
12+
contents: read # Needed for checkout
13+
14+
steps:
15+
- name: Checkout Repository
16+
uses: actions/checkout@v4 # Action to checkout your repository
17+
# with:
18+
# fetch-depth: 0 is not strictly necessary for license check unless your script
19+
# needs to read historical commits, which a basic license checker usually doesn't.
20+
# Default fetch-depth is 1, which is usually sufficient.
21+
# If your license checker needs to diff against a base branch, you might need fetch-depth: 0
22+
# or a specific fetch-depth. For a simple "check all files" script, default is fine.
23+
24+
- name: Run License Checker Script
25+
run: bash scripts/test/license_checker.sh # Path to your license checking script

CHANGELOG.md

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
# CHANGELOG
2+
3+
## [v0.1.0] - 2025-07
4+
5+
### ✨ New Features
6+
#### Architecture Support
7+
- **RISC-V64** (#196)
8+
- mmap & process fork implementation
9+
- Toolchain compatibility fixes
10+
- **ARM Enhancements** (#183)
11+
- GICv3 interrupt controller
12+
- Device Tree Blob (DTB) parsing
13+
14+
#### Core Systems
15+
- **Filesystem & Storage**
16+
- FUSE integration (#201)
17+
- New syscalls: `fchmodat` (#190), `ftruncate` (#187)
18+
- VFS refactoring with ext4/fatfs support (#152)
19+
- Unified file/directory implementations (#186)
20+
- FIFO/named pipes (#185) & PTY support (#189)
21+
- **Networking & IPC**
22+
- UNIX socket enhancements (#195)
23+
- DGRAM support (#164) & `socketpair` (#171)
24+
- Static routing with loopback support (#179)
25+
- **Device Drivers**
26+
- Virtio subsystem updates (#205)
27+
- Virtio-console support (#143)
28+
- TTY/Termios improvements (#181)
29+
- **Process Management**
30+
- Signal handling (#178) & `rt_sigaction` (#131)
31+
- CLOEXEC flag support (#162)
32+
33+
### 🐛 Bug Fixes
34+
- Fixed `rename` operations (#202)
35+
- Resolved busybox page faults (#194)
36+
- Fixed network buffer memory leaks (#173)
37+
- Corrected page fault handling during nested forks (#151)
38+
- Fixed `wait4` null pointer dereference (#166)
39+
- Resolved file close scheduling deadlock (#175)
40+
- Corrected `getsockopt` implementation (#170)
41+
- Fixed percpu crate alignment (#184)
42+
43+
### ⚙️ Infrastructure
44+
- Toolchain upgraded to `nightly-2025-05-07` (#197)
45+
46+
### 📦 Applications
47+
- Support for sshd after PR #202
48+
49+
---
50+
51+
## [v0.0.3] - Initial Release
52+
53+
### 🚀 Core Capabilities
54+
- **Architectures**: x86_64 • AArch64 • RiscV64
55+
- **Platforms**: QEMU pc-q35 (x86) • virt (RiscV/ARM)
56+
- **Schedulers**: FIFO • RR • CFS
57+
- **Drivers**: VirtIO (net, blk, gpu, 9p)
58+
- **Networking**: TCP/UDP stack (smoltcp/LwIP)
59+
- **Filesystems**: fatfs • ramfs • 9pfs • devfs
60+
- **Dynamic App Loading** (#97)
61+
62+
### 📦 Supported Applications
63+
| Application | Functionality | Repository |
64+
|-------------|---------------|------------|
65+
| **Redis** | Server with `redis-cli` & benchmark | [syswonder/rux-redis](https://github.com/syswonder/rux-redis) |
66+
| **Nginx** | HTTP/HTTPS web server | [syswonder/rux-nginx](https://github.com/syswonder/rux-nginx) |
67+
| **Wamr** | WASM execution + wasi-nn | [syswonder/rux-wamr](https://github.com/syswonder/rux-wamr) |
68+
| **Iperf** | Network performance testing | [syswonder/rux-iperf](https://github.com/syswonder/rux-iperf) |
69+
| **Sqlite** | Embedded SQL database | |
70+
| **Python** | Python 3 runtime | [syswonder/rux-python3](https://github.com/syswonder/rux-python3) |
71+
72+
### 🛠️ Development Ecosystem
73+
- **Languages**: Rust • C/C++ (musl/ruxlibc) • Perl
74+
- **Tools**: [RuxGo](https://github.com/syswonder/ruxgo)
75+
- **Documentation**:
76+
- [RuxOS-Book](https://ruxos.syswonder.org)
77+
- [RuxGo-Book](https://ruxgo.syswonder.org)
78+
79+
> **Get Started**: We recommend beginning with the [RuxOS-Book](https://ruxos.syswonder.org)

api/ruxos_posix_api/src/imp/cap.rs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,12 @@
1+
/* Copyright (c) [2023] [Syswonder Community]
2+
* [Ruxos] is licensed under Mulan PSL v2.
3+
* You can use this software according to the terms and conditions of the Mulan PSL v2.
4+
* You may obtain a copy of Mulan PSL v2 at:
5+
* http://license.coscl.org.cn/MulanPSL2
6+
* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
7+
* See the Mulan PSL v2 for more details.
8+
*/
9+
110
use core::ffi::c_int;
211

312
#[derive(Debug, Clone, Copy)]

api/ruxos_posix_api/src/imp/execve/auxv.rs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,12 @@
1+
/* Copyright (c) [2023] [Syswonder Community]
2+
* [Ruxos] is licensed under Mulan PSL v2.
3+
* You can use this software according to the terms and conditions of the Mulan PSL v2.
4+
* You may obtain a copy of Mulan PSL v2 at:
5+
* http://license.coscl.org.cn/MulanPSL2
6+
* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
7+
* See the Mulan PSL v2 for more details.
8+
*/
9+
110
#![allow(unused)]
211

312
pub const AT_NULL: usize = 0;

api/ruxos_posix_api/src/imp/execve/load_elf.rs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,12 @@
1+
/* Copyright (c) [2023] [Syswonder Community]
2+
* [Ruxos] is licensed under Mulan PSL v2.
3+
* You can use this software according to the terms and conditions of the Mulan PSL v2.
4+
* You may obtain a copy of Mulan PSL v2 at:
5+
* http://license.coscl.org.cn/MulanPSL2
6+
* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
7+
* See the Mulan PSL v2 for more details.
8+
*/
9+
110
use crate::{ctypes::kstat, *};
211
use alloc::{vec, vec::Vec};
312
use core::ptr::null_mut;

api/ruxos_posix_api/src/imp/execve/mod.rs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,12 @@
1+
/* Copyright (c) [2023] [Syswonder Community]
2+
* [Ruxos] is licensed under Mulan PSL v2.
3+
* You can use this software according to the terms and conditions of the Mulan PSL v2.
4+
* You may obtain a copy of Mulan PSL v2 at:
5+
* http://license.coscl.org.cn/MulanPSL2
6+
* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
7+
* See the Mulan PSL v2 for more details.
8+
*/
9+
110
mod auxv;
211
mod load_elf;
312
mod stack;

api/ruxos_posix_api/src/imp/execve/stack.rs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,12 @@
1+
/* Copyright (c) [2023] [Syswonder Community]
2+
* [Ruxos] is licensed under Mulan PSL v2.
3+
* You can use this software according to the terms and conditions of the Mulan PSL v2.
4+
* You may obtain a copy of Mulan PSL v2 at:
5+
* http://license.coscl.org.cn/MulanPSL2
6+
* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
7+
* See the Mulan PSL v2 for more details.
8+
*/
9+
110
use alloc::vec::Vec;
211
use ruxtask::task::TaskStack;
312

apps/c/busybox/main.c

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,12 @@
1+
/* Copyright (c) [2023] [Syswonder Community]
2+
* [Ruxos] is licensed under Mulan PSL v2.
3+
* You can use this software according to the terms and conditions of the Mulan PSL v2.
4+
* You may obtain a copy of Mulan PSL v2 at:
5+
* http://license.coscl.org.cn/MulanPSL2
6+
* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
7+
* See the Mulan PSL v2 for more details.
8+
*/
9+
110
#include <stdio.h>
211
#include <unistd.h>
312

apps/c/dl/main.c

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,12 @@
1+
/* Copyright (c) [2023] [Syswonder Community]
2+
* [Ruxos] is licensed under Mulan PSL v2.
3+
* You can use this software according to the terms and conditions of the Mulan PSL v2.
4+
* You may obtain a copy of Mulan PSL v2 at:
5+
* http://license.coscl.org.cn/MulanPSL2
6+
* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
7+
* See the Mulan PSL v2 for more details.
8+
*/
9+
110
#include <stdio.h>
211
#include <unistd.h>
312

0 commit comments

Comments
 (0)