Hi folks! I have spent some time to write an example of the use of the toro virtual filesystem. After fixing a couple of bugs, I manage to get an example named
TorowithFileSystem.pas. This example together with others is hosted in
torokernel/tests. The example can be tested by following the instructions
here. I also committed a small ext2 image named
ToroFiles.img that contains the files to make it run. For the moment, I am providing the whole image. I hope to provide a tool to create ext2 images. The example is very simple, it opens a file name
index.hml located in the ext2 image and then it listens on port 80. When a connection arrives, it sends the content of the file. Briefly speaking, it is a sort of webserver. The example is a slightly modification of the
ToroHttp.pas example. The only difference is that this example read the content from a file. To illustrate, I highlighted the differences in code in read and green (see Figure 1).
|
Figure1. Differences between ToroHttp.pas and TorowithFilesystem.pas |
In red, we can see the initialization part in which the disk
ata0 is dedicated to the core 0 (local cpu). By doing this, only core can access to this device. Once dedicated, we are able to mount the first partition, which is identified with the minor number 6, by using the ext2 drive. After this, we are able to open the file
index.html and read it until
EOF. Then, the content of this file is sent when a new connection arrives. Enjoy!
Matias