Noux application

Christian Helmuth christian.helmuth at ...1...
Tue Nov 3 08:39:31 CET 2015


Hello Joseph,

On Tue, Nov 03, 2015 at 01:31:55AM +0100, Joseph Lee wrote:
> I have one more question. i know that ram__fs file system creates a storage
> area in RAM and will continue using it util the system runs out of RAM.  So
> when i put a large file in the file system it says out of memory. Could you
> please tell me maybe if there is a way to store a large file into sdcard
> partition?

First, the RAM quota that may be used by the ram_fs can be configured
in the init <start> node with the sub node

  <resource name="RAM" quantum="..."/>

but you're right: The file size is limited by the amount of available
RAM of the platform, which is not that much on the i.MX53 QSB.

If you target to use an SD card as storage media you'll need a stack
of components (bottom-up)

- A driver for the SD card controller and the actual SD card
  (protocol). We are busy to stabilize our implementation for i.MX53
  currently on the following branch

    https://github.com/m-stein/genode/commits/1497_usb_armory_demo

  but you may give the "make run/sd_card" scenario a try. Please make
  sure to use a separate SD card for such testing to not corrupt your
  master card. The SD-card driver provides a Block session to access
  the contents of the actual card.

- Optionally, you may need a partition-table driver if your card is
  partitioned, which will be the case if the card is also your boot
  device. Our implementation is part_blk which supports MSDOS as well
  as GPT partition tables and provides a Block session for each
  partition found on the Block session used by the driver.

- Next, you'll need a file-system implementation, which uses the Block
  session and provides a file-based API. Our implementation for FAT
  uses the ffat library. Please have a look at

    repos/libports/run/libc_ffat.run.

  Depending on the use case the file-system library is directly linked
  to the application or into a File_system server in Genode 15.08. We
  have still some loose ends here that we're busy to tie up. In the
  upcoming Genode 15.11, we strive to consolidate all file-system
  related functionality into the VFS, which renders the use of a
  file-system server vs. a local plugin instance just a matter of
  configuration.

To sum it up from the background of your use case I have no ready to
use configuration you may just reuse. Therefore, I suggest you walk on
step by step and ask specific questions if issues occur. One side note
from me: If you could imagine to use ext2 on a second partition of
your SD card, you may use the rump_fs server like in

  repos/dde_rump/run/rump_ext2.run

which also illustrates how to configure your libc application with a
mount point for the file system.

Regards
-- 
Christian Helmuth
Genode Labs

http://www.genode-labs.com/ · http://genode.org/
https://twitter.com/GenodeLabs · /ˈdʒiː.nəʊd/

Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth




More information about the users mailing list