Hello,
I would need to use file system facilities, but I am not sure how this is done. I can already use rom/ and also tmpfs, but neither is exactly what I need. I need to create persistent files that are written in disk from applications running on FIASCO (directly, not using L4Linux as an intermediary). I would also need to load (these or other) files from disk in run time (loading all files as modules in rom may not be the best solution, specially since we need to create new files "on the go" and be able to load them from other applications.
Is there any module/library/whatever in FIASCO that offers this? If there is one, how can we use it/where can we find information about it? In case this is relevant, our applications are in C and we are to run FIASCO in TrustZone Crotex-A15 (in secure mode).
Best regards, María.
Hi Maria, I think that if you watch this presentation http://youtu.be/SyOcmVamsmI you will find answers to many of your questions. Specially in the slide "Kernel vs. Operating System" it's explain that Fiasco.OC is just the kernel that contains two device drivers, UART for basic console and timer to be used by scheduler, any other device driver has to be implemented to run outside the kernel level.
Ventura
On Thu, Jun 19, 2014 at 7:44 AM, Maria Soler <m.soler@virtualopensystems.com
wrote:
Hello,
I would need to use file system facilities, but I am not sure how this is done. I can already use rom/ and also tmpfs, but neither is exactly what I need. I need to create persistent files that are written in disk from applications running on FIASCO (directly, not using L4Linux as an intermediary). I would also need to load (these or other) files from disk in run time (loading all files as modules in rom may not be the best solution, specially since we need to create new files "on the go" and be able to load them from other applications.
Is there any module/library/whatever in FIASCO that offers this? If there is one, how can we use it/where can we find information about it? In case this is relevant, our applications are in C and we are to run FIASCO in TrustZone Crotex-A15 (in secure mode).
Best regards, María.
l4-hackers mailing list l4-hackers@os.inf.tu-dresden.de http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers
Thanks, Jorge Ventura. Yes, you are right. I am sorry, I meant L4re. I am used to discuss about the whole system calling it FIASCO (just as most people do with Linux and its different distributions). So I will rephrase my question a bit more precisely:
I need to create persistent files that are written in disk from applications running on L4re. I would also need to load (these or other) files from disk at run time. I have already created an application that reads and writes from files saved both in rom and in a tmpfs, but I don't know how to make persistent files.
On Thu, Jun 19, 2014 at 4:12 PM, Jorge Ventura < jorge.araujo.ventura@gmail.com> wrote:
Hi Maria, I think that if you watch this presentation http://youtu.be/SyOcmVamsmI you will find answers to many of your questions. Specially in the slide "Kernel vs. Operating System" it's explain that Fiasco.OC is just the kernel that contains two device drivers, UART for basic console and timer to be used by scheduler, any other device driver has to be implemented to run outside the kernel level.
Ventura
On Thu, Jun 19, 2014 at 7:44 AM, Maria Soler < m.soler@virtualopensystems.com> wrote:
Hello,
I would need to use file system facilities, but I am not sure how this is done. I can already use rom/ and also tmpfs, but neither is exactly what I need. I need to create persistent files that are written in disk from applications running on FIASCO (directly, not using L4Linux as an intermediary). I would also need to load (these or other) files from disk in run time (loading all files as modules in rom may not be the best solution, specially since we need to create new files "on the go" and be able to load them from other applications.
Is there any module/library/whatever in FIASCO that offers this? If there is one, how can we use it/where can we find information about it? In case this is relevant, our applications are in C and we are to run FIASCO in TrustZone Crotex-A15 (in secure mode).
Best regards, María.
l4-hackers mailing list l4-hackers@os.inf.tu-dresden.de http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers
I think that this is something that has to be implemented. If I understand correctly this matter, any filesystem device driver, except the memory filesystems you mention before has to be written from scratch as a server at the top of Fiasco.OC.
I don't know if you are planning to go that far but one idea (and I have personal interest on that) is to try to port or rewrite the minix 3 file system from Minix3 to Fiasco.OC. A good reason to do that is because you can find a detailed explanation in the book
"Operating Systems, Design and Implementation" Andrew S.Tanenbaum
in Chapter 5, a detailed description about minix 3 filesystem and the implementation as well.
On Thu, Jun 19, 2014 at 9:55 AM, Maria Soler <m.soler@virtualopensystems.com
wrote:
Thanks, Jorge Ventura. Yes, you are right. I am sorry, I meant L4re. I am used to discuss about the whole system calling it FIASCO (just as most people do with Linux and its different distributions). So I will rephrase my question a bit more precisely:
I need to create persistent files that are written in disk from applications running on L4re. I would also need to load (these or other) files from disk at run time. I have already created an application that reads and writes from files saved both in rom and in a tmpfs, but I don't know how to make persistent files.
On Thu, Jun 19, 2014 at 4:12 PM, Jorge Ventura < jorge.araujo.ventura@gmail.com> wrote:
Hi Maria, I think that if you watch this presentation http://youtu.be/SyOcmVamsmI you will find answers to many of your questions. Specially in the slide "Kernel vs. Operating System" it's explain that Fiasco.OC is just the kernel that contains two device drivers, UART for basic console and timer to be used by scheduler, any other device driver has to be implemented to run outside the kernel level.
Ventura
On Thu, Jun 19, 2014 at 7:44 AM, Maria Soler < m.soler@virtualopensystems.com> wrote:
Hello,
I would need to use file system facilities, but I am not sure how this is done. I can already use rom/ and also tmpfs, but neither is exactly what I need. I need to create persistent files that are written in disk from applications running on FIASCO (directly, not using L4Linux as an intermediary). I would also need to load (these or other) files from disk in run time (loading all files as modules in rom may not be the best solution, specially since we need to create new files "on the go" and be able to load them from other applications.
Is there any module/library/whatever in FIASCO that offers this? If there is one, how can we use it/where can we find information about it? In case this is relevant, our applications are in C and we are to run FIASCO in TrustZone Crotex-A15 (in secure mode).
Best regards, María.
l4-hackers mailing list l4-hackers@os.inf.tu-dresden.de http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers
Hi.
Ext2 or even FAT should be fairly straight forward to implement as well. You can then hook it up into the VFS system in L4Re. You will have to write the block device driver as well, for whatever persistent storage you want to use on your ARM system.
Best regards, Johan
On Thu, 2014-06-19 at 10:34 -0500, Jorge Ventura wrote:
I think that this is something that has to be implemented. If I understand correctly this matter, any filesystem device driver, except the memory filesystems you mention before has to be written from scratch as a server at the top of Fiasco.OC.
I don't know if you are planning to go that far but one idea (and I have personal interest on that) is to try to port or rewrite the minix 3 file system from Minix3 to Fiasco.OC. A good reason to do that is because you can find a detailed explanation in the book
"Operating Systems, Design and Implementation"
Andrew S.Tanenbaum
in Chapter 5, a detailed description about minix 3 filesystem and the implementation as well.
On Thu, Jun 19, 2014 at 9:55 AM, Maria Soler m.soler@virtualopensystems.com wrote: Thanks, Jorge Ventura. Yes, you are right. I am sorry, I meant L4re. I am used to discuss about the whole system calling it FIASCO (just as most people do with Linux and its different distributions). So I will rephrase my question a bit more precisely:
I need to create persistent files that are written in disk from applications running on L4re. I would also need to load (these or other) files from disk at run time. I have already created an application that reads and writes from files saved both in rom and in a tmpfs, but I don't know how to make persistent files. On Thu, Jun 19, 2014 at 4:12 PM, Jorge Ventura <jorge.araujo.ventura@gmail.com> wrote: Hi Maria, I think that if you watch this presentation http://youtu.be/SyOcmVamsmI you will find answers to many of your questions. Specially in the slide "Kernel vs. Operating System" it's explain that Fiasco.OC is just the kernel that contains two device drivers, UART for basic console and timer to be used by scheduler, any other device driver has to be implemented to run outside the kernel level. Ventura On Thu, Jun 19, 2014 at 7:44 AM, Maria Soler <m.soler@virtualopensystems.com> wrote: Hello, I would need to use file system facilities, but I am not sure how this is done. I can already use rom/ and also tmpfs, but neither is exactly what I need. I need to create persistent files that are written in disk from applications running on FIASCO (directly, not using L4Linux as an intermediary). I would also need to load (these or other) files from disk in run time (loading all files as modules in rom may not be the best solution, specially since we need to create new files "on the go" and be able to load them from other applications. Is there any module/library/whatever in FIASCO that offers this? If there is one, how can we use it/where can we find information about it? In case this is relevant, our applications are in C and we are to run FIASCO in TrustZone Crotex-A15 (in secure mode). Best regards, María. _______________________________________________ l4-hackers mailing list l4-hackers@os.inf.tu-dresden.de http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers
l4-hackers mailing list l4-hackers@os.inf.tu-dresden.de http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers
This is a good direction. I forgot that, in reality we need two drivers, one for a block device and another one for the filesystem itself.
On Thu, Jun 19, 2014 at 10:45 AM, Johan Dams johan.dams@wrdsystems.co.uk wrote:
Hi.
Ext2 or even FAT should be fairly straight forward to implement as well. You can then hook it up into the VFS system in L4Re. You will have to write the block device driver as well, for whatever persistent storage you want to use on your ARM system.
Best regards, Johan
On Thu, 2014-06-19 at 10:34 -0500, Jorge Ventura wrote:
I think that this is something that has to be implemented. If I understand correctly this matter, any filesystem device driver, except the memory filesystems you mention before has to be written from scratch as a server at the top of Fiasco.OC.
I don't know if you are planning to go that far but one idea (and I have personal interest on that) is to try to port or rewrite the minix 3 file system from Minix3 to Fiasco.OC. A good reason to do that is because you can find a detailed explanation in the book
"Operating Systems, Design and Implementation"
Andrew S.Tanenbaum
in Chapter 5, a detailed description about minix 3 filesystem and the implementation as well.
On Thu, Jun 19, 2014 at 9:55 AM, Maria Soler m.soler@virtualopensystems.com wrote: Thanks, Jorge Ventura. Yes, you are right. I am sorry, I meant L4re. I am used to discuss about the whole system calling it FIASCO (just as most people do with Linux and its different distributions). So I will rephrase my question a bit more precisely:
I need to create persistent files that are written in disk from applications running on L4re. I would also need to load (these or other) files from disk at run time. I have already created an application that reads and writes from files saved both in rom and in a tmpfs, but I don't know how to make persistent files. On Thu, Jun 19, 2014 at 4:12 PM, Jorge Ventura <jorge.araujo.ventura@gmail.com> wrote: Hi Maria, I think that if you watch this presentation http://youtu.be/SyOcmVamsmI you will find answers to many of your questions. Specially in the slide "Kernel vs. Operating System" it's explain that Fiasco.OC is just the kernel that contains two device drivers, UART for basic console and timer to be used by scheduler, any other device driver has to be implemented to run outside the kernel level. Ventura On Thu, Jun 19, 2014 at 7:44 AM, Maria Soler <m.soler@virtualopensystems.com> wrote: Hello, I would need to use file system facilities, but I am not sure how this is done. I can already use rom/ and also tmpfs, but neither is exactly what I need. I need to create persistent files that are written in disk from applications running on FIASCO (directly, not using L4Linux as an intermediary). I would also need to load (these or other) files from disk in run time (loading all files as modules in rom may not be the best solution, specially since we need to create new files "on the go" and be able to load them from other applications. Is there any module/library/whatever in FIASCO that offers this? If there is one, how can we use it/where can we find information about it? In case this is relevant, our applications are in C and we are to run FIASCO in TrustZone Crotex-A15 (in secure mode). Best regards, María. _______________________________________________ l4-hackers mailing list l4-hackers@os.inf.tu-dresden.de
http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers
l4-hackers mailing list l4-hackers@os.inf.tu-dresden.de http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers
--
PGP Public Key: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x08EDE1CD977FD2AB
Am 19.06.2014 18:06, schrieb Jorge Ventura:
This is a good direction. I forgot that, in reality we need two drivers, one for a block device and another one for the filesystem itself.
The two drivers are not sufficient if the underlying hardware is some sort of bare flash devices (NOR, NAND) and you use a traditional file system. The number of erase cycles of an individual block is limited. So writes of frequently written blocks (directory, file allocation table) need to be evenly spread over the device to avoid a premature death of vital blocks. This is the so called wear levelling which is an additional driver in between the block device driver and the file system driver. Or you use a file systems which incorporates wear levelling (JFFS2, UBIFS).
The two drivers are sufficient only if the underlying hardware is an intelligent device like a hard disk, SSD, SD card or USB Stick. Such devices have their own controller performing wear levelling itself.
Martin
Hi again,
Thanks to all for your answers. After further investigation I don't seem to actually need disk access/a file system by now, so I'll leave this thread of work for the moment.
Thanks again, María.
On Fri, Jun 20, 2014 at 12:02 PM, Martin Schröder martin.schroeder@openlimit.com wrote:
Am 19.06.2014 18:06, schrieb Jorge Ventura:
This is a good direction. I forgot that, in reality we need two drivers, one for a block device and another one for the filesystem itself.
The two drivers are not sufficient if the underlying hardware is some sort of bare flash devices (NOR, NAND) and you use a traditional file system. The number of erase cycles of an individual block is limited. So writes of frequently written blocks (directory, file allocation table) need to be evenly spread over the device to avoid a premature death of vital blocks. This is the so called wear levelling which is an additional driver in between the block device driver and the file system driver. Or you use a file systems which incorporates wear levelling (JFFS2, UBIFS).
The two drivers are sufficient only if the underlying hardware is an intelligent device like a hard disk, SSD, SD card or USB Stick. Such devices have their own controller performing wear levelling itself.
Martin
l4-hackers mailing list l4-hackers@os.inf.tu-dresden.de http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers
l4-hackers@os.inf.tu-dresden.de