Before building XenevaOS, make sure all dependencies are installed and all steps are performed in the sequential order mentioned in this document.
XenevaOS is built purely in a Windows environment.
Visual Studio 2019 Community Edition is required to open and edit XenevaOS projects. The Community Edition is a free version of Microsoft Visual Studio. You can also use any paid edition of 2019. If a later version of Visual Studio is used, projects need to be configured manually to meet compiler version requirements. This is done by going to:
- Open Visual Studio and open the desired solution
- Select the desired Project from Solution Explorer and right click
Project -> Properties -> General -> Platform Toolset
Download and install Netwide Assembler (NASM) from NASM Official website. NASM needs to be integrated with Visual Studio to compile assembly source code. This can be done by following steps:
Go to the Resources directory in the XenevaOS repository, then copy and extract nasmprops.zip.Copy "nasm.props", "nasm.targets", "nasm.xml" from nasmprops.zip to C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\BuildCustomizations
Format a USB Flash drive (Minimum 2 GiB space required) with a GPT partition and FAT32 filesystem.
You can use Rufus to format the USB Flash drive (by downloading Rufus) or diskpart to format the disk (available by default on Windows):
- Open
cmd.exewith Run as administrator mode - type
diskpartpress Enter - type
list diskpress Enter - Identify your USB disk number from the list
- type
select diskXreplace X with USB disk number - type
cleanto clean the disk - type
convert gpt create partition primarypress Enter - type
format fs=fat32 unit=4096 quick - type
assign Xreplace 'X' with a drive letter
Required Environment Variables are:
- XENEVA_BUILDS with the variable value pointing to the location of the USB Flash Drive.
Add a User Environment Variable with "Variable Name: XENEVA_BUILDS" and "Variable Value" as the location of the USB Flash Drive. This can be done simply by clicking the "Browse Directory" button.
Please make sure that all files from the resource directory inside the XenevaOS repository are copied as they are to the XENEVA_BUILDS PATH (i.e., to the USB Flash Drive) and make sure they are copied prior to starting the build process.
XenevaOS requires resource files to run. Some important resource files are:
- "audrv.cnf" contains PCI/PCIe class-subclass codes with driver file paths, required by the 'Kernel'
- "ftlst.cnf" contains font names and their location paths
- "lnch.cnf" contains Application entries and their location paths for the AppTray to recognize and display installed applications.
Go to _Resources\resources_ directory in the repository and copy all the resource files as it is, to "XENEVA_BUILDS" PATH (i.e to the USB Flash Drive)
Before opening the solution, please make sure that Netwide Assembler (NASM) is installed and configured as mentioned above. Open the "Aurora.sln" file from the repository and everything should get automatically configured.
- In the Solution Explorer, select the solution. It should be named 'Solution Aurora'
Right Click on 'Solution Aurora' from Solution Explorer, then click "Rebuild Solution"- This should rebuild the entire solution and produce the binaries in the "Build" folder of the XenevaOS repository.
- The solution will automatically copy all the binaries to the "XENEVA_BUILDS" PATH (i.e., the USB Flash Drive).
At this point you should see all the necessary files inside your "XENEVA_BUILDS" PATH. Now you need to setup VM for XenevaOS. You can visit Testing environment setup instructions.