Import ExectOS Web Site
	
		
			
	
		
	
	
		
	
		
			All checks were successful
		
		
	
	
		
			
				
	
				Builds / ExectOS WebSite (push) Successful in 15s
				
			
		
		
	
	
				
					
				
			
		
			All checks were successful
		
		
	
	Builds / ExectOS WebSite (push) Successful in 15s
				
			Reviewed-on: #1 Reviewed-by: Piotr Likoski <likoski@noreply.codingworkshop.git> Co-authored-by: Rafal Kupiec <belliash@codingworkshop.eu.org> Co-committed-by: Rafal Kupiec <belliash@codingworkshop.eu.org>
This commit is contained in:
		
				
					committed by
					
						 CodingWorkshop Signing Team
						CodingWorkshop Signing Team
					
				
			
			
				
	
				
						parent
						
							83270c38d4
						
					
				
				
					commit
					3e1a7c1932
				
			
							
								
								
									
										23
									
								
								.github/workflows/build.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								.github/workflows/build.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,23 @@ | ||||
| name: Builds | ||||
| run-name: ${{ github.actor }} runs Gitea Actions | ||||
| on: [push] | ||||
|  | ||||
| jobs: | ||||
|   ExectOS WebSite: | ||||
|     runs-on: oscw | ||||
|     container: | ||||
|       image: codingworkshop/oscw-runner:latest | ||||
|     steps: | ||||
|       - name: Clone repository | ||||
|         uses: actions/checkout@v3 | ||||
|         with: | ||||
|           fetch-depth: 0 | ||||
|       - name: Build WebSite | ||||
|         run: hugo | ||||
|       - name: Publish WebSite | ||||
|         if: ${{ github.ref == 'refs/heads/master' }} | ||||
|         env: | ||||
|           OSCW_ARTIFACTS_HOSTNAME: ${{ secrets.OSCW_ARTIFACTS_HOSTNAME }} | ||||
|           OSCW_ARTIFACTS_USERNAME: ${{ secrets.OSCW_ARTIFACTS_USERNAME }} | ||||
|           OSCW_ARTIFACTS_USERKEY: ${{ secrets.OSCW_ARTIFACTS_USERKEY }} | ||||
|         run: webpage_publish public/ 1e8c78e4764c760b3d20991c8b769cf5 | ||||
							
								
								
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,2 @@ | ||||
| public/ | ||||
| .hugo_build.lock | ||||
| @@ -1 +1,2 @@ | ||||
| ## ExectOS Web Site | ||||
| This repository contains the entire content of the ExectOS Website, powered by the Hugo Static Site Generator. | ||||
|   | ||||
							
								
								
									
										43
									
								
								config.toml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								config.toml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,43 @@ | ||||
| baseURL = "https://exectos.eu.org/" | ||||
| disableKinds = ["taxonomy"] | ||||
| title = "ExectOS Operating System" | ||||
| theme = "exectos" | ||||
| languageCode = "en-us" | ||||
| defaultContentLanguage = "en" | ||||
| paginate = 10 | ||||
|  | ||||
| [menu] | ||||
|  | ||||
| [[menu.main]] | ||||
| 	name = "Documentation" | ||||
| 	pre = "<div class='fa fa-book'></div> " | ||||
| 	url  = "/documentation" | ||||
| 	weight = 1 | ||||
|  | ||||
| [[menu.main]] | ||||
| 	name = "Contributing" | ||||
| 	pre = "<div class='fa fa-code-fork'></div> " | ||||
| 	url  = "/contributing" | ||||
| 	weight = 2 | ||||
|  | ||||
| [[menu.main]] | ||||
| 	name = "Download" | ||||
| 	pre = "<div class='fa fa-cubes'></div> " | ||||
| 	url  = "/download" | ||||
| 	weight = 3 | ||||
|  | ||||
| [[menu.main]] | ||||
| 	name = "Source Code" | ||||
| 	pre = "<div class='fa fa-codepen'></div> " | ||||
| 	url  = "/source-code" | ||||
| 	weight = 4 | ||||
|  | ||||
| [[menu.main]] | ||||
| 	name = "Discord" | ||||
| 	pre = "<div class='fa fa-wechat'></div> " | ||||
| 	url = "https://discord.com/invite/zBzJ5qMGX7" | ||||
| 	weight = 5 | ||||
|  | ||||
| [params] | ||||
| 	defaultKeywords = ["ExectOS", "XT", "XTOS", "efi", "gpl3", "kernel", "nt", "open source", "os", "osdev", "uefi boot", "win32"] | ||||
| 	defaultDescription = "ExectOS Operating System" | ||||
							
								
								
									
										48
									
								
								content/_index.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										48
									
								
								content/_index.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,48 @@ | ||||
| +++ | ||||
| title = 'About Exectos' | ||||
| date = 2024-06-16T12:12:40+02:00 | ||||
| +++ | ||||
| ## About | ||||
| ExectOS aims to be a stable and flexible, general purpose operating system written from scratch. It is designed to be | ||||
| modular, maintainable and compatible with existing software. It implements a brand new XT architecture and features own | ||||
| native application interface. On the backend, it contains a powerful driver model between device drivers and the kernel, | ||||
| that enables kernel level components to be upgraded without a need to recompile all drivers. | ||||
|  | ||||
| ## XT Architecture | ||||
| ExectOS is a preemptive, reentrant multitasking operating system that implements the XT architecture which derives from | ||||
| NT™ architecture. It is modular, and consists of two main layers: microkernel and user modes. Its' kernel mode has | ||||
| full access to the hardware and system resources and runs code in a protected memory area. It consists of executive | ||||
| services, which is itself made up on many modules that do specific tasks, a kernel and drivers. Unlike the NT™, system | ||||
| does not feature a separate Hardware Abstraction Layer (HAL) between the physical hardware and the rest of the OS. Instead, | ||||
| XT architecture integrates a hardware specific code with the kernel. The user mode is made up of subsystems and it has been | ||||
| designed to run applications written for many different types of operating systems. This allows us to implement any | ||||
| environment subsystem to support applications that are strictly written to the corresponding standard (eg. DOS, or POSIX). | ||||
| Thanks to that ExectOS will allow to run existing software, including Win32 applications. | ||||
|  | ||||
| ## Features | ||||
|  * Completely free, Open Source and community-driven modern Operating System. | ||||
|  * Native multiple architecture support. It runs on x86 and x86_64 and is portable to other architectures. | ||||
|  * Hardware layer API allows for a single unified kernel. There is no need to maintain a separate kernel forks. | ||||
|  * Uses a couple of ideas from other open source projects, but it’s our own ideas that really sets us apart and defines | ||||
|    ExectOS. The majority of code is original, not forked. | ||||
|  * Modular design for better compatibility with existing software and drivers, enabling binaries to remain compatible even | ||||
|    when the core system is updated. | ||||
|  * Own, XT drivers for commonly used devices as well as NT™ drivers compatibility layer for better hardware support. | ||||
|  * Technical support directly from the architects and developers of the system. | ||||
|  | ||||
| ## Why | ||||
|  * We believe, there is no ideal Operating System on the market. During ExectOS development, we try to bring most useful | ||||
|    features known from existing solutions, while keeping compatibility with NT™ architecture at desired level. | ||||
|  * Some of our ideas differ greatly from other projects and it is much easier if we do not have to fight legacy code and | ||||
|    ideas. | ||||
|  * We need the freedom to break things when necessary. | ||||
|  | ||||
| ## Goals | ||||
|  * Keep the greatest advantages of the NT™ architecture, while implementing new features and technologies known from | ||||
|    other Operating Systems. | ||||
|  * Flexibility where it makes sense to provide flexibility. | ||||
|  * Be able to deliver features that other non-commercial Operating Systems consider too ambitious. | ||||
|  | ||||
| ## Requirements | ||||
| ExectOS is in very early development stage, thus its requirements have been not specified yet. However according to its | ||||
| design, it requires a modern EFI enabled hardware. It is not possible currently to boot ExectOS on a legacy BIOS. | ||||
							
								
								
									
										45
									
								
								content/contact-us.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								content/contact-us.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,45 @@ | ||||
| +++ | ||||
| title = 'Contact Us' | ||||
| date = 2024-06-17T18:11:52+02:00 | ||||
| +++ | ||||
| ### Discord | ||||
| ExectOS has a Discord Server to socialize, get support, support others, learn, contribute, collaborate, and stay up to | ||||
| date on all things related to XTOS and Open Source. This is also a place where you can meet ExectOS Developers. Everyone | ||||
| is welcome to [Join our Discord Server](https://discord.com/invite/zBzJ5qMGX7). | ||||
|  | ||||
| ### Why Discord? | ||||
| Discord is a VoIP instant messaging and digital distribution platform. It | ||||
|  * is broadly accessible, | ||||
|  * is popular with non-technical people, | ||||
|  * broadens the appeal of XTOS beyond traditional spaces and audiences, | ||||
|  * allows for communication over voice, video, and text. | ||||
|  | ||||
| ### Guidelines & Rules | ||||
|  1. Treat everyone with respect. Absolutely no harassment, witch hunting, sexism, racism, or hate speech will be tolerated. | ||||
|  2. No age-restricted or obscene content. This includes text, images, or links featuring nudity, sex, hard violence, or | ||||
|     other graphically disturbing content. | ||||
|  3. No spam or self-promotion (server invites, advertisements, etc) without permission from a staff member. This includes | ||||
|     DMing fellow members. | ||||
|  4. Do not share real media depicting gore, excessive violence, or animal harm, especially with the intention to harass | ||||
|     or shock others. | ||||
|  5. Do not share content that violates anyone's intellectual property or other rights. | ||||
|  6. Do not distribute or provide access to content involving the hacking, cracking, or distribution of stolen goods, | ||||
|     pirated content, or accounts. | ||||
|  7. If you see something against the rules or something that makes you feel unsafe, let staff know. We want this server | ||||
|     to be a welcoming space! | ||||
|  | ||||
| ### How to use Discord? | ||||
|  * [Official Discord client for any device](https://discord.com/download) | ||||
|  * [Discord Client via the Web Browser](https://discord.gg/) | ||||
|  * Any third-party client | ||||
|  | ||||
| ### Channel Overview | ||||
|  * **Activity**: Staying up-to-date with GIT and development activity. | ||||
|  * **Announcements**: Staying informed and up-to-date with important activities. | ||||
|  * **General**: Getting help, helping and supporting others, leveling up knowledge, participating and contributing. | ||||
|  * **Offtopic**: Connecting and enjoying time with other people in the community. | ||||
|  | ||||
| ## ExectOS Channels | ||||
| Discover more about ExectOS and dive into a world of insightful content by visiting our official | ||||
| [YouTube](https://www.youtube.com/@XT-Sys-dg3yf) channel. Join our growing community of followers and stay up-to-date | ||||
| with ExectOS by subscribing and turning on notifications. Visit us now and start watching! | ||||
							
								
								
									
										17
									
								
								content/contributing.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								content/contributing.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,17 @@ | ||||
| +++ | ||||
| title = 'Contributing' | ||||
| date = 2024-06-16T22:31:24+02:00 | ||||
| +++ | ||||
| ### Contributing to Community | ||||
|  * [Contributing to ExectOS](/contributing/contributing-to-exectos) | ||||
|  | ||||
| ### Contributing Documentation | ||||
|  * [Updating and Writing Documentation](/contributing/writing-documentation) | ||||
|  | ||||
| ### Contributing Code | ||||
|  * [Building ExectOS](/contributing/building-exectos) | ||||
|  * [Clean Room Guidelines](/contributing/clean-room-guidelines) | ||||
|  * [Developing ExectOS](/contributing/developing-exectos) | ||||
|  * [ExectOS Coding Style](/contributing/coding-style) | ||||
|  * [First steps with GIT](/contributing/working-with-git) | ||||
|  * [Submitting Patches](/contributing/submitting-patches) | ||||
							
								
								
									
										58
									
								
								content/contributing/building-exectos.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										58
									
								
								content/contributing/building-exectos.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,58 @@ | ||||
| +++ | ||||
| title = 'Building ExectOS' | ||||
| 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 it. | ||||
| Once this is done and the source code is ready, open a terminal and launch the XTChain Build Environment. | ||||
| ``` | ||||
| xtchain | ||||
| ``` | ||||
| Then, set your target build architecture and the build type and configure the project. Choose `i686` or `amd64` depending | ||||
| on the architecture you wish to target. The build type can be either `DEBUG` for debugging purposes or `RELEASE` for | ||||
| a production build. | ||||
| ``` | ||||
| charch [i686|amd64] | ||||
| chbuild [DEBUG|RELEASE] | ||||
| ./configure.sh | ||||
| ``` | ||||
| After the sources are configured, navigate to the build directory and compile the source code. | ||||
| ``` | ||||
| cd build | ||||
| xbuild | ||||
| ``` | ||||
| Afterwards, you will find the binaries in `build/output/binaries` directory. Apart from that, depending on build type, you | ||||
| can also find a debug symbols in PDB format in `build/output/symbols` folder and precompiled libraries that can be used to | ||||
| link other software using XTDK in `build/output/library` | ||||
|  | ||||
| ## Creating Qemu Disk Image | ||||
| If you want to build a disk image that is ready to use with Qemu, you can use the following command: | ||||
| ``` | ||||
| xbuild diskimg | ||||
| ``` | ||||
| This will create a disk image that you can boot within a Qemu Virtual Machine, or convert to other format for use within | ||||
| other hypervisor, like VirtualBox. | ||||
|  | ||||
| ## Testing with Qemu | ||||
| 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 you can run these commands from your build directory. | ||||
| ``` | ||||
| xbuild testkvm  # For KVM hardware virtualization | ||||
| ``` | ||||
| or | ||||
| ``` | ||||
| xbuild testtcg  # For TCG software emulation | ||||
| ``` | ||||
| These commands will automatically configure Qemu with the appropriate settings for ExectOS and start the virtual machine. | ||||
| 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: | ||||
| ``` | ||||
| xbuild bochsvm | ||||
| ``` | ||||
| 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. | ||||
|  | ||||
| Remember that the performance and debugging features will vary depending on whether you use KVM, TCG, or Bochs. KVM | ||||
| requires that your host machine supports hardware virtualization, while TCG is a pure software emulator which works on | ||||
| systems without hardware virtualization. Bochs provides a rich set of debugging features, which can be useful when | ||||
| troubleshooting complex issues. | ||||
							
								
								
									
										36
									
								
								content/contributing/clean-room-guidelines.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								content/contributing/clean-room-guidelines.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,36 @@ | ||||
| +++ | ||||
| title = 'Clean Room Guidelines' | ||||
| date = 2024-06-17T23:11:23+02:00 | ||||
| +++ | ||||
| You sometimes run into a need to use the [clean-room design](http://en.wikipedia.org/wiki/Clean_room_design) techniques | ||||
| to work around the problem without infringing on any copyrights. While you attempt at reverse engineering, all | ||||
| corresponding contributions should follow | ||||
| [Council Directive 91/250/EEC](https://eur-lex.europa.eu/legal-content/EN/ALL/?uri=celex%3A31991L0250), and | ||||
| [Directive (EU) 2016/943](https://eur-lex.europa.eu/eli/dir/2016/943/oj) of the European Parliament and any newer | ||||
| directives related to reverse engineering. As per | ||||
| [Article 6 Decompilation 1. (a)](https://eur-lex.europa.eu/legal-content/EN/ALL/?uri=celex%3A31991L0250) you must own | ||||
| a legal copy/license of the software before doing any attempts at reverse engineering. The software must be officially | ||||
| deprecated and/or obsolete. If you live outside of the European Union, you should follow similar rules described in legal | ||||
| acts issued by the local authorities if they conform to the EU law. This especially means, that | ||||
|  | ||||
| #### You are allowed to: | ||||
|  * **Decompile for Interoperability**: According to the directives, decompilation is permissible when it's necessary to | ||||
|    achieve interoperability with other software. This means you can reverse engineer parts of the software to understand | ||||
|    the underlying interfaces. | ||||
|  * **Own a Legal Copy**: You must own a legal copy or license of the software you wish to reverse engineer. This ensures | ||||
|    that your starting point is within legal bounds. | ||||
|  * **Work with Obsolete Software**: The software you reverse engineer should be obsolete or no longer maintained by the | ||||
|    manufacturer. This typically applies to software that is no longer receiving updates or support. | ||||
|  | ||||
| #### You are NOT allowed to: | ||||
|  * **Infringe Copyrights**: You must not reproduce code or utilize proprietary algorithms from the software without | ||||
|    permission, as this would infringe on the copyright. | ||||
|  * **Break Protection Measures**: You are not permitted to crack or bypass any form of copy protection or digital rights | ||||
|    management that the software employs. | ||||
|  * **Commercially Exploit the Work**: You should not use the knowledge gained from reverse engineering for commercial | ||||
|    exploitation or to create direct competitors, unless you have specific agreements that allow for such activities. | ||||
|  * **Reveal Trade Secrets**: It is generally illegal to uncover and reveal trade secrets through the process of reverse | ||||
|    engineering. | ||||
|  | ||||
| Remember, laws and regulations vary by jurisdiction and change over time, so it's crucial to stay updated on the current | ||||
| laws. | ||||
							
								
								
									
										6
									
								
								content/contributing/coding-style.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								content/contributing/coding-style.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,6 @@ | ||||
| +++ | ||||
| title = 'ExectOS Coding Style' | ||||
| date = 2024-06-18T00:20:07+02:00 | ||||
| +++ | ||||
| At the moment of writing this article, no coding style was established. You should check how existing code looks like and | ||||
| follow its current formatting. | ||||
							
								
								
									
										30
									
								
								content/contributing/contributing-to-exectos.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								content/contributing/contributing-to-exectos.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,30 @@ | ||||
| +++ | ||||
| title = 'Contributing to ExectOS' | ||||
| date = 2024-06-17T22:35:51+02:00 | ||||
| +++ | ||||
| The ExectOS project and CodingWorkshop Team always seek new contributors from all skill levels. No matter if you are | ||||
| a developer, tester, designer, or techwriter, your contributions are always appreciated. | ||||
|  | ||||
| ### Software Developers | ||||
| We are always looking for people proficient in C and/or Assembly, especially familiar with tools such as Bochs, Qemu, | ||||
| or VirtualBox. Writing an Operating System is not a beginner's task. In fact, writing an Operating System is usually | ||||
| considered the most difficult programming task. Join the exclusive ranks of people knowing OSDev concepts, and yet | ||||
| smaller ranks of people knowing the secrets of NT™ architecture. | ||||
|  | ||||
| ### Testers | ||||
| No software is usable if it is found to be unstable. Writing an Operating System, is yet more complex task. Tester role | ||||
| is responsible for assisting the development process by running [builds](/download) and providing a feedback. All and any | ||||
| information about issues you encountered during this process can be | ||||
| [reported](https://git.codingworkshop.eu.org/xt-sys/exectos/issues). The more detailed report is, the easier it will be | ||||
| to fix it. At least basic knowledge in collecting information from a crash, like backtraces and knowledge of using | ||||
| debugger will help you. When submitting issues, take care that the bug report is not a duplicate of an already existing, | ||||
| open issue. You should always follow the template specified for issues in our Gitea. | ||||
|  | ||||
| ### Technical Writers | ||||
| As a team, we focus mostly on OS development. We are looking for some creative people to update and write documentation, | ||||
| post content to this website as well as social media accounts to promote ExectOS. New web site design ideas and bug fixes | ||||
| are as well welcome. | ||||
|  | ||||
| ### Community Managers | ||||
| The ExectOS community keeps in touch via [Discord](/contact-us). Community Manager role is responsible to keep people | ||||
| involved, keep discussions going and moderate. | ||||
							
								
								
									
										38
									
								
								content/contributing/developing-exectos.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								content/contributing/developing-exectos.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,38 @@ | ||||
| +++ | ||||
| title = 'Developing ExectOS' | ||||
| date = 2024-06-18T16:36:47+02:00 | ||||
| +++ | ||||
| We leave you free to choose your working environment, but we also recommend working with VS Code, or VS Codium. Both are | ||||
| free to use, open-source IDEs, compatible with Windows, Linux, and macOS operating systems. They falls under the same | ||||
| category as Atom, Sublime, and Text Wrangler, but they also has more advanced features. While the first one is am original | ||||
| code editor from the Microsoft©, VS Codium is essentially a telemetry-free, open-source version of VS Code. | ||||
|  | ||||
| ### Recommended Extensions | ||||
|  * **[Clangd](https://open-vsx.org/extension/llvm-vs-code-extensions/vscode-clangd)**: helps developers write, | ||||
|    understand and improve C/C++ code by providing code completion, compile errors and warnings, hover information and | ||||
|    inlay hints, include management, code formatting and more. | ||||
|  * **[CMake](https://open-vsx.org/extension/twxs/cmake)**: extension provides support for CMake in Visual Studio Code. | ||||
|  * **[Codeium](https://open-vsx.org/extension/Codeium/codeium)**: modern coding superpower, a free code acceleration | ||||
|    toolkit built on cutting edge AI technology. Currently, Codeium provides autocomplete, chat, and search capabilities | ||||
|    in 70+ languages, with lightning fast speeds and state-of-the-art suggestion quality. | ||||
|  * **[GNU Assembler Language Support](https://open-vsx.org/extension/basdp/language-gas-x86)**: extension provides | ||||
|    language support for x86 and x86_64 assembly language in AT&T dialect. | ||||
|  * **[Markdown Preview Enhanced](https://open-vsx.org/extension/shd101wyy/markdown-preview-enhanced)**: extension that | ||||
|    provides many useful functionalities such as automatic scroll sync, math typesetting, mermaid, PlantUML, pandoc, | ||||
|    PDF export, code chunk, presentation writer, etc. | ||||
|  | ||||
| ### Getting Started with VS Code | ||||
| Opening a project in Visual Studio Code is straightforward, especially that you can find `ExectOS.code-workspace` file | ||||
| in project's GIT repository. Once you checkout the source code, you can open the workspace file directly from the command | ||||
| line: | ||||
| ``` | ||||
| code ExectOS.code-workspace | ||||
| ``` | ||||
| Alternatively, you can start VS Code and use the menu options: | ||||
|  * Open Visual Studio Code. | ||||
|  * Go to File > Open Workspace from File... | ||||
|  * Navigate to the directory containing your cloned repository. | ||||
|  * Select the ExectOS.code-workspace file and click Open. | ||||
|  | ||||
| VS Code will load everything defined in the workspace file, including folder structure and settings specific to the | ||||
| ExectOS project. You're now ready to start working on the project. | ||||
							
								
								
									
										52
									
								
								content/contributing/submitting-patches.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								content/contributing/submitting-patches.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,52 @@ | ||||
| +++ | ||||
| title = 'Submitting Patches' | ||||
| date = 2024-06-17T23:47:42+02:00 | ||||
| +++ | ||||
| In order to review code better and use established lines of communication, we accept code in the form of Pull Requests | ||||
| on our [Gitea](https://git.codingworkshop.eu.org/xt-sys/exectos/pulls) instance. The process may seem a little bit | ||||
| complicated at first, but it will become very natural. It is important for us, to make sure the author and email settings | ||||
| for your GIT are configured correctly. You should follow our '[Working with GIT](/contributing/working-with-git)' document, | ||||
| but the key point is to use your real name and valid e-mail address. This is not just for developers to show a stronger | ||||
| commitment and establish trust, but also helps discourage irresponsible programmers from submitting unacceptable code. | ||||
| You will need a Gitea account which must also use your real name. You should be precise; having the names match helps in | ||||
| identifying commits. | ||||
|  | ||||
| ### Patch Guidelines | ||||
| In order to make your patches as easy to check as possible, try to keep them small, clear, and atomic: | ||||
|  * Include only closely related changes in one commit. | ||||
|  * Don't implement extra things that no one uses. | ||||
|  * Try to limit each merge request to only a few commits. | ||||
|  * Limit a commit to changing a single file or component. | ||||
|  | ||||
| Above rules make the Pull Request easier to review. | ||||
|  | ||||
| ### Commit Message | ||||
|  | ||||
|  | ||||
| ### Quality Check | ||||
| It never hurts to check through your changes one last time. Take a while, to look at each line of the patch and make sure | ||||
| there are no unintentional or unrelated changes. Also make sure that the layout of your code conforms to our | ||||
| [coding style](/contributing/coding-style). | ||||
|  | ||||
| ### Sending Pull Request | ||||
| After checking in your local changes, you can submit a Pull Request on Gitea to get your changes upstream. This requires | ||||
| you to be working on a Gitea fork. You should make up a temporary branch name for your changes. That branch will be deleted | ||||
| once the merge request is merged, so it's better to avoid using the master branch directly. | ||||
|  | ||||
| ### Managing Pull Request | ||||
| After you've submitted your merge request, a reviewer will be assigned to it, if someone is responsible for that area of | ||||
| the code. You can also assign a reviewer yourself if you know who the right person is. If a reviewer gives some feedback | ||||
| or a critique, carefully think about what they say and fix your patch before resubmitting. When updating your changes, you | ||||
| can simply push the fixes as a new commit on top of your Pull Request. This is prefferred way, as allows us to compare | ||||
| code before and after your fixes. All commits can be squashed by a reviewer upon merge. | ||||
|  | ||||
| If your Pull Request remains in the queue for several weeks without being committed and without feedback, you can ask for | ||||
| further suggestions on our [Discord](/contact-us) server. If you have patches rejected multiple times, don't be discouraged. | ||||
| You might consider finding a mentor willing to pre-review your changes before you submit them again. | ||||
|  | ||||
| ### Reviewing Pull Request | ||||
| If you are asked to review a merge request, and find things that need to be improved, you should add a comment to the merge | ||||
| request from the Gitea interface. You can also fix things up yourself and push updated commits to the original branch, once | ||||
| submitter explicitly give you access to his GIT repository. If you think that the merge request is good to go in, you | ||||
| should mark it approved. As a rule, a merge request won't be committed until all reviewers have approved it. If you have | ||||
| been assigned as a reviewer but you feel that you cannot meaningfully review the changes, feel free to unassign yourself. | ||||
							
								
								
									
										53
									
								
								content/contributing/working-with-git.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										53
									
								
								content/contributing/working-with-git.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,53 @@ | ||||
| +++ | ||||
| title = 'Working with GIT' | ||||
| date = 2024-06-17T17:31:15+02:00 | ||||
| +++ | ||||
| The preferred method of contributing patches to ExectOS is via our self-hosted [Gitea](https://git.codingworkshop.eu.org) | ||||
| instance. | ||||
|  | ||||
| ### Initial Setup | ||||
| First of all you will have to create an account on our [Gitea](https://git.codingworkshop.eu.org) instance. Do note that | ||||
| you can also use your existing GitHub or GitLab account via OAuth. Creating new account on our Gitea is pretty straight | ||||
| forward, anyway: | ||||
|  1. Go to our Gitea instance and click on "[Register](https://git.codingworkshop.eu.org/user/sign_up)" link in top, | ||||
|     right corner. | ||||
|  2. Fill in your information. | ||||
|  3. Add your SSH key(s) for easier pushing via SSH instead of HTTPS. | ||||
|  4. Consider also enabling 2FA for improved security access and signing your commits with GPG. | ||||
|  | ||||
| ### Cloning Repositories | ||||
|  1. Go to Gitea's frontage after you’ve signed in and search for the repository you want to clone. Click on its name to | ||||
|     open it. | ||||
|  2. Click on 'Fork' button, to create your own copy of the repository. | ||||
|  3. Either clone your fork of it, with | ||||
|     ``` | ||||
|     git clone ssh://git@git.codingworkshop.eu.org:8822/<username>/<repository>.git . | ||||
|     ``` | ||||
|     or if you already cloned the repo you can add your fork as remote, with | ||||
|     ``` | ||||
|     git remote add <my_fork> ssh://git@git.codingworkshop.eu.org:8822/<username>/<repository>.git | ||||
|     ``` | ||||
|  | ||||
| ### Proper GIT Setup | ||||
| ExectOS uses GIT for Source Code Management (SCM) and GIT uses a username to associate commits with an identity. The GIT | ||||
| username is not the same as your Gitea username. You can change the name that is associated with your GIT commits. The new | ||||
| name you set will be visible in any future commits you push to Gitea from the command line. In order to accept your | ||||
| patches, we require you to provide your real name and valid e-mail address. This can be done with the following commands: | ||||
| ``` | ||||
| git config --global user.name "<your real name>" | ||||
| git config --global user.email "<your email>" | ||||
| ``` | ||||
| Above command will update username and email globally, for every repository on your computer. Alternatively, these changes | ||||
| can be introduced for a single repository, by changing the current working directory to the local repository where you want | ||||
| to configure the name that is associated with your GIT commits and issueing the following commands: | ||||
| ``` | ||||
| git config user.name "<your real name>" | ||||
| git config user.email "<your email>" | ||||
| ``` | ||||
|  | ||||
| ### Keeping Forks Updated | ||||
| You should always ensure that you have the latest version of the repository you want to work on before starting your work to | ||||
| avoid duplicating work and merge conflicts. You can do so with: | ||||
| ``` | ||||
| git pull <remote> master --rebase | ||||
| ``` | ||||
							
								
								
									
										36
									
								
								content/contributing/writing-documentation.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								content/contributing/writing-documentation.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,36 @@ | ||||
| +++ | ||||
| title = 'Writing Documentation' | ||||
| date = 2024-06-17T18:08:34+02:00 | ||||
| +++ | ||||
| Our documentation is integrated with this website and it is stored in GIT repository. This website is powered by the Hugo | ||||
| Static Site Generator. All pages are created as simple Markdown files and everyone is free to submit Pull Requests to | ||||
| enhance the website. This article will help you better understand the proper guidelines for submitting documentation. | ||||
|  | ||||
| ### Guidelines | ||||
|  * **Use standard English**: Use standard United States (U.S.) English throughout all technical publications. | ||||
|  * **Write in active-voice**: Active voice sentences clarify the performer of an action and are easier to understand than | ||||
|    passive-voice sentences. | ||||
|  * **Use present simple tense**: Users read documentation to perform tasks or gather information. For users, these | ||||
|    activities take place in their present, so the present tense is appropriate in most cases. | ||||
|  * **Write in second person**: Users are more engaged with documentation when you use second person (that is, you address | ||||
|    the user as "you"). | ||||
|  * **Use appropriate mood**: For procedures, use imperative mood. | ||||
|  * **Avoid ambiguous titles**: Each title should include a clear description of the page’s subject. | ||||
|  * **Write objectively**: Do not use humor, jargon, exclamation marks, idioms, metaphors, and other colloquialisms. | ||||
|  * **Write positively**: Write in a positive tone. Positive sentences improve readability. | ||||
|  * **Avoid personification**: Avoid the adverbs such as "probably", "hopefully", "basically", and so on. | ||||
|  * **Do not use contractions**: Generally, do not contract the words. | ||||
|  * **Use spelling and grammar checking tools**: Run text through spelling and grammar checking tools, if available. | ||||
|  | ||||
| ### Testing Documentation | ||||
|  1. [Download](https://gohugo.io/) Hugo v0.125.7 or newer. | ||||
|  2. Open a shell in the root of your repository and use below command to start server | ||||
|     ``` | ||||
|     hugo server -DF | ||||
|     ``` | ||||
|  3. Open `http://localhost:1313/` in your browser to access the website and check the results. | ||||
|  | ||||
| ### Submitting Patches | ||||
| We welcome patches for both documentation and the website. We use the GNU Free Documentation License 1.3 or later for all | ||||
| documentation and website content. Contributions using other licenses are unlikely to be accepted. Patches should be | ||||
| contributed via our [Gitea instance](https://git.codingworkshop.eu.org/xt-sys/website). | ||||
							
								
								
									
										15
									
								
								content/documentation.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								content/documentation.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,15 @@ | ||||
| +++ | ||||
| title = 'Documentation' | ||||
| date = 2024-06-16T22:27:36+02:00 | ||||
| +++ | ||||
| ### Getting Started | ||||
|  * [Frequently Asked Questions](/faq) | ||||
|  * [Get in Touch](/contact-us) | ||||
|  * [Installation Guide](/documentation/install-guide) | ||||
|  | ||||
| ### Contributing Documentation | ||||
|  * [Contributing to ExectOS](/contributing) | ||||
|  * [Working with GIT](/contributing/working-with-git) | ||||
|  | ||||
| ### Technical Details | ||||
|  * [XT Boot Loader](/documentation/xtldr) | ||||
							
								
								
									
										50
									
								
								content/documentation/install-guide.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										50
									
								
								content/documentation/install-guide.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,50 @@ | ||||
| +++ | ||||
| title = 'Installation Guide' | ||||
| date = 2024-06-17T16:41:29+02:00 | ||||
| +++ | ||||
| ExectOS is in early development phase and thus it is NOT suitable for daily use, especially on real hardware. It is | ||||
| recommended to run it in a virtual machine like Qemu or VirtualBox. Otherwise, you act at your own risk! | ||||
|  | ||||
| ### Running in Qemu | ||||
| Running ExectOS in Qemu is straight-forward, as our build pipeline produces a disk image, that is ready to use in Qemu. | ||||
| Once you download it and extract, you can use below commands to run the virtual machine, depending on the target CPU | ||||
| architecture of the image. For x86_64 use: | ||||
| ``` | ||||
| qemu-system-x86_64 -cpu host -enable-kvm -m 2G -hda disk-amd64.img -serial stdio \ | ||||
|                    -drive file=sdk/firmware/ovmf_code_amd64.fd,if=pflash,format=raw,unit=0,readonly=on \ | ||||
|                    -drive file=sdk/firmware/ovmf_vars_amd64.fd,if=pflash,format=raw,unit=1 | ||||
|  | ||||
| ``` | ||||
| And for i686 use: | ||||
| ``` | ||||
| qemu-system-i386 -cpu host -enable-kvm -m 1G -hda disk-i686.img -serial stdio \ | ||||
|                    -drive file=sdk/firmware/ovmf_code_i686.fd,if=pflash,format=raw,unit=0,readonly=on \ | ||||
|                    -drive file=sdk/firmware/ovmf_vars_i686.fd,if=pflash,format=raw,unit=1 | ||||
|  | ||||
| ``` | ||||
| Above commands require an UEFI firmware to be available. It can be found in the | ||||
| [ExectOS GIT repository](https://git.codingworkshop.eu.org/xt-sys/exectos/src/branch/master/sdk/firmware). | ||||
|  | ||||
| ### Running in VirtualBox | ||||
| VirtualBox is commonly used for running the system in an isolated environment. In this case, the same disk image as | ||||
| for Qemu can be used. However, it needs to be converted to QCOW2 format, that is supported by VirtualBox. This can be | ||||
| done with the following command: | ||||
| ``` | ||||
| qemu-img convert -O qcow2 disk.img disk.qcow2 | ||||
| ``` | ||||
| Once, the disk image is converted, you can create a new virtual machine. As an Operating System, you can choose either | ||||
| 32-bit or 64-bit Windows® 10, depending on ExectOS disk image architecture. Just make sure, that EFI support is | ||||
| enabled. | ||||
|  | ||||
| ### Running on Bare Metal | ||||
| It is recommended to not install, nor run ExectOS on a real hardware. Otherwise, installation should be | ||||
| straight-forward and self descriptive: | ||||
|  * Download a binary package or build XTOS yourself. | ||||
|  * Prepare a pendrive or USB stick. It should have at least first partition formatted as FAT32. | ||||
|  * Copy all binaries to USB drive, keeping the existing directory structure. Contents of the archive, or contents of | ||||
|    `build/output/binaries` is the root of your drive. Do NOT paste them into any subdirectory. | ||||
|  * Reboot the computer. | ||||
|  * Enter Firmware Setup or Boot Selection menu and choose your USB drive. | ||||
|  * Viola, enjoy! | ||||
|  | ||||
| In case of any problems, take a photo of your screen and contact with ExectOS developers. | ||||
							
								
								
									
										62
									
								
								content/documentation/xtldr.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										62
									
								
								content/documentation/xtldr.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,62 @@ | ||||
| +++ | ||||
| title = 'XT Boot Loader' | ||||
| date = 2024-06-16T23:43:56+02:00 | ||||
| +++ | ||||
| XTLDR (abbreviation of XT Loader) is the boot loader dedicated for XTOS. It is the first program launched by the Unified | ||||
| Extensible Firmware Interface (UEFI) of the computer and is responsible for loading the rest of ExectOS. The procedure is | ||||
| quite different for UEFI and BIOS systems. However currently, legacy BIOS boot procedure is not supported by ExectOS. | ||||
|  | ||||
| ### UEFI | ||||
| The Unified Extensible Firmware Interface (UEFI) has support for reading both the partition table as well as file systems. | ||||
| UEFI does not launch any boot code from the Master Boot Record (MBR) whether it exists or not, instead booting relies on | ||||
| boot entries in the NVRAM. The UEFI specification mandates support for the FAT12, FAT16, and FAT32 file systems, as well | ||||
| as ISO9660 for optical discs. Any conformant vendor can optionally add support for additional file systems. | ||||
|  | ||||
| UEFI launches EFI applications, e.g. boot loaders, boot managers, UEFI shell, etc. These applications are usually stored | ||||
| as files in the EFI system partition (ESP). The applications can be launched by adding a boot entry to the NVRAM or from | ||||
| the UEFI shell. | ||||
|  | ||||
| ### Startup Process | ||||
| When a PC is powered on its UEFI firmware initializes the hardware components of the system. This includes CPU, memory, | ||||
| and device initialization. Firmware has its own boot manager, which is responsible for loading UEFI applications stored | ||||
| in the EFI System Partition (ESP), a dedicated partition on a data storage device, formatted with any  from the supported | ||||
| filesystem and attempts to load the selected EFI application (usually an OS bootloader) into memory and transfers control | ||||
| to it. | ||||
|  | ||||
| XTLDR accesses the file system on the ESP partition and reads the xtldr.ini file to determine what Operating Systems are | ||||
| present. Also additional configuration, like debugging options is loaded. Afterwards, XTLDR loads additional modules, in | ||||
| order to extend its functionality as well as to support additional file systems, that are normally not supported by UEFI. | ||||
| This allows to boot Operating System kernel from the partition other to ESP. Then boot loader menu is presented to the | ||||
| user. | ||||
|  | ||||
|  | ||||
|  | ||||
| After a user choose the position from the list, or timeout exceeded, XTLDR continues with loading additional modules, | ||||
| specific to the chosen Operating System. If a non XTOS is selected, XTLDR loads the associated kernel file listed in the | ||||
| configuration file and gives it control. Otherwise, if XTOS is selected, boot loader loads registry HIVE data, kernel | ||||
| and boot drivers. Finally, starts the kernel, passing to it all the necessary information. | ||||
|  | ||||
| ### XTLDR Configuration | ||||
| XTLDR's first action is to read the xtldr.ini file. It describes whole configuration for the boot loader as well as allows | ||||
| the user to choose which Operating System to boot from at the menu. it also allows the user to pass preconfigured options | ||||
| to the kernel. Regardless an OS, the location of the Operating System is written as an ARC (Advanced RISC Computing) path. | ||||
| Below is an example of the xtldr.ini file: | ||||
| ``` | ||||
| [XTLDR] | ||||
| Debug=COM1,115200 | ||||
| Default=ExectOS | ||||
| KeepLastBoot=TRUE | ||||
| Modules=beep | ||||
| Timeout=10 | ||||
| Tune=400 880 2 988 2 783 2 392 2 587 3 | ||||
|  | ||||
| [ExectOS] | ||||
| SystemName="ExectOS Operating System" | ||||
| SystemType=XTOS | ||||
| BootModules=xtos_o | ||||
| SystemPath=multi(0)disk(0)rdisk(0)partition(1)/ExectOS | ||||
| KernelFile=xtoskrnl.exe | ||||
| Parameters=DEBUG=COM1,115200 | ||||
| ``` | ||||
| A full list of configuration options with their descriptions can be found in the [example configuration](https://git.codingworkshop.eu.org/xt-sys/exectos/src/branch/master/bootdata/xtldr/xtldr.ini) | ||||
| file in project's GIT repository. | ||||
							
								
								
									
										20
									
								
								content/download.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								content/download.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,20 @@ | ||||
| +++ | ||||
| title = 'Download' | ||||
| date = 2024-06-16T22:35:11+02:00 | ||||
| +++ | ||||
| ### ExectOS | ||||
| ExectOS supports currently two architectures (i686 and AMD64). To get started today, either download a binaries for one of | ||||
| supported architectures or test drive ExectOS on the QEMU emulator by downloading a disk image. You can find a full list | ||||
| of files, available to download at [this page](https://artifacts.codingworkshop.eu.org/ExectOS/). Each file contains an | ||||
| information about build date, SHA1, architecture and a type of artifact, eg: | ||||
|  * 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-20240614-6b70074ec6-i686-lib.tar.gz - Contains a libraries useful for building 3rd party drivers. | ||||
|  * ExectOS-20240614-6b70074ec6-i686-sym.tar.gz - This archive includes a debug symbols in PDB format. | ||||
|  * ExectOS-20240614-6b70074ec6-i686.img.gz - This is a compressed QEMU disk image, that can be used with this emulator. | ||||
|  | ||||
| ### XTChain | ||||
| Get the latest prebuilt toolchain, needed to compile the ExectOS Operating System. This includes the Clang compiler, and | ||||
| other build utilities you need to cross compile the project, including system core (boot loader, kernel and drivers). | ||||
| The toolchain supports both i686 and AMD64 architectures, as well as ARMv7 and AArch64. Unfortunately, at the moment binary | ||||
| package is available only for Linux host. To download the XTChain, click [here](https://github.com/xt-sys/xtchain/releases). | ||||
							
								
								
									
										103
									
								
								content/faq.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										103
									
								
								content/faq.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,103 @@ | ||||
| +++ | ||||
| title = 'Frequently Asked Questions' | ||||
| date = 2024-06-16T12:33:36+02:00 | ||||
| +++ | ||||
| #### What is ExectOS? | ||||
| ExectOS is an open-source, general purpose operating system written from scratch and based on new XT architecture. | ||||
| It aims to be modular, maintainable and compatible with existing software. | ||||
|  | ||||
| #### What does ExectOS mean? What is the origin of this name? | ||||
| The name 'ExectOS' doesn’t have a specific historical origin, as it appears to be a unique creation for this | ||||
| Operating System. The term 'Exec' within ExectOS directly relates to execution - the act of carrying out tasks, | ||||
| processes, and instructions. In the context of operating system, execution involves managing programs, resources, | ||||
| and system operations. Users should associate ExectOS with streamlined performance and reliability. | ||||
|  | ||||
| #### What does the ExectOS logo present and what is the relation between the logo and the OS name? | ||||
| The three wavy lines in the ExectOS logo evoke a sense of fluidity and movement. Their arrangement, forms a shape | ||||
| reminiscent of the capital letter ‘E,’ directly corresponding to the initial letter of ExectOS. The flowing waves | ||||
| symbolize dynamism, progress, and forward motion. The smooth curves suggest a seamless user experience, while gradient | ||||
| colors represent diversity and adaptability. All of this convey a message of innovation, user-friendliness, and | ||||
| adaptability. It invites users to explore a new operating system that promises a seamless computing experience. | ||||
|  | ||||
| #### What is the difference between XTOS and ExectOS? | ||||
| XTOS is a common name of the Operating System standard based on the XT architecture. ExectOS is a name of the specific | ||||
| project, that is a reference XTOS implementation, that implements all requirements from a corresponding specification. | ||||
|  | ||||
| #### What does XT mean? | ||||
| XT is a name of XTOS architecture of an Operating System, that consists of two main components, user mode and kernel | ||||
| mode. It derives mostly from NT™ architecture, as well as uses a couple of ideas from other open source projects. | ||||
| XT is a short for "neXTgen" architecture, but you can also call it "eXTendable". | ||||
|  | ||||
| #### What architectures does ExectOS support? | ||||
| ExectOS supports the x86_64 (sometimes called AMD64 or EM64T), as well as i686 CPU architectures. However, it requires | ||||
| a modern EFI enabled hardware, thus it is not possible currently to boot ExectOS on a legacy BIOS. | ||||
|  | ||||
| #### Is ExectOS a Windows replacement? | ||||
| No. ExectOS is a brand new, modern system designed to run applications written for many different types of Operating | ||||
| Systems. This allows to implement any environment subsystem to support applications that are strictly written to the | ||||
| corresponding standard (eg. DOS, or POSIX). This means that running Windows applications might be as well possible at | ||||
| some time. However development is mostly focused on providing system core at the moment. | ||||
|  | ||||
| #### Is ExectOS another Unix based OS? | ||||
| No. ExectOS implements the XT architecture which derives from NT™ architecture. It is modular, and consists of | ||||
| two main layers: microkernel and user mode. Its' kernel mode has full access to the hardware and system resources and | ||||
| runs code in a protected memory area. It consists of executive services, which is itself made up on many modules that | ||||
| do specific tasks, a kernel and drivers. Unlike the NT™, system does not feature a separate Hardware Abstraction | ||||
| Layer (HAL) between the physical hardware and the rest of the OS. Instead, XT architecture integrates a hardware specific | ||||
| code with the kernel. | ||||
|  | ||||
| #### Does ExectOS allow to use Windows drivers? | ||||
| This is one of our goals. Thanks to the NT™ drivers compatibility layer provided by ExectOS, you should be able to | ||||
| install and use the same drivers as you can on Windows®. | ||||
|  | ||||
| #### Can I install ExectOS on a pendrive / USB stick? | ||||
| Yes. This is how it is tested on a bare metal (real hardware). | ||||
|  | ||||
| #### Program X does not work when I launch it. When can I except things to change? | ||||
| It depends. ExectOS is in early development stage and it is not recommended for everyday usage. At this point we cannot | ||||
| guarantee anything. | ||||
|  | ||||
| #### When will feature X get added? | ||||
| If you think an idea has merit, you may choose to discuss it on [Discord Server](https://discord.com/invite/zBzJ5qMGX7). | ||||
| However, the best way to get a feature added to ExectOS is to implement it yourself. | ||||
|  | ||||
| #### When will the project be finished? | ||||
| Writing an Operating System is a complex task that requires time. Other popular Operating Systems, such as Linux, are | ||||
| also constantly being developed to meet the everyday users requirements. | ||||
|  | ||||
| #### Where can I obtain the source code? | ||||
| ExectOS source code can be obtained from GIT repository available [here](https://git.codingworkshop.eu.org/xt-sys/exectos). | ||||
| It can be also found on [GitHub](https://github.com/xt-sys/exectos) and [GitLab](https://gitlab.com/xt-sys/exectos) mirrors. | ||||
|  | ||||
| #### Where can I download ExectOS? | ||||
| Each ExectOS build, including binaries, disk image, libraries and debug symbols are available [here](https://artifacts.codingworkshop.eu.org/ExectOS/). | ||||
|  | ||||
| #### How can I contribute to ExectOS? | ||||
| We are looking for C and Assembler developers for core OS development as well as testers. If you are willing to help, | ||||
| please join our [Discord server](https://discord.com/invite/zBzJ5qMGX7) and contact one of ExectOS developers. | ||||
|  | ||||
| #### Why don't you use GCC? | ||||
| Because GCC is a crap. | ||||
|  | ||||
| #### Do you have any kind of tests to check if the code is working as expected? | ||||
| We don't need tests. If it compiles, it is good enough; if it boots up, then it is perfect. | ||||
|  | ||||
| #### Why don't you help Wine? | ||||
| Wine implements Win32Api only, while ExectOS is a featureful Operating System, that implements a compatibility layer with | ||||
| NT™. This means, ExectOS will be able to run NT™ drivers as well, not only Windows® software. However, thanks | ||||
| to its modular design, it will be possible to implement Win32 subsystem as well at some point, based on Wine. | ||||
|  | ||||
| #### Why don't you help ReactOS? | ||||
| ExectOS goals are very different from ReactOS, and contrast the project's core philosophy as being quite on different paths. | ||||
| While ReactOS aims to replicate Windows® NT™, ExectOS is a completely new Operating System implementing the XT | ||||
| architecture which derives from NT™. Although both projects share the goal of being NT™ compatible, they intend | ||||
| to achieve it in different ways. What ReactOS tries to replicate, ExectOS only implements as a compatibility layer. Thanks | ||||
| to that, ExectOS does not need to strictly follow NT™ architecture and is capable of providing modern features. | ||||
|  | ||||
| #### Do you intend to cooperate with ReactOS to achieve common goals? | ||||
| No. We share Wine's opinion on the inappropriate reverse-engineering methods used in the ReactOS project, as well as its | ||||
| association with the TinyKrnl project, which used every possible method of achieving the end result of having a 100% | ||||
| compatible results. This especially applies to the so-called ‘dirty’ way. | ||||
|  | ||||
| #### Which license does ExectOS use? | ||||
| ExectOS is licensed under the GNU General Public License v3. | ||||
							
								
								
									
										11
									
								
								content/source-code.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								content/source-code.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,11 @@ | ||||
| +++ | ||||
| title = 'Source Code' | ||||
| date = 2024-06-16T22:36:47+02:00 | ||||
| +++ | ||||
| ### ExectOS | ||||
|  * Main GIT repository: https://git.codingworkshop.eu.org/xt-sys/exectos | ||||
|  * GitHub Mirror: https://github.com/xt-sys/exectos | ||||
|  | ||||
| ### XTChain | ||||
|  * Main GIT repository: https://git.codingworkshop.eu.org/xt-sys/xtchain | ||||
|  * GitHub Mirror: https://github.com/xt-sys/xtchain | ||||
							
								
								
									
										
											BIN
										
									
								
								static/images/exectos/xtldr_boot_menu.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								static/images/exectos/xtldr_boot_menu.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 7.1 KiB | 
							
								
								
									
										3
									
								
								themes/exectos/config.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								themes/exectos/config.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,3 @@ | ||||
| module: | ||||
|   hugoVersion: | ||||
|     min: "0.84.0" | ||||
							
								
								
									
										13
									
								
								themes/exectos/layouts/_default/baseof.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								themes/exectos/layouts/_default/baseof.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,13 @@ | ||||
| <!DOCTYPE html> | ||||
| <html> | ||||
|     {{- partial "head.html" . -}} | ||||
|     <body> | ||||
|         {{- partial "header.html" . -}} | ||||
| 			<div class="wrapper_content"> | ||||
| 				<div class="content"> | ||||
| 			       {{- block "main" . }}{{- end }} | ||||
| 			    </div> | ||||
| 			</div> | ||||
|         {{- partial "footer.html" . -}} | ||||
|     </body> | ||||
| </html> | ||||
							
								
								
									
										9
									
								
								themes/exectos/layouts/_default/list.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								themes/exectos/layouts/_default/list.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,9 @@ | ||||
| {{ define "main" }} | ||||
| <h2>{{ .Title }}</h2> | ||||
| {{ range .Pages.ByPublishDate.Reverse }} | ||||
|     <h3><a class="title" href="{{ .RelPermalink }}">{{ .Title }}</a></h3> | ||||
|     <a class="summary" href="{{ .RelPermalink }}"> | ||||
|         <p>{{ .Summary }}</p> | ||||
|     </a> | ||||
| {{ end }} | ||||
| {{ end }} | ||||
							
								
								
									
										12
									
								
								themes/exectos/layouts/_default/script.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								themes/exectos/layouts/_default/script.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,12 @@ | ||||
| <!DOCTYPE html> | ||||
| <html> | ||||
|     {{- partial "head.html" . -}} | ||||
|     <body> | ||||
|         {{- partial "header.html" . -}} | ||||
|         <div id="content"> | ||||
|         {{- block "main" . }}{{- end }} | ||||
|         </div> | ||||
|         {{- partial "footer.html" . -}} | ||||
|         {{- partial "script.html" . -}} | ||||
|     </body> | ||||
| </html> | ||||
							
								
								
									
										5
									
								
								themes/exectos/layouts/_default/single.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								themes/exectos/layouts/_default/single.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,5 @@ | ||||
| {{ define "main" }} | ||||
| <h2>{{ .Title }}</h2> | ||||
| {{ .Content }} | ||||
| <br /><br /> | ||||
| {{ end }} | ||||
							
								
								
									
										13
									
								
								themes/exectos/layouts/index.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								themes/exectos/layouts/index.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,13 @@ | ||||
| <!DOCTYPE html> | ||||
| <html> | ||||
|     {{- partial "head.html" . -}} | ||||
|     <body> | ||||
|         {{- partial "header.html" . -}} | ||||
| 			<div class="wrapper_content"> | ||||
| 				<div class="content"> | ||||
| 			       {{ .Content }} | ||||
| 			    </div> | ||||
| 			</div> | ||||
|         {{- partial "footer.html" . -}} | ||||
|     </body> | ||||
| </html> | ||||
							
								
								
									
										10
									
								
								themes/exectos/layouts/partials/footer.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								themes/exectos/layouts/partials/footer.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,10 @@ | ||||
| 		<div class="wrapper_footer"> | ||||
| 			<div class="footer"> | ||||
| 				<div class="footer-left"> | ||||
| 					Copyright© 2017 - 2024, CodingWorkshop | ||||
| 				</div> | ||||
| 				<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>. | ||||
| 				</div> | ||||
| 			</div> | ||||
| 		</div> | ||||
							
								
								
									
										9
									
								
								themes/exectos/layouts/partials/head.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								themes/exectos/layouts/partials/head.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,9 @@ | ||||
| <head> | ||||
|     <meta charset="utf-8"> | ||||
|     <meta name="viewport" content="width=device-width, initial-scale=1"> | ||||
|     <link rel="shortcut icon" href="/favicon.png" /> | ||||
|     <link rel="stylesheet" type="text/css" href="/css/style.css"> | ||||
|     <meta http-equiv="Content-type" content="application/xhtml+xml;charset=utf-8" /> | ||||
|     <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" /> | ||||
|     <title>{{ $title := print .Site.Title " | " .Title }}{{ if .IsHome }}{{ $title = .Site.Title }}{{ end }}{{ $title }}</title> | ||||
| </head> | ||||
							
								
								
									
										19
									
								
								themes/exectos/layouts/partials/header.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								themes/exectos/layouts/partials/header.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,19 @@ | ||||
| <div class="wrapper_header"> | ||||
| 	<div class="header"> | ||||
| 		<h1><a href="{{ .Site.BaseURL }}"><img src="/images/exectos_logo.png" alt="LOGO" width="50px" /> {{ .Site.Title }}</a></h1> | ||||
| 		<ul> | ||||
| 			{{ range .Site.Menus.main }} | ||||
| 			{{ if .HasChildren }} | ||||
| 				<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">{{ .Name }}<span class="caret"></span></a> | ||||
| 				<ul class="dropdown-menu"> | ||||
| 					{{ range .Children }} | ||||
| 					<li><a href="{{ .URL }}">{{ .Pre }}{{ .Name }}{{ .Post }}</a></li> | ||||
| 					{{ end }} | ||||
| 				</ul> | ||||
| 			{{ else }} | ||||
| 				<li><a href="{{ .URL }}">{{ .Pre }}<b>{{ $text := print .Name | safeHTML }}{{ $text }}{{ .Post }}</b></a></li> | ||||
| 			{{ end }} | ||||
| 			{{ end }} | ||||
| 		</ul> | ||||
| 	</div> | ||||
| </div> | ||||
							
								
								
									
										5
									
								
								themes/exectos/static/css/fontawesome-min.css
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								themes/exectos/static/css/fontawesome-min.css
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										239
									
								
								themes/exectos/static/css/style.css
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										239
									
								
								themes/exectos/static/css/style.css
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,239 @@ | ||||
| @import url("/css/fontawesome-min.css"); | ||||
|  | ||||
| @font-face { | ||||
|     font-family      : 'Source Sans Pro'; | ||||
|     font-style       : normal; | ||||
|     font-weight      : 400; | ||||
|     src              : url('/fonts/source-sans-pro-v9-latin-regular.eot'); | ||||
|     src              : local('Source Sans Pro'), local('SourceSansPro-Regular'), | ||||
|                        url('/fonts/source-sans-pro-v9-latin-regular.eot?#iefix') format('embedded-opentype'), | ||||
|                        url('/fonts/source-sans-pro-v9-latin-regular.woff2') format('woff2'), | ||||
|                        url('/fonts/source-sans-pro-v9-latin-regular.woff') format('woff'), | ||||
|                        url('/fonts/source-sans-pro-v9-latin-regular.ttf') format('truetype'); | ||||
| } | ||||
|  | ||||
| @font-face { | ||||
|     font-family      : 'Source Sans Pro'; | ||||
|     font-style       : italic; | ||||
|     font-weight      : 400; | ||||
|     src              : url('/fonts/source-sans-pro-v9-latin-italic.eot'); | ||||
|     src              : local('Source Sans Pro Italic'), local('SourceSansPro-It'), | ||||
|                        url('/fonts/source-sans-pro-v9-latin-italic.eot?#iefix') format('embedded-opentype'), | ||||
|                        url('/fonts/source-sans-pro-v9-latin-italic.woff2') format('woff2'), | ||||
|                        url('/fonts/source-sans-pro-v9-latin-italic.woff') format('woff'), | ||||
|                        url('/fonts/source-sans-pro-v9-latin-italic.ttf') format('truetype'); | ||||
| } | ||||
|  | ||||
| @font-face { | ||||
|     font-family      : 'Source Sans Pro'; | ||||
|     font-style       : normal; | ||||
|     font-weight      : 700; | ||||
|     src              : url('/fonts/source-sans-pro-v9-latin-700.eot'); | ||||
|     src              : local('Source Sans Pro Bold'), local('SourceSansPro-Bold'), | ||||
|                        url('/fonts/source-sans-pro-v9-latin-700.eot?#iefix') format('embedded-opentype'), | ||||
|                        url('/fonts/source-sans-pro-v9-latin-700.woff2') format('woff2'), | ||||
|                        url('/fonts/source-sans-pro-v9-latin-700.woff') format('woff'), | ||||
|                        url('/fonts/source-sans-pro-v9-latin-700.ttf') format('truetype'); | ||||
| } | ||||
|  | ||||
| :root { | ||||
|     color-scheme     : light; | ||||
| } | ||||
|  | ||||
| html { | ||||
|     color            : light-dark(#333333, #FFFFFF); | ||||
|     background-color : light-dark(#FFFFFF, #030C12); | ||||
|     margin           : 0; | ||||
|     padding          : 0; | ||||
| } | ||||
|  | ||||
| body { | ||||
|     font-family      : "Source Sans Pro", "Trebuchet MS", "Verdana", sans-serif; | ||||
|     margin           : 0; | ||||
|     padding          : 0; | ||||
| } | ||||
|  | ||||
| code { | ||||
| 	color            : #186196; | ||||
| 	font-weight      : bold; | ||||
| } | ||||
|  | ||||
| h1 { | ||||
|     font-size        : 28px; | ||||
|     margin-top       : 8px; | ||||
|     padding          : 1px; | ||||
|     vertical-align   : middle; | ||||
| } | ||||
|  | ||||
| h2 { | ||||
|     border-bottom    : 1px solid #DDDDDD; | ||||
|     font-size        : 30px; | ||||
|     margin-left      : -1em; | ||||
|     margin-right     : -1em; | ||||
|     text-decoration  : bold; | ||||
| } | ||||
|  | ||||
| h3 { | ||||
|     font-size        : 18px; | ||||
|     margin-left      : -1em; | ||||
|     margin-right     : -1em; | ||||
|     text-decoration  : bold; | ||||
| } | ||||
|  | ||||
| img { | ||||
|     border           : 0px; | ||||
|     vertical-align   : middle; | ||||
| } | ||||
|  | ||||
| pre { | ||||
|     background-color : #3C3C3C; | ||||
|     border-color     : #3D3D3D; | ||||
|     border-radius    : 4px; | ||||
|     color            : #ECECEC; | ||||
|     display          : block; | ||||
|     font-size        : 13px; | ||||
|     line-height      : 1.42857143; | ||||
|     margin           : 0 0 10px; | ||||
|     overflow         : auto; | ||||
|     padding          : 9.5px; | ||||
|     word-break       : break-all; | ||||
|     word-wrap        : break-word; | ||||
| } | ||||
|  | ||||
| pre code { | ||||
|     color            : #ECECEC; | ||||
| 	font-weight      : normal; | ||||
| } | ||||
|  | ||||
| .content { | ||||
|     font-size        : 15px; | ||||
|     margin-left      : 30%; | ||||
|     margin-right     : 30%; | ||||
|     margin-top       : 1.5em; | ||||
| } | ||||
|  | ||||
| .content img { | ||||
|     border           : 0px; | ||||
|     display          : block; | ||||
|     margin           : auto; | ||||
|     vertical-align   : middle; | ||||
|     text-align       : center; | ||||
| } | ||||
|  | ||||
| .content li { | ||||
|     list-style-type  : square; | ||||
| } | ||||
|  | ||||
| .copyright { | ||||
|     color            : #404040; | ||||
|     font-family      : "Source Sans Pro", "Trebuchet MS", "Verdana", sans-serif; | ||||
|     font-size        : 10px; | ||||
|     text-align       : center; | ||||
|     text-decoration  : none; | ||||
| } | ||||
|  | ||||
| .copyright a { | ||||
|     color            : #404040; | ||||
|     text-decoration  : none; | ||||
| } | ||||
|  | ||||
| .copyright a:hover { | ||||
|     color            : #404040; | ||||
|     text-decoration  : none; | ||||
| } | ||||
|  | ||||
| .footer { | ||||
|     background       : light-dark(#FFFFFF, #030C12); | ||||
|     color            : light-dark(#000000, #FFFFFF); | ||||
|     clear            : both; | ||||
|     font-family      : sans-serif, verdana, Helvetica; | ||||
|     font-size        : 12px; | ||||
|     margin-left      : 10px; | ||||
|     margin-top       : 0.4em; | ||||
|     padding          : 0; | ||||
|     width            : 100% | ||||
| } | ||||
|  | ||||
| .footer-left { | ||||
|     position         : absolute; | ||||
|     text-align       : left; | ||||
|     width            : 50%; | ||||
| } | ||||
|  | ||||
| .footer-right { | ||||
|     left             : 50%; | ||||
|     position         : absolute; | ||||
|     text-align       : right; | ||||
|     width            : 50%; | ||||
| } | ||||
|  | ||||
| .header { | ||||
|     background       : light-dark(#BEE0FF, #2185D0); | ||||
|     border-bottom    : 2px solid #186196; | ||||
|     color            : #186196; | ||||
|     clear            : both; | ||||
|     font-size        : 14px; | ||||
|     padding-left     : 1em; | ||||
|     padding-top      : 1px; | ||||
|     text-align       : center; | ||||
|     vertical-align   : middle; | ||||
| } | ||||
|  | ||||
| .header a { | ||||
|     color            : light-dark(#186196, #CCCCCC); | ||||
|     padding-left     : 5px; | ||||
|     padding-right    : 5px; | ||||
|     padding-top      : 1px; | ||||
|     text-decoration  : none; | ||||
| } | ||||
|  | ||||
| .header a:hover { | ||||
|     color            : light-dark(#000055, #FFFFFF); | ||||
|     padding-left     : 5px; | ||||
|     padding-right    : 5px; | ||||
|     padding-top      : 1px; | ||||
| } | ||||
|  | ||||
| .header img { | ||||
|     margin           : 0px; | ||||
|     padding          : 0px; | ||||
| } | ||||
|  | ||||
| .header li { | ||||
|     display          : inline; | ||||
|     margin-left      : 2em; | ||||
| } | ||||
|  | ||||
| .header ul { | ||||
|     margin           : 0px; | ||||
|     padding          : 0px; | ||||
|     text-align       : center; | ||||
| } | ||||
|  | ||||
| .wrapper_content { | ||||
| 	margin-bottom    : 2.5em; | ||||
| 	padding          : 6em 0 0 0; | ||||
| } | ||||
|  | ||||
| .wrapper_header { | ||||
| 	background       : light-dark(#FFFFFF, #030C12); | ||||
| 	color            : light-dark(#000000, #FFFFFF); | ||||
| 	height           : 6em; | ||||
| 	left             : 0; | ||||
| 	position         : absolute; | ||||
| 	position         : fixed; | ||||
| 	top              : 0; | ||||
| 	width            : 100%; | ||||
| } | ||||
|  | ||||
| .wrapper_footer { | ||||
|     background       : light-dark(#FFFFFF, #030C12); | ||||
|     border-top       : 2px solid #186196; | ||||
|     bottom           : 0; | ||||
|     color            : #000000; | ||||
|     height           : 1.5em; | ||||
|     left             : 0; | ||||
|     position         : absolute; | ||||
|     position         : fixed; | ||||
|     width            : 100% | ||||
| } | ||||
							
								
								
									
										
											BIN
										
									
								
								themes/exectos/static/fonts/fontawesome-webfont.eot
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								themes/exectos/static/fonts/fontawesome-webfont.eot
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								themes/exectos/static/fonts/fontawesome-webfont.woff2
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								themes/exectos/static/fonts/fontawesome-webfont.woff2
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								themes/exectos/static/fonts/source-sans-pro-v9-latin-700.eot
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								themes/exectos/static/fonts/source-sans-pro-v9-latin-700.eot
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								themes/exectos/static/fonts/source-sans-pro-v9-latin-700.ttf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								themes/exectos/static/fonts/source-sans-pro-v9-latin-700.ttf
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								themes/exectos/static/fonts/source-sans-pro-v9-latin-700.woff
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								themes/exectos/static/fonts/source-sans-pro-v9-latin-700.woff
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								themes/exectos/static/fonts/source-sans-pro-v9-latin-700.woff2
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								themes/exectos/static/fonts/source-sans-pro-v9-latin-700.woff2
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								themes/exectos/static/fonts/source-sans-pro-v9-latin-italic.eot
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								themes/exectos/static/fonts/source-sans-pro-v9-latin-italic.eot
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								themes/exectos/static/fonts/source-sans-pro-v9-latin-italic.ttf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								themes/exectos/static/fonts/source-sans-pro-v9-latin-italic.ttf
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								themes/exectos/static/fonts/source-sans-pro-v9-latin-italic.woff
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								themes/exectos/static/fonts/source-sans-pro-v9-latin-italic.woff
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								themes/exectos/static/fonts/source-sans-pro-v9-latin-regular.eot
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								themes/exectos/static/fonts/source-sans-pro-v9-latin-regular.eot
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								themes/exectos/static/fonts/source-sans-pro-v9-latin-regular.ttf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								themes/exectos/static/fonts/source-sans-pro-v9-latin-regular.ttf
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								themes/exectos/static/images/exectos_logo.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								themes/exectos/static/images/exectos_logo.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 20 KiB | 
							
								
								
									
										10
									
								
								themes/exectos/theme.toml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								themes/exectos/theme.toml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,10 @@ | ||||
| name = "ExectOS" | ||||
| license = "GPLv3" | ||||
| licenselink = "https://www.gnu.org/licenses/gpl-3.0.html" | ||||
| description = "ExectOS Theme" | ||||
| homepage = "https://exectos.eu.org" | ||||
| languageCode = "en-us" | ||||
| min_version = "0.1.0" | ||||
|  | ||||
| [author] | ||||
|     name = "Rafal Kupiec" | ||||
		Reference in New Issue
	
	Block a user