There was an error while loading. Please reload this page.
docs: clarify scaffolded scheduler exercises Selecting a scaffolded scheduling policy (Priority, CFS, EDF, RM, AEDF) intentionally causes the build to fail at the /*...*/ exercise placeholders until the missing implementation is completed. The previous wording claimed those policies compile, boot, and fall back to Round-Robin at run time. That is wrong: /*...*/ is a comment, so 'time_t min = /*...*/;' reaches the compiler as 'time_t min = ;' and the build stops there. Verified by configuring and building each of the five policies in turn. Also clarifies that the '#else return __scheduler_rr(...)' arm is not a runtime fallback but exists to keep unselected policy functions well-formed, and relabels the per-policy markers from 'teaching scaffold' to 'exercise scaffold' to match the project convention that /* ... */ marks a student exercise. Refs mentos-team/MentOS#214
docs: comprehensively update MentOS wiki
docs(testing): simplify unit testing guide - remove unnecessary complexity - Remove three-tier testing strategy (was overcomplicated) - Simplify CMake section: tests are auto-discovered, no manual editing needed - Remove misleading CMakeLists.txt editing instructions - Keep golden rule: 'never permanently change OS state' - Streamline to: what tests are, how to write them, do's/don'ts, examples, utilities - Guide is now focused on practical usage, not architecture details
docs(testing): create comprehensive unit testing guide - Consolidate 3 fragmented testing documents into single Unit-Testing.md - Remove Safe-Kernel-Testing-Overview.md (AI summary) - Remove Testing-Guide.md (now merged) - Remove Unit-Testing-Architecture.md (now merged) - New Unit-Testing.md covers: * What unit testing is and why * Three-tier testing strategy (read-only, copy-based, boundary) * How to write tests (step-by-step guide) * CMake configuration for enabling/disabling tests * Common patterns and best practices * Complete example tests * Troubleshooting guide * Available testing utilities - Updated Home.md to link Unit-Testing in Advanced Topics - Updated quick reference to include testing - Golden rule: 'Leave the kitchen as you found it' - never modify kernel state
fix(docs): correct ARM toolchain requirement to i686-elf-gcc VERIFIED against: - tools/toolchain-i686-elf.cmake: explicitly sets TRIPLE=i686-elf - osdev.org GCC Cross-Compiler guide: i686-elf is bare-metal standard - Previous docs incorrectly recommended i686-linux-gnu (Linux-hosted, wrong for OS dev) Changes: - ARM section: specify i686-elf-gcc requirement (not i686-linux-gnu) - Add three practical options: distro repos, pre-built, or source build - Link to osdev.org, kernel.org, and newos.org for toolchains - Clarify why i686-elf is required (toolchain file dependency)
fix(wiki): correct cross-compilation documentation to use i686-elf toolchain - Fix Getting-Started.md ARM section: recommend i686-elf-gcc (bare-metal), not i686-linux-gnu - Fix Building-MentOS.md: use toolchain file for all cross-compilation, not manual compiler flags - Add crosstool-ng instructions for building i686-elf-gcc on ARM systems - Clarify that toolchain file is required for macOS and ARM builds - Consistent approach: all non-x86 builds use CMAKE_TOOLCHAIN_FILE=../tools/toolchain-i686-elf.cmake
documentation(userspace): Simplify docs
fix(wiki): correct source code paths from mentos/ to kernel/ - Changed all mentos/ references to kernel/ (actual folder name) - Fixed 8 incorrect path references in System-Calls.md - Paths: inc/system/syscall.h, src/system/syscall.c, src/process/, src/fs/, src/ipc/
documentation(process): fix wiki link format
fix(wiki): add ../ prefix to all source code links for proper GitHub navigation - All blob/main/ links now use ../blob/main/ to escape wiki folder context - Fixes URLs from wiki/blob/main/... to blob/main/... (correct GitHub paths) - Updated 15 source code links across C-Library.md and System-Calls.md
Updated System Calls (markdown)
documentation(wiki): fix all wiki link formats to use [[Page]] syntax - Convert [Page](Page.md) to [[Page]] format across all wiki files - Fix broken references: Filesystem.md → File-Systems.md, Programs.md → Userspace-Programs.md - Remove broken reference to non-existent Exercise-IPC-Messaging.md - Updated files: C-Library.md, IPC.md, Kernel.md, System-Calls.md, Userspace-Programs.md
documentation(wiki): fix source code links for GitHub rendering Replace relative paths (../path/to/file) with blob/main/path/to/file format to ensure links work correctly when wiki is rendered on GitHub. Fixed links in: - System-Calls.md: All source file references - C-Library.md: userspace/bin/CMakeLists.txt reference
Update
documentation(process): add process management guide
documentation(running): align run steps with build targets
documentation(features): align feature matrix with code
documentation(userspace-programs): align wiki with userspace tools
documentation(ipc): fix semctl usage
documentation(filesystems): point to read/write impl
documentation(scheduling): align with timer and config
documentation(syscalls): fix calling convention
documentation(libc): correct API coverage
documentation(contributing): fix build and test snippets
documentation(debugging): align exercises with build flow
documentation(dev-guide): align APIs and build steps