Skip to content

Commit 9d66a0e

Browse files
authored
Merge pull request #145 from assembler-0/Development
Development
2 parents 34422f7 + 7aaf3ed commit 9d66a0e

File tree

4 files changed

+7
-375
lines changed

4 files changed

+7
-375
lines changed

README.md

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ It would be amazing if you could contribute to this project!
3030
- POSIX-compliant OS (SysV ABI) (used: Arch Linux 6.16.9-arch1-1)
3131
- cmake >= 3.20 (used: cmake 4.1.2)
3232
- meson >= 1.4 (used: meson 1.9.1)
33-
- xmake >= 3.0 (used: xmake v3.0.3+20250922)
3433
- ninja >= 1.11 (used: ninja 1.21.1)
3534
- clang/++ >= 18.0.0 (used: 20.1.8)
3635
- nasm >= 2.16 (used: 2.16.03)
@@ -62,19 +61,10 @@ cd build
6261
cmake .. -DCMAKE_BUILD_TYPE=Release \
6362
-DCMAKE_TOOLCHAIN_FILE=../cmake/toolchain/<linux/windows/macos>-x64.cmake \
6463
-G Ninja \
65-
-DVF_SCHEDULER=<MLFQ/EEVDF> # Optional, MLFQ is default
64+
-DVF_SCHEDULER=<MLFQ/EEVDF> \ # Optional, default: EEVDF
6665
ccmake . # Optinal, tune as needed
67-
cmake --build .
68-
```
69-
```bash
70-
# XMake
71-
git clone https://github.com/assembler-0/VoidFrame.git
72-
cd VoidFrame
73-
xmake f -p linux -a x86_64 --toolchain=clang
74-
xmake
75-
xmake img
76-
xmake extra-img
77-
xmake run
66+
ninja -j$(nproc)
67+
ninja run
7868
```
7969

8070
## Features

cmake/cache.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# ============================================================================
22
# Cache variables
33
# ============================================================================
4-
set(VF_SCHEDULER "MLFQ" CACHE STRING "Scheduler type: MLFQ or EEVDF")
4+
set(VF_SCHEDULER "EEVDF" CACHE STRING "Scheduler type: MLFQ or EEVDF")
55
set_property(CACHE VF_SCHEDULER PROPERTY STRINGS MLFQ EEVDF)

docs/DEVELOPMENT.md

Lines changed: 3 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ This document provides instructions for setting up a development environment for
99
To build and run VoidFrame, you will need a specific set of tools. The primary development environment is a POSIX-compliant OS (like Linux or macOS) with an x86_64 CPU.
1010

1111
### Required Tools:
12-
- **Build Systems:** At least one of `cmake`, `meson`, or `xmake`.
12+
- **Build Systems:** At least one of `cmake`, `meson`.
1313
- **Compiler Toolchain:** `clang` (C/C++ compiler) and `nasm` (assembler).
1414
- **Build Executor:** `ninja`.
1515
- **Emulator:** `qemu`.
@@ -29,7 +29,7 @@ Here are the commands to install the required dependencies on various platforms.
2929

3030
```bash
3131
# Update package list and install dependencies
32-
sudo pacman -Syu cmake meson xmake ninja clang nasm qemu-full dosfstools e2fsprogs grub xorriso mtools
32+
sudo pacman -Syu cmake meson ninja clang nasm qemu-full dosfstools e2fsprogs grub xorriso mtools
3333
```
3434

3535
</details>
@@ -41,9 +41,6 @@ sudo pacman -Syu cmake meson xmake ninja clang nasm qemu-full dosfstools e2fspro
4141
# Update package list and install dependencies
4242
sudo apt update
4343
sudo apt install -y cmake meson ninja-build clang nasm qemu-system-x86 dosfstools e2fsprogs grub-pc-bin xorriso mtools
44-
45-
# Install xmake via the official script
46-
bash -c "$(curl -fsSL https://xmake.io/shget.text)"
4744
```
4845

4946
</details>
@@ -54,9 +51,6 @@ bash -c "$(curl -fsSL https://xmake.io/shget.text)"
5451
```bash
5552
# Install dependencies
5653
sudo dnf install -y cmake meson ninja-build clang nasm qemu-system-x86 dosfstools e2fsprogs grub2-tools-extra xorriso mtools
57-
58-
# Install xmake via the official script
59-
curl -fsSL https://xmake.io/shget.text | bash
6054
```
6155

6256
</details>
@@ -70,7 +64,7 @@ It is recommended to use [Homebrew](https://brew.sh/) to install packages on mac
7064

7165
```bash
7266
# Install dependencies via Homebrew
73-
brew install cmake meson xmake ninja llvm nasm qemu e2fsprogs dosfstools grub
67+
brew install cmake meson ninja llvm nasm qemu e2fsprogs dosfstools grub
7468

7569
# Add LLVM to your PATH so the build system can find clang
7670
echo 'export PATH="/usr/local/opt/llvm/bin:$PATH"' >> ~/.zshrc
@@ -130,22 +124,4 @@ ninja
130124

131125
# 4. Run the kernel in QEMU
132126
ninja run
133-
```
134-
135-
136-
### Using XMake (less actively maintained)
137-
138-
```bash
139-
# 1. Configure the project (only needs to be done once)
140-
xmake f -p linux -a x86_64 --toolchain=clang
141-
142-
# 2. Build the kernel
143-
xmake
144-
145-
# 3. Create disk images (if they don't exist)
146-
xmake img
147-
xmake extra-img
148-
149-
# 4. Run the kernel in QEMU
150-
xmake run
151127
```

0 commit comments

Comments
 (0)