Compare commits
1 Commits
master
...
harraiken-
Author | SHA1 | Date | |
---|---|---|---|
5b29419c2d |
@ -4,6 +4,7 @@ title = "ExectOS Operating System"
|
|||||||
theme = "exectos"
|
theme = "exectos"
|
||||||
languageCode = "en-us"
|
languageCode = "en-us"
|
||||||
defaultContentLanguage = "en"
|
defaultContentLanguage = "en"
|
||||||
|
paginate = 10
|
||||||
|
|
||||||
[menu]
|
[menu]
|
||||||
|
|
||||||
|
@ -1,29 +0,0 @@
|
|||||||
+++
|
|
||||||
title = 'AI-Assisted Contributions'
|
|
||||||
date = 2025-07-17T19:44:12+02:00
|
|
||||||
+++
|
|
||||||
This project includes content and code that has been partially created or assisted by artificial intelligence (AI) tools.
|
|
||||||
|
|
||||||
### Tools We Use
|
|
||||||
We actively use the following AI tools to support development and documentation workflows:
|
|
||||||
* **ChatGPT**: for generating and reviewing code, technical writing, and problem-solving assistance.
|
|
||||||
* **Gemini Assistant**: integrated with VS Code, used for code suggestions and refactoring.
|
|
||||||
* **GitHub Copilot**: provides real-time code suggestions and completions.
|
|
||||||
* **Windsurf**: VS Code extension that helps streamline repetitive coding tasks.
|
|
||||||
We are also experimenting with other AI-based tools to evaluate their usefulness in different areas of the project.
|
|
||||||
|
|
||||||
### Human Review
|
|
||||||
All AI-assisted contributions are reviewed and validated by human developers before being committed to the project. We ensure
|
|
||||||
that any code, documentation, or design produced with AI meets our quality and security standards.
|
|
||||||
|
|
||||||
### Why Use AI?
|
|
||||||
Using AI tools allows us to:
|
|
||||||
* Accelerate development and reduce boilerplate
|
|
||||||
* Improve consistency in code and documentation
|
|
||||||
* Explore alternative solutions more efficiently
|
|
||||||
* Focus developer time on complex or creative tasks
|
|
||||||
|
|
||||||
### Transparency & Ethics
|
|
||||||
We are committed to transparent and responsible use of AI. Our goal is to ensure that AI supports - but never replaces -
|
|
||||||
thoughtful human contribution. If you have any questions or concerns about the role of AI in this project, please open an
|
|
||||||
issue or contact the maintainers.
|
|
@ -14,5 +14,4 @@ date = 2024-06-16T22:31:24+02:00
|
|||||||
* [Developing ExectOS](/contributing/developing-exectos)
|
* [Developing ExectOS](/contributing/developing-exectos)
|
||||||
* [ExectOS Coding Style](/contributing/coding-style)
|
* [ExectOS Coding Style](/contributing/coding-style)
|
||||||
* [First steps with GIT](/contributing/working-with-git)
|
* [First steps with GIT](/contributing/working-with-git)
|
||||||
* [Setting Up XTchain](/contributing/setting-up-xtchain)
|
|
||||||
* [Submitting Patches](/contributing/submitting-patches)
|
* [Submitting Patches](/contributing/submitting-patches)
|
||||||
|
@ -2,56 +2,40 @@
|
|||||||
title = 'Building ExectOS'
|
title = 'Building ExectOS'
|
||||||
date = 2024-06-18T16:37:24+02:00
|
date = 2024-06-18T16:37:24+02:00
|
||||||
+++
|
+++
|
||||||
ExectOS must be compiled with the XTChain toolchain. Make sure you have already [downloaded](/download) and installed
|
ExectOS must be compiled with the XTChain toolchain. Make sure you have already [downloaded](/download) and installed it.
|
||||||
XTchain and [set up the environment](/contributing/setting-up-xtchain) before proceeding. Once this is done and the
|
Once this is done and the source code is ready, open a terminal and launch the XTChain Build Environment.
|
||||||
source code is ready, open a terminal and launch the XTChain Build Environment.
|
|
||||||
```
|
```
|
||||||
xtchain
|
xtchain
|
||||||
```
|
```
|
||||||
Next, set your target architecture and build type. You can choose between:
|
Then, set your target build architecture and the build type and configure the project. Choose `i686` or `amd64` depending
|
||||||
* Architecture: i686 (32-bit) or amd64 (64-bit)
|
on the architecture you wish to target. The build type can be either `DEBUG` for debugging purposes or `RELEASE` for
|
||||||
* Build type: DEBUG (for development and debugging) or RELEASE (for production)
|
a production build.
|
||||||
|
|
||||||
Use the following commands:
|
|
||||||
```
|
```
|
||||||
charch [i686|amd64]
|
charch [i686|amd64]
|
||||||
chbuild [DEBUG|RELEASE]
|
chbuild [DEBUG|RELEASE]
|
||||||
```
|
|
||||||
Now, configure the project:
|
|
||||||
* On Linux, run:
|
|
||||||
```
|
|
||||||
./configure.sh
|
./configure.sh
|
||||||
```
|
```
|
||||||
* On Windows, run:
|
After the sources are configured, navigate to the build directory and compile the source code.
|
||||||
```
|
|
||||||
.\configure.ps1
|
|
||||||
```
|
|
||||||
Once configuration is complete, navigate to the build directory and compile the source:
|
|
||||||
```
|
```
|
||||||
cd build
|
cd build
|
||||||
xbuild
|
xbuild
|
||||||
```
|
```
|
||||||
After the build completes, the compiled binaries will be located in the `build/output/binaries` directory. Additionally,
|
Afterwards, you will find the binaries in `build/output/binaries` directory. Apart from that, depending on build type, you
|
||||||
depending on the selected build type, you may also find debug symbols in PDB format inside the `build/output/symbols`
|
can also find a debug symbols in PDB format in `build/output/symbols` folder and precompiled libraries that can be used to
|
||||||
folder. Precompiled libraries intended for linking other software with XTDK are available in the `build/output/library`
|
link other software using XTDK in `build/output/library`
|
||||||
directory.
|
|
||||||
|
|
||||||
## Creating Qemu Disk Image
|
## Creating Qemu Disk Image
|
||||||
If you want to build a bootable disk image for use with QEMU, you can do so with the following command:
|
If you want to build a disk image that is ready to use with Qemu, you can use the following command:
|
||||||
```
|
```
|
||||||
xbuild diskimg
|
xbuild diskimg
|
||||||
```
|
```
|
||||||
This command generates a virtual disk image that can be directly booted in a QEMU virtual machine. You can also convert
|
This will create a disk image that you can boot within a Qemu Virtual Machine, or convert to other format for use within
|
||||||
this image into other formats compatible with alternative hypervisors such as VirtualBox or VMware.
|
other hypervisor, like VirtualBox.
|
||||||
|
|
||||||
## Testing with Qemu
|
## Testing with Qemu
|
||||||
Once ExectOS has been successfully compiled, you can test it in a virtual environment. The recommended approach is to use
|
After successfully compiling ExectOS, you can test it using Qemu with either hardware virtualization (KVM) or software
|
||||||
QEMU, which supports both hardware virtualization (via KVM) and software emulation (via TCG).
|
emulation (TCG). To start Qemu with KVM, use the `testkvm` target, and for TCG emulation, use the `testtcg` target. These
|
||||||
|
targets are provided for convenience and you can run these commands from your build directory.
|
||||||
After successfully compiling ExectOS, you can test it using QEMU with either hardware virtualization (KVM) or software
|
|
||||||
emulation (TCG). To start QEMU with KVM, use the testkvm target, and for TCG emulation, use the testtcg target. These
|
|
||||||
targets are provided for convenience and can be executed directly from the build directory. For example, run
|
|
||||||
`xbuild testkvm` to launch QEMU with hardware virtualization, or `xbuild testtcg` to use software emulation:
|
|
||||||
```
|
```
|
||||||
xbuild testkvm # For KVM hardware virtualization
|
xbuild testkvm # For KVM hardware virtualization
|
||||||
```
|
```
|
||||||
@ -59,20 +43,16 @@ or
|
|||||||
```
|
```
|
||||||
xbuild testtcg # For TCG software emulation
|
xbuild testtcg # For TCG software emulation
|
||||||
```
|
```
|
||||||
These commands will automatically configure QEMU with the appropriate settings and start the virtual machine. Keep in mind
|
These commands will automatically configure Qemu with the appropriate settings for ExectOS and start the virtual machine.
|
||||||
that QEMU is not distributed with XTchain and must be installed manually.
|
In addition to Qemu, you can also use Bochs for emulation. Bochs is an IA-32 (x86) PC emulator that provides a different
|
||||||
|
emulation environment. To launch Bochs with the ExectOS image, run the following command:
|
||||||
In addition to QEMU, you can also test ExectOS using Bochs, an IA-32 (x86) PC emulator that offers a different emulation
|
|
||||||
environment. To launch Bochs with the ExectOS disk image, run the following command:
|
|
||||||
```
|
```
|
||||||
xbuild bochsvm
|
xbuild bochsvm
|
||||||
```
|
```
|
||||||
This will start the Bochs emulator with ExectOS loaded, allowing you to test the system in a context that may offer
|
This will start the Bochs emulator with ExectOS loaded, allowing you to test the system in an environment that may offer
|
||||||
different debugging capabilities compared to QEMU. Like QEMU, Bochs is not bundled with XTchain and needs to be installed
|
different debugging capabilities compared to Qemu.
|
||||||
separately.
|
|
||||||
|
|
||||||
The performance and debugging experience will differ depending on which emulator you use. KVM requires a host system with
|
Remember that the performance and debugging features will vary depending on whether you use KVM, TCG, or Bochs. KVM
|
||||||
hardware virtualization support and offers the best performance. TCG is a pure software-based emulator and works even on
|
requires that your host machine supports hardware virtualization, while TCG is a pure software emulator which works on
|
||||||
systems without virtualization capabilities, albeit at slower speeds. Bochs, while slower than both, provides a rich set of
|
systems without hardware virtualization. Bochs provides a rich set of debugging features, which can be useful when
|
||||||
debugging features which can be especially helpful when troubleshooting complex or low-level issues. Alternatively, you may
|
troubleshooting complex issues.
|
||||||
use other hypervisors like VMware or VirtualBox by manually configuring them to boot from the generated disk image.
|
|
||||||
|
@ -1,80 +0,0 @@
|
|||||||
+++
|
|
||||||
title = 'Setting up XTchain'
|
|
||||||
date = 2025-07-16T19:29:14+02:00
|
|
||||||
+++
|
|
||||||
XTchain is a script-based compilation environment designed to streamline complex build processes across multiple platforms.
|
|
||||||
This guide explains how to set up and use XTchain efficiently on your system. You will learn how to launch the XTchain
|
|
||||||
environment, configure your terminal for convenience, and ensure that your development setup is ready for building projects
|
|
||||||
like ExectOS.
|
|
||||||
|
|
||||||
## Setting Up XTchain on Linux
|
|
||||||
Setting up XTchain on Linux is designed to be as straightforward and hassle-free as possible. Once you have downloaded and
|
|
||||||
extracted the XTchain archive, there is virtually no additional configuration required to get started. Simply navigate to the
|
|
||||||
extracted directory and launch the main executable script:
|
|
||||||
```
|
|
||||||
/path/to/xtchain/xtchain
|
|
||||||
```
|
|
||||||
This single command initializes the entire XTchain environment, automatically setting up all necessary paths, environment variables,
|
|
||||||
and dependencies behind the scenes. The script ensures that your terminal session is fully prepared for building ExectOS right away,
|
|
||||||
so you can focus on development rather than setup.
|
|
||||||
|
|
||||||
Because Linux inherently supports scripting and shell environments, XTchain takes advantage of native shell features to provide
|
|
||||||
a seamless experience. The environment is preconfigured to recognize common build tools and utilities, minimizing any need for
|
|
||||||
manual intervention.
|
|
||||||
|
|
||||||
For convenience, you might consider either creating an alias in your shell configuration file (such as .bashrc or .zshrc):
|
|
||||||
```
|
|
||||||
alias xtchain="/path/to/xtchain/xtchain"
|
|
||||||
```
|
|
||||||
or adding the XTchain directory to your PATH environment variable:
|
|
||||||
```
|
|
||||||
export PATH="/path/to/xtchain:$PATH"
|
|
||||||
```
|
|
||||||
After making either change, reload your shell configuration with source ~/.bashrc (or source ~/.zshrc) to make the modification
|
|
||||||
effective immediately. This way, you can start XTchain from anywhere simply by typing xtchain, without navigating to its folder
|
|
||||||
each time.
|
|
||||||
|
|
||||||
## Setting Up XTchain on Windows
|
|
||||||
On Windows, the simplest way to launch XTchain is by defining a dedicated profile in Windows Terminal that automatically
|
|
||||||
opens PowerShell, loads the XTchain environment, and remains interactive for further commands.
|
|
||||||
|
|
||||||
### 1. Create a Custom Windows Terminal Profile
|
|
||||||
A dedicated terminal profile ensures that every time you open XTchain, the environment is preconfigured and ready to use.
|
|
||||||
|
|
||||||
1. Open **Windows Terminal**.
|
|
||||||
2. Click the down-arrow next to a tab and select **Settings**.
|
|
||||||
3. Choose **Add a new profile**.
|
|
||||||
4. In the **Command line** field, enter:
|
|
||||||
```
|
|
||||||
%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Bypass -NoExit -File "C:\Path\To\XTchain\xtchain.ps1"
|
|
||||||
```
|
|
||||||
Replace C:\Path\To\XTchain with the actual folder where xtchain.ps1 resides. Give the profile a name (for example, XTchain),
|
|
||||||
assign an icon if desired, and save the settings. Now when you select the XTchain profile, Windows Terminal will launch
|
|
||||||
PowerShell, bypass execution restrictions, run the initialization script, and keep the window open. The command works as follows:
|
|
||||||
it starts the built-in PowerShell executable (%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe), temporarily disables
|
|
||||||
the script execution policy with **-ExecutionPolicy Bypass**, prevents the terminal from closing after the script finishes using
|
|
||||||
**-NoExit**, and runs the XTchain initialization script specified with **-File "C:\Path\To\XTchain\xtchain.ps1"**. This setup
|
|
||||||
ensures that the XTchain environment is ready every time you open the terminal.
|
|
||||||
|
|
||||||
### 2. Handling Execution Policy Errors
|
|
||||||
When running the profile, you might see the following error message: **File ... cannot be loaded because running scripts is
|
|
||||||
disabled on this system**. This indicates that your system's execution policy is set to block all or unsigned scripts. To
|
|
||||||
permanently fix it, open PowerShell as Administrator and enter:
|
|
||||||
```
|
|
||||||
Set-ExecutionPolicy RemoteSigned
|
|
||||||
```
|
|
||||||
This policy allows:
|
|
||||||
- All locally created scripts (including xtchain.ps1) to run without signing.
|
|
||||||
- Scripts downloaded from the internet to require a trusted digital signature.
|
|
||||||
Warning: Only change execution policy if you trust the scripts you run.
|
|
||||||
|
|
||||||
### 3. Use Git Bash for a Unix-like Environment
|
|
||||||
As an alternative, if you have installed Git for Windows along with the bundled MSYS2 tools, you can leverage its Bash shell and
|
|
||||||
Unix-style scripts to initialize XTchain exactly as on Linux. During the installation process, you have the option to include a set
|
|
||||||
of additional Unix utilities that, combined with the Bash shell, provide a powerful and familiar development environment. This setup
|
|
||||||
allows you to run XTchain's shell scripts seamlessly on Windows, mirroring the Linux workflow and ensuring consistency across
|
|
||||||
platforms without the need for platform-specific adjustments.
|
|
||||||
|
|
||||||
For added convenience, you can also configure a dedicated profile in Windows Terminal that automatically launches Git Bash with the
|
|
||||||
XTchain environment pre-initialized. This makes it easy to jump straight into a ready-to-use shell session. The process for creating
|
|
||||||
this terminal profile is analogous to the one described in section 1.
|
|
@ -3,7 +3,6 @@ title = 'Documentation'
|
|||||||
date = 2024-06-16T22:27:36+02:00
|
date = 2024-06-16T22:27:36+02:00
|
||||||
+++
|
+++
|
||||||
### Getting Started
|
### Getting Started
|
||||||
* [AI-Assisted Contributions](/ai-assisted)
|
|
||||||
* [Frequently Asked Questions](/faq)
|
* [Frequently Asked Questions](/faq)
|
||||||
* [Get in Touch](/contact-us)
|
* [Get in Touch](/contact-us)
|
||||||
* [Installation Guide](/documentation/install-guide)
|
* [Installation Guide](/documentation/install-guide)
|
||||||
|
@ -3,23 +3,15 @@ title = 'Download'
|
|||||||
date = 2024-06-16T22:35:11+02:00
|
date = 2024-06-16T22:35:11+02:00
|
||||||
+++
|
+++
|
||||||
### ExectOS
|
### ExectOS
|
||||||
ExectOS currently supports two architectures: i686 and AMD64. To get started, you can either download the appropriate
|
ExectOS supports currently two architectures (i686 and AMD64). To get started today, either download a binaries for one of
|
||||||
binaries for your platform, or test-drive ExectOS using the QEMU emulator by downloading one of the available disk images.
|
supported architectures or test drive ExectOS on the QEMU emulator by downloading a disk image. You can find a full list
|
||||||
All available files are listed on [this page](https://artifacts.codingworkshop.eu.org/ExectOS/?C=M&O=D). Each filename
|
of files, available to download at [this page](https://artifacts.codingworkshop.eu.org/ExectOS/). Each file contains an
|
||||||
includes the build date, commit hash, architecture, and build type (debug or release), as well as the artifact type.
|
information about build date, SHA1, architecture and a type of artifact, eg:
|
||||||
For example:
|
* ExectOS-20240614-6b70074ec6-i686-bin.tar.gz - This archive contains a binary files that can be copied to USB disk and
|
||||||
|
booted up on bare metal hardware.
|
||||||
* ExectOS-20250730-61d5e36a4e-i686-release-bin.tar.gz - Contains binary files that can be copied to a USB disk and booted
|
* ExectOS-20240614-6b70074ec6-i686-lib.tar.gz - Contains a libraries useful for building 3rd party drivers.
|
||||||
on bare metal hardware.
|
* ExectOS-20240614-6b70074ec6-i686-sym.tar.gz - This archive includes a debug symbols in PDB format.
|
||||||
* ExectOS-20250730-61d5e36a4e-i686-release-lib.tar.gz - Includes libraries useful for building 3rd party drivers.
|
* ExectOS-20240614-6b70074ec6-i686.img.gz - This is a compressed QEMU disk image, that can be used with this emulator.
|
||||||
* ExectOS-20250730-61d5e36a4e-i686-release-sym.tar.gz - Contains debug symbols (PDB format) for release build.
|
|
||||||
* ExectOS-20250730-61d5e36a4e-i686-release.img.gz - A compressed QEMU disk image for testing the release version of the
|
|
||||||
system.
|
|
||||||
* ExectOS-20250730-61d5e36a4e-i686-debug-bin.tar.gz - Contains debug version of system binaries, including additional debug
|
|
||||||
output.
|
|
||||||
* ExectOS-20250730-61d5e36a4e-i686-debug-lib.tar.gz - Libraries with debug symbols, suitable for development and testing.
|
|
||||||
* ExectOS-20250730-61d5e36a4e-i686-debug-sym.tar.gz - Full debug symbols for the debug build, in PDB format.
|
|
||||||
* ExectOS-20250730-61d5e36a4e-i686-debug.img.gz - A compressed QEMU disk image containing the debug build of ExectOS.
|
|
||||||
|
|
||||||
### XTChain
|
### XTChain
|
||||||
Get the latest prebuilt toolchain, needed to compile the ExectOS Operating System. This includes the Clang compiler, and
|
Get the latest prebuilt toolchain, needed to compile the ExectOS Operating System. This includes the Clang compiler, and
|
||||||
|
@ -1,28 +0,0 @@
|
|||||||
+++
|
|
||||||
title = 'Streamlining for the Future: Inside the Latest XTchain Overhaul'
|
|
||||||
author = 'Aiken Harris'
|
|
||||||
date = '2025-07-10T15:48:42+02:00'
|
|
||||||
+++
|
|
||||||
In the dynamic world of software development, the ExectOS project has emerged as a captivating endeavor by a community
|
|
||||||
of passionate programmers. This novel operating system, designed for enthusiasts and innovators alike, has recently
|
|
||||||
undergone significant enhancements, particularly within its core toolchain, XTchain.
|
|
||||||
|
|
||||||
The XTchain toolchain, an integral component of the ExectOS build process, has been meticulously streamlined. The previous
|
|
||||||
versions included an assortment of elements that, upon reflection, were deemed superfluous. Most notably, the entire
|
|
||||||
mingw32 suite has been removed. The rationale behind this decision is founded on the existence of multiple established
|
|
||||||
toolchains capable of building Windows applications using both GCC and LLVM. Given that ExectOS, despite employing PE
|
|
||||||
executable files, is distinct from Windows, it was determined unnecessary for the dedicated toolchain to incorporate
|
|
||||||
Windows-specific headers and libraries.
|
|
||||||
|
|
||||||
As the ExectOS project evolves, it may eventually integrate its own libraries and headers. However, at the present stage,
|
|
||||||
the essential tools for system construction suffice. The leaner XTchain now comprises the LLVM compiler, additional Wine
|
|
||||||
tools for resource file handling (such as wmc and wrc), CMake, and Ninja. Additionally, the toolchain's prior branding
|
|
||||||
elements have been eliminated to pave the way for the use of system-native tools in building ExectOS—albeit not the
|
|
||||||
recommended method—thereby facilitating contributions from unsupported systems like OS X.
|
|
||||||
|
|
||||||
A significant milestone for XTchain is the introduction of support for the Windows operating system. This advancement
|
|
||||||
allows anyone to download a dedicated package containing the complete set of necessary tools to compile ExectOS under
|
|
||||||
Windows, marking a pivotal step toward broadening developer accessibility.
|
|
||||||
|
|
||||||
These changes reflect ExectOS's ongoing commitment to accessibility, performance, and community involvement. We invite
|
|
||||||
developers and enthusiasts to explore the updated toolchain and join us in shaping the future of this operating system.
|
|
@ -1,33 +0,0 @@
|
|||||||
+++
|
|
||||||
title = 'XTchain 3.0.0 Released: Now Available for Windows'
|
|
||||||
author = 'Aiken Harris'
|
|
||||||
date = '2025-07-11T09:04:17+02:00'
|
|
||||||
+++
|
|
||||||
We are proud to announce the release of XTchain 3.0.0, marking a major milestone in the evolution of the XTOS
|
|
||||||
build toolchain. This new version introduces a streamlined experience, improved platform support, and updated core
|
|
||||||
components - further solidifying XTchain's role as a reliable foundation for building the ExectOS operating system.
|
|
||||||
|
|
||||||
The new release is available now. Download XTchain 3.0.0 from the [release page](https://github.com/xt-sys/xtchain/releases/tag/3.0.0).
|
|
||||||
We invite developers and power users to explore the updated XTchain, try out the new Windows support or Lite editions, and
|
|
||||||
contribute to the growing ExectOS ecosystem.
|
|
||||||
|
|
||||||
#### What's New in XTchain 3.0.0
|
|
||||||
This release brings several key improvements and changes:
|
|
||||||
* **Removal of mingw32:** XTchain no longer includes the mingw32 suite, significantly reducing complexity and size. Given
|
|
||||||
that ExectOS uses PE executables but is not Windows, the inclusion of Windows-specific headers and libraries was deemed
|
|
||||||
unnecessary.
|
|
||||||
* **Toolchain simplification:** Redundant elements and legacy branding have been removed, making it easier for developers
|
|
||||||
to integrate system-native tools if desired (not recommended for production use).
|
|
||||||
* **Updated core tools:**
|
|
||||||
* LLVM upgraded to 21.0.7
|
|
||||||
* Wine tools upgraded to 10.11
|
|
||||||
* CMake upgraded to 4.0.3
|
|
||||||
* Ninja upgraded to 1.13.0
|
|
||||||
* **Windows support:** For the first time, XTchain is officially available as a complete binary package for Windows,
|
|
||||||
allowing users to build ExectOS natively on the platform.
|
|
||||||
|
|
||||||
#### Introducing the Lite Editions
|
|
||||||
XTchain 3.0.0 also debuts **Lite versions** of the toolchain. These minimalist editions include only the essential build
|
|
||||||
environment. The Lite editions are intended for advanced users who already have - or prefer to install - LLVM, CMake, and
|
|
||||||
Ninja from official sources. These variants offer flexibility without compromising the core functionality required to build
|
|
||||||
ExectOS.
|
|
@ -1,34 +0,0 @@
|
|||||||
+++
|
|
||||||
title = 'XTchain 3.0.1 Released: Bug Fixes & Updates'
|
|
||||||
author = 'Aiken Harris'
|
|
||||||
date = '2025-07-18T10:54:37+02:00'
|
|
||||||
+++
|
|
||||||
Just days after the milestone release of XTchain 3.0.0, we have launched version 3.0.1, delivering targeted improvements
|
|
||||||
and essential bug fixes to correct initial regressions and improve overall functionality across platforms.
|
|
||||||
|
|
||||||
XTchain 3.0.1 may appear as a minor version bump, but its release demonstrates the project's commitment to rapid iteration
|
|
||||||
and user-focused refinement. The update includes the latest versions of LLVM, Ninja and Wine tools (such as widl, wmc and
|
|
||||||
wrc) - three essential tools in the modern compilation ecosystem. These updates were integrated specifically in response
|
|
||||||
to the recent upstream releases, ensuring XTchain remains compatible with the most up-to-date and performant build
|
|
||||||
infrastructure.
|
|
||||||
|
|
||||||
While 3.0.0 marked a significant leap forward for the project - introducing a reworked toolchain architecture and broader
|
|
||||||
platform support - version 3.0.1 builds on that foundation by focusing on polish, reliability, and cross-platform parity.
|
|
||||||
|
|
||||||
#### Key Highlights in XTchain 3.0.1
|
|
||||||
* **Bug Fixes Across the Board**: We addressed several issues uncovered after the 3.0.0 release, including a lingering
|
|
||||||
problem where XTchain attempted to display the version of the non-existent windres tool - an issue that stemmed from an
|
|
||||||
incomplete cleanup of deprecated tool references.
|
|
||||||
* **Improved Windows Environment Support**: One of the top user-requested features has landed: XTchain now works seamlessly
|
|
||||||
within GIT Bash on Windows. This enhancement makes it easier for developers on Windows to interact with the toolchain
|
|
||||||
using familiar Unix-like workflows. Additionally, a new script has been included to help initialize the build environment
|
|
||||||
automatically.
|
|
||||||
* **Enhanced XBUILD Behavior**: A particularly frustrating issue with the xbuild command - where it silently ignored
|
|
||||||
user supplied parameters has been resolved. The tool now correctly passes all build arguments, ensuring predictable
|
|
||||||
behavior for more complex project setups.
|
|
||||||
* **Unified Cross-Platform Experience**: A key development goal in 3.0.1 was to harmonize behavior across Linux and Windows
|
|
||||||
environments. From consistent output formatting to standardized toolchain handling, users can now expect a much more
|
|
||||||
uniform experience regardless of their platform of choice.
|
|
||||||
|
|
||||||
Users are encouraged to update as soon as possible to benefit from the improved tooling, better compatibility, and refined
|
|
||||||
user experience.
|
|
@ -1,60 +0,0 @@
|
|||||||
+++
|
|
||||||
title = 'Major Bugfixing Milestone Unlocks New Development Path for ExectOS'
|
|
||||||
author = 'Aiken Harris'
|
|
||||||
date = '2025-08-20T11:13:37+02:00'
|
|
||||||
+++
|
|
||||||
Over the past month, since the release of XTbuild 3.0.1, development efforts on ExectOS have focused primarily on resolving
|
|
||||||
critical bugs that were blocking further progress on the project. While feature development temporarily took a back seat,
|
|
||||||
the work done during this period has been substantial - especially considering that it was carried out by a single developer.
|
|
||||||
|
|
||||||
These fixes were essential: as new features were being implemented, they frequently triggered unexpected Page Faults in
|
|
||||||
regions of the system where memory behavior should have been stable. After extensive debugging, the root causes were traced
|
|
||||||
to issues such as incorrect stack alignment and faulty memory mapping. Thankfully, many of these problems have now been
|
|
||||||
resolved, paving the way for continued feature development.
|
|
||||||
|
|
||||||
## Key Fixes and Improvements
|
|
||||||
Among the most important technical fixes completed in the past month:
|
|
||||||
* **Removed compiler library dependencies**, particularly the reliance on memset(), ensuring full control over runtime behavior.
|
|
||||||
* **Corrected stack initialization**, taking into account that the stack grows downward and should be initialized to its logical
|
|
||||||
end.
|
|
||||||
* **Proper stack alignment**, preventing subtle memory access issues.
|
|
||||||
* **Enhanced COM port support**, improving serial communication stability.
|
|
||||||
* Resolved a race condition in HlComPortReadLsr by making RingIndicator part of the CPPORT structure instead of using a
|
|
||||||
shared static variable.
|
|
||||||
* **Fixed TSS descriptor limit** to comply with the Intel architecture specification.
|
|
||||||
* **Improved XTLDR behavior**:
|
|
||||||
* Automatic booting of the default system after a timeout now works reliably.
|
|
||||||
* Proper highlighting of the default boot menu entry.
|
|
||||||
* Refined volume handling in XTLDR, allowing for correct detection of CD/DVD drives.
|
|
||||||
* Fixed bootloader logic in XTOS_O and CHAINLDR modules to ensure the system is booted from the correct volume instead of
|
|
||||||
always defaulting to the ESP partition.
|
|
||||||
* **Improved build pipeline**:
|
|
||||||
* Automated builds for both i686 and AMD64.
|
|
||||||
* Separate outputs for debug and release builds.
|
|
||||||
* **Explicit paging activation on AMD64**.
|
|
||||||
* **Correct initialization of memory-related structures** through zero-filling before usage.
|
|
||||||
* **Improved CPUID handling**.
|
|
||||||
* **Replaced XTSTATUS with EFI_STATUS** in the bootloader, aligning with EFI standards.
|
|
||||||
* **Memory mapping and PML handling fixes**:
|
|
||||||
* Fixed a PDE conflict on i686 systems without PAE when mapping last 4MB
|
|
||||||
|
|
||||||
## Additional Enhancements
|
|
||||||
In parallel with the bugfixes, several usability and maintainability improvements were introduced:
|
|
||||||
* Added a build configuration script for compiling the project on Windows.
|
|
||||||
* Replaced hardcoded values with constants and definitions for better maintainability.
|
|
||||||
* Implemented menu scrolling support in the XTLDR bootloader.
|
|
||||||
* Changed build output directories to allow separate debug and release folders.
|
|
||||||
* Implemented kernel parameter support in the bootloader.
|
|
||||||
* Full support for PML2 and PML3 in the bootloader, enabling system boot with or without PAE support.
|
|
||||||
* Introduced the *NOXPA* parameter to disable PAE (i686) and LA57 (AMD64) as needed.
|
|
||||||
* Automatic PML level detection:
|
|
||||||
* The bootloader now queries CPUID for PAE or LA57 support depending on architecture.
|
|
||||||
* If the user hasn't explicitly disabled XPA, the bootloader enables PAE when available.
|
|
||||||
* LA57 remains unsupported for now, but groundwork has been laid.
|
|
||||||
|
|
||||||
## One Month, One Developer, One Giant Leap
|
|
||||||
Given the size and complexity of the fixes, this is a remarkable milestone for just one month of development. More
|
|
||||||
importantly, resolving these core issues has unblocked the project’s forward momentum. With stability greatly improved,
|
|
||||||
the path is now clear to resume development of advanced features without being derailed by low-level system bugs.
|
|
||||||
|
|
||||||
Stay tuned - the next phase of ExectOS development promises to be an exciting one.
|
|
@ -1,11 +0,0 @@
|
|||||||
+++
|
|
||||||
title = 'The People behind ExectOS'
|
|
||||||
date = 2025-08-17T17:44:12+02:00
|
|
||||||
+++
|
|
||||||
ExectOS is built by a tiny team of passionate developers. We are just two people (for now!) who love hacking on operating
|
|
||||||
systems, learning new things, and sharing our work with the world. We keep things open and collaborative - and if you
|
|
||||||
would like to join, you are more than welcome!
|
|
||||||
|
|
||||||
{{< authors >}}
|
|
||||||
|
|
||||||
Want to get involved? Check out our [GIT repository](https://git.codingworkshop.eu.org/xt-sys/exectos) and join us!
|
|
@ -1,8 +0,0 @@
|
|||||||
- nick: belliash
|
|
||||||
name: Rafal Kupiec
|
|
||||||
role: Core Developer & System Architect
|
|
||||||
email: belliash@codingworkshop.eu.org
|
|
||||||
- nick: harraiken
|
|
||||||
name: Aiken Harris
|
|
||||||
role: Core Developer
|
|
||||||
email: harraiken91@gmail.com
|
|
@ -1,2 +1,2 @@
|
|||||||
{{ $paginator := .Paginate (where site.RegularPages.ByDate.Reverse "Type" "news") 5 }}
|
{{ $paginator := .Paginate (where .Site.RegularPages "Type" "in" (slice "news")) }}
|
||||||
{{ partial "list.html" (dict "context" . "paginator" $paginator) }}
|
{{ partial "list.html" (dict "context" . "paginator" $paginator) }}
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<div class="wrapper_footer">
|
<div class="wrapper_footer">
|
||||||
<div class="footer">
|
<div class="footer">
|
||||||
<div class="footer-left">
|
<div class="footer-left">
|
||||||
Copyright© 2017 - 2025, CodingWorkshop
|
Copyright© 2017 - 2024, CodingWorkshop
|
||||||
</div>
|
</div>
|
||||||
<div class="footer-right">
|
<div class="footer-right">
|
||||||
Content is available under <a href="https://www.gnu.org/licenses/fdl-1.3.html">GNU Free Documentation License 1.3 or later</a>.
|
Content is available under <a href="https://www.gnu.org/licenses/fdl-1.3.html">GNU Free Documentation License 1.3 or later</a>.
|
||||||
|
@ -1,23 +0,0 @@
|
|||||||
<table>
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th>Nickname</th>
|
|
||||||
<th>Name</th>
|
|
||||||
<th>Role</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
{{ range .Site.Data.authors }}
|
|
||||||
<tr>
|
|
||||||
<td class="nick-cell">
|
|
||||||
<img src="https://www.gravatar.com/avatar/{{ .email | md5 }}?s=50&d=identicon" class="avatar" />
|
|
||||||
<a href="https://git.codingworkshop.eu.org/xt-sys/exectos/commits/branch/master/search?q=author%3A{{ .nick }}">
|
|
||||||
<span>{{ .nick }}</span>
|
|
||||||
</a>
|
|
||||||
</td>
|
|
||||||
<td>{{ .name }}</td>
|
|
||||||
<td>{{ .role }}</td>
|
|
||||||
</tr>
|
|
||||||
{{ end }}
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
@ -105,56 +105,25 @@ pre code {
|
|||||||
font-weight : normal;
|
font-weight : normal;
|
||||||
}
|
}
|
||||||
|
|
||||||
table {
|
|
||||||
border-collapse : collapse;
|
|
||||||
font-family : "trebuchet ms", verdana, sans-serif;
|
|
||||||
font-size : 14px;
|
|
||||||
margin : 1em auto;
|
|
||||||
width : 90%;
|
|
||||||
}
|
|
||||||
|
|
||||||
td, th {
|
|
||||||
border-bottom : 1px solid #DDDDDD;
|
|
||||||
padding : 6px 15px;
|
|
||||||
text-align : left;
|
|
||||||
}
|
|
||||||
|
|
||||||
td.nick-cell .avatar {
|
|
||||||
border-radius : 50%;
|
|
||||||
display : inline-block;
|
|
||||||
flex-shrink : 0;
|
|
||||||
height : 25px;
|
|
||||||
margin : 0;
|
|
||||||
margin-right : 10px;
|
|
||||||
object-fit : cover;
|
|
||||||
width : 25px;
|
|
||||||
}
|
|
||||||
|
|
||||||
thead th {
|
|
||||||
background-color : #BEE0FF;
|
|
||||||
border-bottom : 2px solid #186196;
|
|
||||||
color : #186196;
|
|
||||||
font-size : 1.1em;
|
|
||||||
}
|
|
||||||
|
|
||||||
tbody tr {
|
|
||||||
background-color : #FFFFFF;
|
|
||||||
}
|
|
||||||
|
|
||||||
tbody tr:nth-of-type(even) {
|
|
||||||
background-color : #f2f2f2;
|
|
||||||
}
|
|
||||||
|
|
||||||
tbody tr:hover {
|
|
||||||
background-color : #e0e0e0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.content {
|
.content {
|
||||||
box-sizing : border-box;
|
|
||||||
font-size : 15px;
|
font-size : 15px;
|
||||||
margin : 1.5em auto 0 auto;
|
margin-left : 30%;
|
||||||
max-width : 1060px;
|
margin-right : 30%;
|
||||||
padding : 0 20px;
|
margin-top : 1.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 1280px) {
|
||||||
|
.content {
|
||||||
|
margin-left : 60px;
|
||||||
|
margin-right : 50px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 1024px) {
|
||||||
|
.content {
|
||||||
|
margin-left : 50px;
|
||||||
|
margin-right : 40px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.content img {
|
.content img {
|
||||||
@ -276,11 +245,6 @@ tbody tr:hover {
|
|||||||
text-align : justify;
|
text-align : justify;
|
||||||
}
|
}
|
||||||
|
|
||||||
.nick-cell {
|
|
||||||
align-items : center;
|
|
||||||
display : flex;
|
|
||||||
}
|
|
||||||
|
|
||||||
.pagination {
|
.pagination {
|
||||||
margin : 0px;
|
margin : 0px;
|
||||||
padding : 0 0 0 0;
|
padding : 0 0 0 0;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user