A dedicated unikernel for microservices

Sunday, October 30, 2016

CloudIt!

Hi folks, I committed the new script CloudIt.sh which is meant to unify the way than an application is compile within Toro and then run in a VM. The script accepts one parameter which is the name of a fpc application. For example, the following figure shows the use of the script to compile and run the ToroHello.pas

Figure 1
The script compiles the application within the Toro kernel (see Figure 2), and then, it generates a .img that can be run in a Qemu VM (see Figure 3).

Figure 2

Figure 3
To get the needed parameters to create the Qemu instance, the script looks for a .qemu which is named with the same name than the application, e.g., ToroHello.qemu. Such a file only contains the needed parameters to pass to qemu.  

The idea in ClouidIt.sh is to show Toro as a unikernel, in this case, for the fpc compiler. It enables a fpc programmer to compile an application within the kernel and then run it in a VM instance. To go further with this approach, Toro should be able to run in an hypervirsor like Xen. This remains a very interesting future work! :)  

Monday, April 18, 2016

Compiling and Testing TORO on Windows 10

Introduction 

Hi folks, I just fixed some bugs to compile Toro by using fpc-2.6.4, and to simulate it in Windows 10 by using qemu. I present some tips to do it.

Compilation 


I am currently using MIGW64 to compile TORO from the command line.  It is only necessary to run make in the toro-code/tests, and then, run the corresponding .sh file to compile the example, e.g., ToroHello.sh by invoking ./ToroHello.sh. The last commits fix any problem during the compilation. The outputting screen should look like in the picture. The needed tools for the compilation are MINGW64 for the make, Nasm for the compilation of the bootloader and fpc-2.6.4 for the build.pas. Once all installed, run the procedure presented above.  
  

Debuging

The debugging works well by using the last version of qemu. After installed it, it is only necessary to invoke the corresponding .sh by passing the -e argument, e.g., ./ToroHello.sh -e. By doing so, we get a pretty TORO outputing saying that he is alive. 




Wednesday, February 04, 2015

FOSDEM2015

Hi folks,

after a weekend in Brussels, I am again in Nice. It was a really interesting experience at FOSDEM. I put some pictures of the talk. I really enjoyed. I also left the link to the presentation. In any case, I think the presentation will be online soon at fosdem.org.

Regards, Matias.






Sunday, January 11, 2015

Toro Hello world

In this post, we explain how toro's examples can be compiled, and then simulated.

1) Installs YASM and FPC/Lazarus.

$ apt-get install yasm

To install Lazarus/FPC, please follows the instruction here.

2) Clones TORO repository.

$ git clone git://toro.git.sourceforge.net/gitroot/toro/toro

3) Compile tools

Before to compile the toro's examples, we have to compile the tools needed to generate the Toro's image. To do so, runs "make" at /toro/tests.

4) Toro Hello world.

The toro/tests directory has examples that can be simulated by using qemu. These are good examples to start with Toro. Here, we explain how the hello world toro example can be compiled and simulated. To do so, it is only necessary to run:

$ bash ToroHello.sh -e

This will compile the ToroHello.pas example, and generate the ToroImage.img image, if the compilation was successfully. The "-e" parameter is used to execute qemu to perform the simulation of the generated image.

Matias E. Vara
torokernel.io