*************** Getting Started *************** Prerequisites ============= Windows ======= On Windows, you can either install `Visual Studio `__, or use the command line. As MOSA currently targets .NET 7, you'll need Visual Studio 2022 17.4 or newer. Linux ===== On Linux, the following prerequisites are necessary: * `.NET 7 `__ * `Git `__ (only if you want to clone and build manually) * `QEMU `__ If you're using Ubuntu 22.04, you can use the following commands to quickly set everything up: .. code-block:: bash # Register Microsoft package repository wget -q https://packages.microsoft.com/config/ubuntu/22.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb sudo dpkg -i packages-microsoft-prod.deb # Install the .NET Core SDK sudo add-apt-repository universe sudo apt-get update sudo apt-get -y install dotnet-sdk-7.0 # Intall QEMU and GIT sudo apt-get -y install qemu qemu-system qemu-system-x86 git All Platforms ============= If you don't want to use any IDE, you can simply use the command line. .. tip:: This page will assume you're using the command line. Download ======== NuGet ===== The easiest way to get started with MOSA is to install the NuGet templates: .. code-block:: bash dotnet new install Mosa.Templates You can then create a new project based on one of the templates you've just installed: .. code-block:: bash dotnet new mosakrnl -o MyMosaKernel cd MyMosaKernel .. tip:: ``mosakrnl`` is a template for a cross-architecture kernel. You may now want to build your newly created kernel using the following command: .. code-block:: bash dotnet build cd bin Finally, you can build your kernel using the GUI launcher tool copied to the Tools directory! .. code-block:: bash Tools/Mosa.Tool.Launcher MyMosaKernel.x86.dll Clone and build manually ======================== The MOSA project is available on GitHub and can be cloned via Git: .. code-block:: bash git clone https://github.com/mosa/MOSA-Project cd MOSA-Project In order to build the solution, you can execute the following command: .. warning:: On Linux, you'd build the **Mosa.Linux.sln** solution instead of **Mosa.sln**. This is because some Windows-only tools haven't been yet ported to other platforms. .. code-block:: bash dotnet build Source/Mosa.sln If successful, it should show a message similar to the one below. Any warnings may be ignored. .. code-block:: bash [...compiler messages...] Build succeeded. 0 Warning(s) 0 Error(s) Time Elapsed 00:00:01.48 Finally, to launch one of the demo applications, simply execute the GUI launcher tool in the bin directory: .. code-block:: bash bin/Mosa.Tool.Launcher You can then select the demo application of your choice as source, perhaps modify a few options, then build! You can learn more about this launcher tool :doc:`here`.