Skip to content

Latest commit

 

History

History
69 lines (50 loc) · 4.11 KB

BuildInstructions.md

File metadata and controls

69 lines (50 loc) · 4.11 KB

XenevaOS Build Instructions

Prerequisites

Before Building XenevaOS, make sure all the dependencies are installed and all the steps are performed in sequence order mentioned in this document.

XenevaOS is build purely in Windows environment.

Visual Studio 2019 Community edition

Visual Studio 2019 Community edition is required to open and edit Xeneva projects. Community edition is free edition of Microsoft Visual Studio. One can also use any paid edition of 2019. If later version of Visual Studio is used projects needs to be configured manually to meet compiler version requirement. 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

Netwide Assembler (NASM)

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:

  • Goto Resources dir in 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


Setting up USB Flash Drive

Format an USB Flash drive (Minimum 2 GiB space required) with GPT partition and FAT32 filesystem. You can use Refus to format an USB Flash drive (by downloading Refus) or diskpart to format the disk available by default on Windows

  • Open cmd.exe with Run as administrator mode
  • type diskpart press Enter
  • type list disk press Enter
  • Identify your USB disk number from the list
  • type select diskX replace X with USB disk number
  • type clean to clean the disk
  • type convert gpt create partition primary press Enter
  • type format fs=fat32 unit=4096 quick
  • type assign X replace 'X' with a drive letter

Setting up Environemt Variables

Required Environment Variables are:

  • XENEVA_BUILDS with variable value of location USB Flash Drive

Add an User Environment Variable with " Variable Name : XENEVA_BUILDS " and " Variable Value " with the location of the USB Flash Drive. It can be done simply by clicking "Browse Directory" button.

Copying required resources

Please make sure that all the files from resource directory inside XenevaOS repository is copied as it is to XENEVA_BUILDS PATH (i.e to the USB Flash Drive) and make sure it is copied prior to build process.

Xeneva requires resource files to run. Some important resource file are :

  • "audrv.cnf" contains PCI/PCIe class-subclass code with driver file location path and required by the 'Kernel'
  • "ftlst.cnf" contains Fonts name and their location path
  • "lnch.cnf" contains Application entry and their location path for AppTray to recognise installed applications in order to display them in AppTray.

    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)

Building the Solution

Before opening the solution please make sure that Netwide Assembler (NASM) is installed and configured as mentioned above. Open "Aurora.sln" file from the repository and everything should get automatically configured.

  • In the Solution Explorer, select the solution. It should be named as 'Solution Aurora'
  • Right Click on 'Solution Aurora' from Solution Explorer, then click "Rebuild Solution"
  • This should rebuild theentire solution and produce the binaries to "Build" folder of XenevaOS repository
  • The Solution will automatically copy all the binaries to "XENEVA_BUILDS" PATH (i.e USB Flash Drive)

More Information

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.