summaryrefslogtreecommitdiffhomepage
path: root/README.md
blob: 258548f5ac4ef3f5839d3d93044d215e962ad825 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
<!-- Read Me of NeKernel -->

<div align="center">
  <h1>
    <b>NeKernel</b>
  </h1>
  <p>
    <a href="https://github.com/nekernel-org/nekernel/actions/workflows/boot-ahci-dev.yml/badge.svg"><img src="https://github.com/nekernel-org/nekernel/actions/workflows/boot-ahci-dev.yml/badge.svg" alt="CI"></a>
    <a href="https://github.com/nekernel-org/nekernel/actions/workflows/kernel-ahci-dev.yml/badge.svg"><img src="https://github.com/nekernel-org/nekernel/actions/workflows/kernel-ahci-dev.yml/badge.svg" alt="CI"></a>
    <a href="LICENSE"><img src="https://img.shields.io/badge/License-Apache--2.0-blue.svg" alt="License"></a>
  </p>
</div>

<img src="meta/media/demo.gif" alt="NeKernel Logo" width="1280"/>

## Getting Started

### **Requirements**

- [MinGW](https://www.mingw-w64.org/)
- [Clang](https://clang.llvm.org/)
- [NASM](https://nasm.us/)
- [NeBuild](https://github.com/nekernel-org/nebuild)
- CoreUtils
- [Git](https://git-scm.com/)
- [Nectar](https://github.com/nekernel-org/nectar)

### **Building & Running**

Please fork, and clone the repository. Then follow those steps:

```sh
git clone https://github.com/<your-username>/nekernel.git
cd nekernel
./scripts/setup_x64_project.sh
./scripts/modules_ahci_x64.sh
./scripts/debug_ahci_x64.sh   # For debug generic AHCI target (QEMU)
```

---

## Structure

- `src/kernel/` — Core kernel source (scheduling, memory, VFS, drivers)
- `src/boot/` — Bootloader, platform bring-up, and early system code
- `src/libDDK/` — Driver Development Kit (DDK) and sample drivers
- `src/libSystem/` — Userland system call interface and runtime
- `src/launch/` — NeKernel Launch System
- `src/libMsg/` — NeKernel OpenMSG framework
- `public/tools/` — CLI tools (mkfs, fsck, open, manual, etc.)
- `public/frameworks/` — Userland frameworks (CoreFoundation, DiskImage, etc.)
- `docs/` — Specifications, design docs, and diagrams

---

## Security

- **Vulnerability Disclosure:**  
  Please report security issues privately via email or GitHub Security Advisories.

---

## Documentation

- [Documentation](https://docs.nekernel.org/)
- [Specifications](docs/tex/)

---

## Contributing

- Please run `format.sh` before committing (uses `.clang-format`).
- All contributions (code, docs, fuzzing, security) are welcome!

---

## Authors & Credits

- **Amlal El Mahrouss** — Lead Developer and Kernel Architect.
- [Full contributor list](https://github.com/nekernel-org/nekernel/graphs/contributors)

---

## License

This project is licensed under the [Apache-2.0 License](LICENSE).

---

<div align="center">
  <sub>
    &copy; 2024-2025 Amlal El Mahrouss & NeKernel contributors. Licensed under the Apache 2.0 license.
  </sub>
</div>