Skip to content

Commit c0d0501

Browse files
Update translated documentation (#1266)
Co-authored-by: fslongjin <[email protected]>
1 parent fd2f96d commit c0d0501

File tree

3 files changed

+69
-67
lines changed

3 files changed

+69
-67
lines changed

docs/.translation_cache.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@
150150
"hash": "c931f3fcfca7d8d10cd16a8b68e6274a"
151151
},
152152
"en:community/ChangeLog/index.rst": {
153-
"hash": "aa1979d81b79f64b12962f885a6820af"
153+
"hash": "1a269fe56fa594f041bf009462d0e450"
154154
},
155155
"en:kernel/trace/index.rst": {
156156
"hash": "3c466a411a5bd71514f8fa4f15d06241"
@@ -279,6 +279,6 @@
279279
"hash": "d2ba6ab80dfbc436408ee23e81bbe2ae"
280280
},
281281
"en:community/ChangeLog/V0.2.x/V0.2.0.md": {
282-
"hash": "a14e68302c9478f8acc7368b9f30a95a"
282+
"hash": "de9331f8d0bc5fe8c4705ad5807c9e8d"
283283
}
284284
}

docs/locales/en/community/ChangeLog/V0.2.x/V0.2.0.md

Lines changed: 45 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -5,81 +5,82 @@ This document was automatically translated by `hunyuan-turbos-latest` model, for
55

66
- Source document: community/ChangeLog/V0.2.x/V0.2.0.md
77

8-
- Translation time: 2025-08-22 15:04:16
8+
- Translation time: 2025-08-22 15:19:44
99

1010
- Translation model: `hunyuan-turbos-latest`
1111

1212
Please report issues via [Community Channel](https://github.com/DragonOS-Community/DragonOS/issues)
1313

1414
:::
1515

16-
# DragonOS 0.2.0 Release Notes
16+
# V0.2.0
1717

18-
> Release Date: 2025-08-22
19-
> Version Positioning: 0.2.0 is a milestone release of DragonOS in three dimensions - "Usability, Observability, and Extensibility" - introducing support for **ext4, dynamic linking, eBPF, virtualization, namespaces (initial PID/Mount/User), multi-architecture (x86_64 / RISC-V64 / LoongArch64)**, as well as significant restructuring of the system call subsystem and memory/file cache subsystems, laying the foundation for containerization, networking, and scheduling enhancements in subsequent 0.3.x versions.
18+
> Release Date: 2025-08-22
19+
20+
> Version Positioning: 0.2.0 is a milestone version of DragonOS in the three dimensions of "usability, observability, and extensibility" — introducing support for **ext4, dynamic linking, eBPF, virtualization, namespaces (initial PID/Mount/User), multi-architecture (x86_64 / RISC-V64 / LoongArch64)**, as well as significant restructuring of the system call subsystem and memory/file cache subsystems, laying the foundation for containerization, networking, and scheduling enhancements in subsequent 0.3.x versions.
2021
2122
---
2223

2324
## 📌 Executive Summary
2425

2526
**Key Highlights:**
2627

27-
1. **File Systems & Storage**: Added ext4; completed mount/umount2; implemented gendisk/partition scanning; `/proc/mounts`; systematic page cache and file mapping; experimental overlayfs support; improved FAT & VFS metadata (statx / newfstatat).
28+
1. **File System & Storage**: Added ext4; completed mount/umount2; implemented gendisk/partition scanning; `/proc/mounts`; systematic page cache and file mapping; experimental overlayfs support; improved FAT & VFS metadata (statx / newfstatat).
2829
2. **Processes & Namespaces**: Introduced PID Namespace, Mount Namespace, Namespace Proxy; implemented `unshare()`; improved process group / Session / TTY job control; enhanced `/proc` process information.
29-
3. **Memory & Virtual Memory**: mmap lazy allocation, `msync`, private/shared file mappings; PageCache dirty page synchronization/recycling; multiple stack usage optimizations and stack overflow fixes; SLAB and buddy recycling improvements.
30+
3. **Memory & Virtual Memory**: mmap lazy allocation, `msync`, private/shared file mappings; PageCache dirty page synchronization/recycling; multiple stack usage optimizations and stack overflow fixes; improved SLAB and buddy recycling.
3031
4. **Observability & Extensibility**: Initial eBPF support (rbpf → mainline / kprobe / tracepoint / Aya ecosystem); tracepoint framework; static keys.
3132
5. **Virtualization**: Introduced KVM/VMX basic framework and EPT; cleaned up old KVM code; improved boot stability.
3233
6. **Architecture**: Added LoongArch64 boot & early exception handling; RISC-V64 improvements; multi-boot protocol abstraction (Multiboot2 / HVM / Serial Console / Framebuffer).
3334
7. **System Calls & Kernel Structure**: Unified syscall table; modular migration of numerous subsystems; `ERESTARTSYS` mechanism; added/completed numerous system calls (poll/epoll/select, eventfd, execveat, unshare, msync, etc.).
3435
8. **Security & Permissions**: Cred framework (UID/GID/FSUID/permission determination); `set*id / setres*`; `chown/chmod` migration and fixes.
3536
9. **Devices & I/O**: virtio console, virtio blk partition recognition, loopback network card, TTY + epoll, HVC, PCI configuration space access, network device sysfs registration.
3637
10. **Toolchain & Ecosystem**: Dynamic linking (ELF interpreter); Dadk 0.2.0 accelerated builds; unified user-space program builds; experimental integration with Tokio single-threaded runtime; automated documentation translation and versioning.
37-
11. **Stability & Quality**: Numerous stack frame/deadlock/memory out-of-bounds/race/semantics/wait/PageCache fixes; improved backtrace/unwind; unified logging system.
38+
11. **Stability & Quality**: Fixed numerous stack frames/deadlocks/memory overflows/races/signals/wait semantics/PageCache issues; improved backtrace/unwind; unified logging system.
3839

3940
---
4041

41-
## ⚠️ Breaking / Important Changes
42+
## ⚠️ Major Changes & Potential Incompatibilities (Breaking / Important Changes)
4243

43-
- Dadk upgraded to 0.2.0: Legacy configurations incompatible, migration required per new documentation.
44+
- Dadk upgraded to 0.2.0: Legacy configurations are incompatible; migration required per new documentation.
4445
- Syscall structure reorganization: Subsystems migrated to table-driven architecture; custom patches need adaptation.
4546
- Default kernel stack size increased from 16K → 32K, with Guard Pages / write protection (x86_64).
46-
- PageCache semantics upgraded: `mmap` + direct read/write requires combination with `msync`; legacy behavior assumptions need adjustment.
47+
- PageCache semantics upgraded: `mmap` + direct reads/writes now require `msync`; legacy behavior assumptions need adjustment.
4748
- Namespace architecture initial: Interfaces may change in the future (still experimental).
48-
- eBPF interface in early form: Maps / Helpers / type restrictions may change subsequently.
49+
- eBPF interface in early form: Maps / Helpers / type restrictions may change later.
4950

5051
---
5152

52-
## ✨ New / Enhanced Features
53+
## ✨ New / Enhanced Features (Features & Enhancements)
5354

5455
### 1. File Systems & VFS
5556
- **ext4**: Integrated based on another_ext4, mountable from block devices.
5657
- **mount/umount2**: Real block device mount chain + partition scanning (MBR); supports MountFlags; `/proc/mounts`.
5758
- **overlayfs (experimental)**: Multiple read-only layers + top-layer write copy-up + whiteout.
58-
- gendisk abstraction; virtio disk as root file system; automatic block device registration in devfs.
59-
- FAT/vfat: `rename/move` refactored; `statx` creation time (btime); file mapping; page cache synchronization fixes.
59+
- gendisk abstraction; virtio disk as root filesystem; automatic block device registration in devfs.
60+
- FAT/vfat: `rename/move` refactored; `statx` creation time (btime); file mapping; page cache sync fixes.
6061
- VFS: `statx/newfstatat`, `faccessat2`, `linkat/renameat2`, `readlinkat`, etc.; split open/close/stat/ioctl; LookUpFlags; `/proc` extended (kthread marking / FD occupancy / exe link / run/start times / TTY info).
6162

6263
### 2. Processes / Namespaces / Sessions
6364
- PID Namespace: ID mapping and isolation; nsproxy unified mounting.
6465
- Mount Namespace: Isolated root mount tree.
65-
- `unshare()`: New namespace creation (currently covering PID/Mount basics).
66+
- `unshare()`: New namespace creation (currently covers PID/Mount basics).
6667
- Session / Process Group: Complete job control; TTY foreground process group signals (SIGINT, etc.); `wait4` fixes.
67-
- Reboot process enhanced (magic number verification / multiple command reservations).
68+
- Reboot process enhanced (magic verification / multiple cmd reservations).
6869

6970
### 3. Memory Management (MM)
7071
- `mmap` lazy allocation / `msync` / `mprotect` fixes / `madvise` / `msync` table integration.
71-
- PageCache: ID management, page writeback, dirty page cleaning, recycling thread, multiple mapping consistency fixes.
72+
- PageCache: ID management, page writeback, dirty page cleaning, recycling thread, multi-mapping consistency fixes.
7273
- SLAB → buddy release path completion; stack overflow detection (clippy); large function splitting to reduce stack usage.
7374
- `mincore()` placeholder returns `ENOSYS`; `truncate_inode_pages` framework.
7475

7576
### 4. Observability & eBPF
7677
- `bpf()`: Initial Maps / kprobe / statistical examples; rbpf upgraded → mainline; Aya-compatible templates.
77-
- Tracepoint framework; static key support for conditional hotspot enabling.
78+
- Tracepoint framework; static key support for hotspot condition enabling.
7879

7980
### 5. Virtualization & Platform
8081
- Initial KVM/VMX + EPT; old KVM code cleaned up.
8182
- HVM / Multiboot2 / boot command line parsing (Arg/KV/EarlyKV).
82-
- LoongArch64: Boot into `kernel_main` + exception handling; RISC-V64 runs Rust HelloWorld; multi-platform serial console/console abstraction; Serial Console + nographic.
83+
- LoongArch64: Boot into `kernel_main` + exception handling; RISC-V64 runs Rust HelloWorld; multi-platform serial/console abstraction; Serial Console + nographic.
8384

8485
### 6. Devices & I/O
8586
- virtio console (HVC); virtio blk/net/console interrupt naming improvements; PCI configuration space access (portio).
@@ -100,52 +101,52 @@ Please report issues via [Community Channel](https://github.com/DragonOS-Communi
100101
- Unified user program builds: Rust + C; example Rust applications.
101102
- Dynamic linking ELF interpreter; busybox boot mode & NovaShell/DragonReach evolution.
102103
- Automated documentation translation, multilingual, multi-version Sphinx; footer shows commit; README / Q&A / namespace docs updated.
103-
- CI: Docker build caching, branch-triggered, automatic image pushing, MinIO/S3 distribution, loongarch64 QEMU builds, toolchain nightly locking, backtrace/unwind upgrades, stack overflow tests.
104+
- CI: Docker build caching, branch-triggered, auto image pushing, MinIO/S3 distribution, loongarch64 QEMU builds, toolchain nightly locking, backtrace/unwind upgrades, stack overflow tests.
104105

105106
---
106107

107-
## 🚀 Performance & Resource Footprint
108+
## 🚀 Performance & Resource Usage (Performance & Footprint)
108109

109-
- Reduced multiple large stack frames: IRQ initialization split, ACPI table reading macro-ized, process create/memory pool structure rewritten (Vec replacing large arrays).
110+
- Reduced multiple large stack frames: IRQ initialization split, ACPI table reading macro-ized, process create/memory pool structures rewritten (Vec replacing large arrays).
110111
- PageCache secondary mapping write panic fixes → improved mmap IO coherence; reduced copies.
111112
- SLAB free page recycling → buddy, reducing resident memory.
112113
- Early detection of illegal writes via write protection + Guard Pages.
113114

114115
---
115116

116-
## 🛠 Stability & Key Fixes
117+
## 🛠 Stability & Critical Fixes (Stability & Fixes)
117118

118119
Representative fixes:
119120

120121
- Wait/process: `wait/wait4` semantics, `do_wait` lock release, blocked child process handling.
121122
- I/O Multiplexing: epoll inode reference release, epoll timeout/wake broadcast, poll boundary/RestartBlock.
122-
- Pipes/signals: pipe/FIFO non-blocking + signal/kill semantics; blocked pipes can be killed; named pipes POSIX behavior.
123-
- PageCache: mmap multi-instance consistency; writeback of dropped address space panic; `unlink` post dirty page handling.
124-
- futex: User-space address safety `safe_read/safe_write`; robust list.
125-
- Signals: Default handler restoration; SIGINT distribution; KILL pid=1 feedback; pending not masked check; `execve` error propagation.
126-
- TTY: Foreground process group null-setting error; init early character input crash; tab expansion out-of-bounds.
123+
- Pipes/Signals: pipe/FIFO non-blocking + signal/kill semantics; blocked pipes can be killed; named pipes POSIX behavior.
124+
- PageCache: mmap multi-instance consistency; panic on writeback of dropped address space; `unlink` post dirty page handling.
125+
- Futex: User-space address safety `safe_read/safe_write`; robust list.
126+
- Signals: Default handler restoration; SIGINT distribution; KILL pid=1 feedback; pending not masked checks; `execve` error propagation.
127+
- TTY: Foreground process group null error; init early character input crash; tab expansion out-of-bounds.
127128
- Timers: Insertion boundaries; `sleep` interrupted by signals `ERESTARTSYS`.
128-
- Races/memory: slab UAF/out-of-bounds; ntytData stack overflow; buddy construction large stack frame; incorrect kernel address RIP output.
129-
- File Systems: `getcwd` semantics; `read O_PATH` validation; `unlink` post dirty cleaning; remount errors; `mprotect vm_flags`.
130-
- ELF: Interpreter path read out-of-bounds; `execve` failure error code.
131-
- Multiplexing: `select/pselect6` initial compilation issues.
129+
- Races/Memory: slab UAF/overflows; nttyData stack overflow; buddy construction large stack frames; incorrect kernel address RIP output.
130+
- File Systems: `getcwd` semantics; `read O_PATH` validation; `unlink` post dirty cleanup; remount errors; `mprotect vm_flags`.
131+
- ELF: Interpreter path read bounds; `execve` failure error codes.
132+
- Multiplexing: `select/pselect6` early compilation issues.
132133
- virtio/PCI: Multi-device interrupt conflicts; PCI initialization order; virtio net interrupt handling.
133-
- Networking: DHCP network card order; loopback / poll listen states.
134+
- Networking: DHCP NIC order; loopback / poll listen states.
134135

135136
---
136137

137138
## 🧾 New System Call List (Partial)
138139

139-
`mount`, `umount2`, `fchdir`, `mkdirat/mkdirat2`, `linkat/renameat/renameat2`, `newfstatat`, `statx`, `readlinkat`, `faccessat/faccessat2`, `eventfd`, `poll`, `ppoll`, `select`, `pselect6`, `epoll` (refactored), `utimensat`, `utimes`, `msync`, `madvise`, `mremap`, `mprotect`, `brk/sbrk` (table-ized), `execveat`, `unshare`, `setgroups/getgroups`, `rt_sigpending`, `reboot` (enhanced), `mincore(ENOSYS)` ...
140+
`mount`, `umount2`, `fchdir`, `mkdirat/mkdirat2`, `linkat/renameat/renameat2`, `newfstatat`, `statx`, `readlinkat`, `faccessat/faccessat2`, `eventfd`, `poll`, `ppoll`, `select`, `pselect6`, `epoll` (refactored), `utimensat`, `utimes`, `msync`, `madvise`, `mremap`, `mprotect`, `brk/sbrk` (tabled), `execveat`, `unshare`, `setgroups/getgroups`, `rt_sigpending`, `reboot` (enhanced), `mincore(ENOSYS)` ...
140141

141142
---
142143

143-
## 🧪 Development & Build Experience
144+
## 🧪 Development & Build Experience (Dev Experience)
144145

145146
- Dadk 0.2.0: Unified image creation / mounting / unmounting; build acceleration; profiling.
146-
- User Programs: Unified Rust + C build pipeline; Rust examples.
147+
- User Programs: Unified Rust + C build pipelines; Rust examples.
147148
- Toolchain: Fixed nightly versions & upgrade scripts; multi-architecture cross-toolchain scripts.
148-
- Documentation: Automated translation & stale content cleanup; bilingual (Chinese/English); FAQ / build issue guidance.
149+
- Documentation: Automated translation & stale content cleanup; bilingual (EN/zh); FAQ / build issue guidance.
149150

150151
---
151152

@@ -197,25 +198,25 @@ xiaolin2004 <[email protected]>, <[email protected]
197198

198199
## ✅ Smoke Test Checklist
199200

200-
- Basic boot: x86_64 / riscv64 / loongarch64 (serial/graphics); check `/proc/mounts` `/proc/*/status`.
201-
- Dynamic linking: Run dynamically linked busybox / Rust programs.
202-
- File Systems: Mount ext4 & vfat; create/delete/rename; `mmap` + direct write + `msync`.
201+
- Basic Boot: x86_64 / riscv64 / loongarch64 (serial/graphical); check `/proc/mounts` `/proc/*/status`.
202+
- Dynamic Linking: Run dynamically linked busybox / Rust programs.
203+
- File Systems: Mount ext4 & vfat; create/delete/rename; `mmap` + direct writes + `msync`.
203204
- Process Control: Multiple shells / Ctrl+C / foreground/background switching.
204205
- Networking: loopback ping / DHCP initialization logs.
205-
- eBPF: Load example kprobe statistical program; read `trace_pipe`.
206+
- eBPF: Load example kprobe statistics program; read `trace_pipe`.
206207
- poll/epoll: Run `test_poll` / `test_epoll`.
207-
- reboot: Execute reboot system call (simulated).
208+
- Reboot: Execute reboot syscall (simulated).
208209
- Namespaces: Test `unshare` (mount isolation / PID observation).
209210

210211
---
211212

212213
## 🙏 Acknowledgements
213214

214-
Thanks to all developers, testers, documentation contributors, and community users for their feedback. DragonOS 0.2.0 builds upon the experiments and accumulations of previous versions, and also lays the structural foundation for subsequent containerization, resource isolation, and performance optimizations. Welcome to continue participating via Issues / PRs / discussion forums.
215+
Thanks to all developers, testers, documentation contributors, and community users for their feedback. DragonOS 0.2.0 builds upon prior versions' experiments and accumulations, also laying structural foundations for future containerization, resource isolation, and performance optimizations. Welcome to continue participating via Issues / PRs / Discussions.
215216

216217
---
217218

218-
## 🔎 Appendix: Keyword Index (for Easy Reference)
219+
## 🔎 Appendix: Keyword Index (for Easy Lookup)
219220

220221
`ext4` `overlayfs` `PageCache` `mmap` `PID namespace` `mount namespace` `unshare` `syscall table` `eBPF` `kprobe` `tracepoint` `Aya` `KVM` `VMX` `EPT` `LoongArch64` `RISC-V` `virtio console` `loopback` `eventfd` `poll` `epoll` `select` `pselect6` `ppoll` `statx` `newfstatat` `execveat` `dynamic linking` `Dadk 0.2.0` `Cred` `chown` `msync` `mprotect` `utimensat` `reboot` `slab` `buddy` `Guard Page` `WP` `Tokio` `groupprocess/session`
221222

Lines changed: 22 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,33 @@
11
.. note:: AI Translation Notice
22

3-
This document was automatically translated by `Qwen/Qwen3-8B` model, for reference only.
3+
This document was automatically translated by `hunyuan-turbos-latest` model, for reference only.
44

55
- Source document: community/ChangeLog/index.rst
66

7-
- Translation time: 2025-05-19 01:41:22
7+
- Translation time: 2025-08-22 15:17:54
88

9-
- Translation model: `Qwen/Qwen3-8B`
9+
- Translation model: `hunyuan-turbos-latest`
1010

1111

1212
Please report issues via `Community Channel <https://github.com/DragonOS-Community/DragonOS/issues>`_
1313

14-
Release Notes
15-
=====================
16-
17-
This is the release log for DragonOS, which records the update content of every version of DragonOS.
18-
19-
.. toctree::
20-
:maxdepth: 1
21-
22-
V0.1.x/V0.1.10
23-
V0.1.x/V0.1.9
24-
V0.1.x/V0.1.8
25-
V0.1.x/V0.1.7
26-
V0.1.x/V0.1.6
27-
V0.1.x/V0.1.5
28-
V0.1.x/V0.1.4
29-
V0.1.x/V0.1.3
30-
V0.1.x/V0.1.2
31-
V0.1.x/V0.1.1
14+
Release Notes
15+
=====================
16+
17+
This is the release log for DragonOS, documenting the updates for each version of DragonOS.
18+
19+
.. toctree::
20+
:maxdepth: 1
21+
22+
V0.2.x/V0.2.0
23+
V0.1.x/V0.1.10
24+
V0.1.x/V0.1.9
25+
V0.1.x/V0.1.8
26+
V0.1.x/V0.1.7
27+
V0.1.x/V0.1.6
28+
V0.1.x/V0.1.5
29+
V0.1.x/V0.1.4
30+
V0.1.x/V0.1.3
31+
V0.1.x/V0.1.2
32+
V0.1.x/V0.1.1
3233
V0.1.x/V0.1.0

0 commit comments

Comments
 (0)