* feat(sched): support reset-on-fork scheduler semantics Align the legacy sched_getparam and sched_getscheduler interfaces with Linux by using the four-byte kernel ABI, signed TID lookup, unrestricted query semantics, consistent policy snapshots, and strict RT priority conversion. Implement the SCHED_OTHER reset-on-fork fast path for sched_setscheduler with Linux-compatible validation ordering, owner and CAP_SYS_NICE checks, protected-flag clearing rules, and per-task fork and clone reset behavior. Keep unsupported class transitions explicit and outside the runqueue mutation path. Tighten the internal FIFO priority endpoint, update the virtio block worker priority, and add dunitest coverage for ABI boundaries, errno ordering, other-TID access, credentials, fork, clone, and task lifetime behavior. Signed-off-by: longjin <longjin@dragonos.org> * fix(net): reserve ifindex one for loopback Linux assigns interface index 1 to the loopback device in every network namespace. DragonOS allocated the root loopback index from a global counter shared with device initcalls, so link-order changes could place lo after enough test interfaces that a bounded SIOCGIFCONF result omitted it. Define the loopback index invariant once, construct loopback devices with that index, and start dynamic root-device allocation at 2. Remove the allocation-based loopback constructor and strengthen the ioctl dunitest to assert the Linux ABI value. This restores all 41 ioctl_test cases while preserving normal interface enumeration semantics. Signed-off-by: longjin <longjin@dragonos.org> * fix(net): avoid veth ingress MAC lock recursion AF_PACKET classifies unicast ingress while the smoltcp interface lock is already held. VethInterface::mac previously reacquired that lock, deadlocking the NAPI worker and every later user of the interface. Keep the immutable veth MAC address in the interface metadata and make mac() a lock-free read. Document the data-path locking contract and extend the SO_BINDTODEVICE regression to verify the interface remains usable after ingress processing. Signed-off-by: longjin <longjin@dragonos.org> --------- Signed-off-by: longjin <longjin@dragonos.org>
DragonOS
Languages 中文|English
DragonOS is a 64-bit operating system with a completely independent kernel, designed for lightweight cloud computing scenarios, offering Linux binary compatibility. It aims to provide lightweight, high-performance solutions for containerized workloads. Developed using Rust for enhanced reliability.
The DragonOS open-source community was established in July 2022 and is entirely commercially neutral. We warmly welcome interested developers and enthusiasts to join us!
DragonOS features excellent and comprehensive architectural design. Compared to other systems of similar scale, DragonOS supports eBPF and virtualization. Currently, we are actively advancing container support, cloud platform compatibility, RISC-V support, as well as porting compilers and application software. Our goal is to achieve large-scale production environment deployment within five years.
DragonOS is rapidly evolving under community-driven development. Currently, DragonOS has implemented approximately 1/4 of Linux interfaces. In the future, we will provide 100% Linux compatibility along with new features.
🌟 Want to quickly experience DragonOS? Visit DragonOS Playground to launch DragonOS in the cloud with zero configuration and experience the latest nightly build!
📰 Community News
- 2025-12-17: ☁️ DragonOS Playground is now live! Experience DragonOS with zero configuration on CNB platform, with daily nightly build updates! Try it now →
- 2025-11-20: 🚀 DragonOS 0.3.0 has been released! Now supports running Go programs directly!
- 2025-11-18: 📊 DragonOS CI Dashboard is now live! Check out DragonOS Linux compatibility data now!
How to Run?
🌟 Method 1: Cloud-Native Development (Recommended)
Zero configuration, one-click launch! Experience DragonOS on the CNB cloud-native development platform - the simplest and fastest way, no local dependencies required!
Method 2: Local Build
If you prefer to build and run DragonOS locally, you can refer to the following documentation:
Want to Contribute?
Read the DragonOS Community Introduction Document carefully to understand how the community operates and how you can contribute!
If you'd like to join us, check out the issues and participate in discussions or share your ideas. You can also visit the DragonOS forum to stay updated on development progress and tasks: https://bbs.dragonos.org.cn
You can also bring your creativity and ideas to discuss with the community and contribute new features to DragonOS.
Sites
- Official Website: DragonOS.org
- Documentation: docs.dragonos.org
- Community Introduction: community.dragonos.org
- QQ Group: 476358494
How to Connect with the Community?
Please read the Contributor Guide~
- You can find contact details for members of various committees in the Community Management Team section.
- You can also locate the contact information for leaders of specific community groups via the SIGs and WGs pages.
Contributor List
Contributors to DragonOS-Community/DragonOS · GitHub
Sponsorship
DragonOS is a non-profit open-source project, and its development relies on financial support. All sponsors will be publicly acknowledged. Every contribution you make will help advance DragonOS!
Where Will Sponsorship Funds Be Used?
We guarantee that all sponsorship funds and items will be used for:
- Event organization, cloud service expenses, and any other purposes beneficial to the development and growth of the DragonOS community.
🌟 Sponsor List
Special thanks to these generous financial supporters (in reverse chronological order):
- 中国雅云 雅安大数据产业园 - 🥇 Long-term supporter (since 2023)
- Tencent Cloud EdgeOne EdgeOne CDN by TencentCloud
CDN Sponsor
Individual Sponsors List
See Supporters.md
Open Source License Notice
This project is open-sourced under the GPLv2 license. You are welcome to use the code in compliance with the open-source license!
If you encounter any violations of the open-source license, we encourage you to email pmc@dragonos.org to report them. Let's work together to build a trustworthy open-source community.
👩💻 Contributors
"Open source shines because of you!" ✨
Thanks to all developers who submitted code, fixed issues, or reviewed PRs: