====== Development Guide ====== ===== Required Tools ===== In order to download and compile SharpOS, you need to install the following programs. * SVN Client * For Windows users we recommend [[http://tortoisesvn.tigris.org|TortoiseSVN]]. * Common Language Runtime * [[http://www.mono-project.com/Main_Page|Mono]]: Requires version 1.2.6 or higher. * [[http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=0856eacb-4362-4b0d-8edd-aab15c5e04f5|Microsoft .NET Framework 2.0]] * [[http://nant.sourceforge.net/|Nant]] * Virtual Machine * [[http://www.vmware.com/products/player/|VMware Player]] * [[http://www.microsoft.com/windows/products/winfamily/virtualpc/default.mspx|Microsoft Virtual PC]] * QEMU * [[http://www.virtualbox.org/|VirtualBox]] ===== Windows Environment Paths ===== The following steps should be followed to make sure the necessary directories are added to the Windows path in Windows XP. 1. Right click on My Computer and select Properties. 2. Click on the Advanced tab and click the Environment Variables button near the bottom. 3. In the user variables, select Path and click edit. 4. At the end of the string, add the needed paths separated by semicolons. The programs that may need their path added are listed. * Mono * NAnt ===== Downloading Source Code ===== To download the source code you can use either the vanilla SVN application or a GUI. For the vanilla SVN program, go to the directory you wish to download the code into and type in "svn co https://sharpos.svn.sourceforge.net/svnroot/sharpos/trunk/" If you are using TortoiseSVN, right click on the folder you wish to use and select SVN Checkout. For the address, use https://sharpos.svn.sourceforge.net/svnroot/sharpos/trunk/ ===== SVN End of Line Settings ===== To prevent files from getting mangled, you will need to se the automatic EOL properties in SVN. Add the following to your SVN configuration file (for TortoiseSVN, click on any folder in Explorer and go to TortoiseSVN->Settings, then click ‘Edit’ for the Subversion configuration file, on Linux edit ~/.subversion/config): [miscellany] enable-auto-props = yes [auto-props] *.cs = svn:eol-style=native *.txt = svn:eol-style=native *.skm = svn:eol-style=native *.xml = svn:eol-style=native *.csproj = svn:eol-style=CRLF ===== Compiling SharpOS ===== * Start the command prompt/terminal and navigate to the directory where SharpOS is checked out. If you are using Windows Vista, make sure to elevate the command prompt to administrator privileges. * Enter 'nant dist' or if using Mono, 'nant nant dist -t:mono-2.0' If the build succeeded, then a floppy image will have been created for you to experiment with. ===== Running SharpOS ===== A successful build will create a shortcut to launch the virtual machine of your choice and boot up SharpOS. The shortcut is located in the build/distro/"VM-NAME" inside the folder where the code is checked out.