-
Notifications
You must be signed in to change notification settings - Fork 0
Compiling
Please refer to > Building and Running Singularity RDK 2.0
Essentially you follow the instructions as given in that document:
-
Get the prerequisites for the environment.
-
Run “configure.cmd”.
-
Delete/rename the directory “Singularity_RDK_2.0_Source\base.obj”, if it exists.
-
Run the “Singularity RDK 2.0” desktop icon which will bring up a command line prepped for building Singularity or debugging it.
-
At the prompt, type as below to build Singularity World distro:
…\base> msb Distro\World.proj -
If it dies saying it couldn’t find a directory within “Singularity_RDK_2.0_Source\base.obj\MSBuildLogs\6\…”, don’t worry. Go into that MSBuildLogs directory and create the 6 directory. Now the MSBuild should work.
-
You can find generated ISO image for your build in “Singularity_RDK_2.0_Source\base.obj\Distros”.
If you modify any .scripts, for example, you may wish to recompile to include the modifications on an ISO; you just repeat the above process after making your changes to “C:\src\Singularity_RDK_2.0_Source\base\Distro\Scripts\startup.script”, for example.
As a rough benchmark, it takes me 10-15 minutes to build World on a quad core with 8 GB memory.
Aye, it works.
If you’re ultra-lazy, just do the following:
Singularity>ipconfig @dhcp /dev/nic0 start
This should get you going with DHCP. It’ll poll the DHCP server for DNS servers too.
You can set a static ip thusly:
Singularity>ipconfig /dev/nic0 192.168.1.99 255.255.255.0 192.168.1.1
The format is ipconfig .
Remember that if you set a static IP using ipconfig, you will need to tell Singularity which DNS servers to use, check the dns command. Enabling VESA
Edit the file “Singularity_RDK_2.0_Source\base\Distro\LegacyPCDistro.xml“.
Enable the line:
<driver name=”S3Trio64″ />
Recompile, and you’ve got VESA.
I prefer without VESA as it has a handy thread statusbar at the top of the blue screen, which is apparently gone in VESA mode. Pity.
For FAT support open your Distro build file (i.e., “Singularity_RDK_2.0_Source\base\Distro\World.proj“), add the following line:
<Application Include=”$(SINGULARITY_ROOT\Services\Fat\Control\FatControl.csproj”/>
Recompile, and you’ve got FAT support.
Make sure you’ve partitioned your FAT drive beforehand. You should be able to see it listed in the /dev tree.
Now, you can @format, @mount and @unmount your FAT drive using fatcontrol.
If you are serious about using Singularity, you will likely want to modify your init/startup.script. The best way to do this is to edit this on your host machine, then msb.
Note that you will have to put ‘single quotes’ around all arguments. For example, the shell command hostname -n=paddington (this changes the machine’s hostname to “paddington”) would be put in startup.script as:
hostname ‘-n=paddington’
There are plenty of examples in the RDK for you to get started with. Here is Singularity booting up, setting hostname, a DHCP connection, a static IP, and mounting a FAT drive.