Hello, I want to use a file system in tz_vmm demo. I get to know that there's sd_card driver for i.mx53 quick start board and a stable file system in genode which is rump_fs. So my idea is to use rump_fs and use sd_card for storage. The sd_card is formatted as ext2 and it is also used to booting the system. I write a simple test client called "test-file" which just try to create a file and open it.However, when the system booting, it print the error message: [init -> sd_card_drv] CID: 0x3534453 0x55303447 0x80b0970d 0x4000e700 [init -> sd_card_drv] RCA: 0xe624 [init -> sd_card_drv] SD card detected [init -> sd_card_drv] capacity: 3781 MiB [init -> part_blk] Partition 1: LBA 10240 (7733248 blocks) type: 83 [init] child "part_blk" announces service "Block" [init -> part_blk] session opened at partition 1 for 'rump_fs -> ' [init -> rump_fs] Using ext2fs as file system [init -> rump_fs] asserting rump kernel 14249 KB of RAM [init -> rump_fs] Error: mounting file system failed (errno 13 ) [init -> rump_fs] Error: dry mount attempt failed, aborting [init -> rump_fs] Error: Uncaught exception of type 'Genode::Exception' [init -> rump_fs] Warning: abort called - thread: ep [init] child "rump_fs" exited with exit value 1
I searched the error number online which tells me that it seems related to "permission".Here's part of my configuration: <start name="sd_card_drv"> <resource name="RAM" quantum="3M"/> <provides><service name="Block"/></provides> </start> <start name="part_blk"> <resource name="RAM" quantum="10M" /> <provides><service name="Block" /></provides> <route> <service name="Block"><child name="sd_card_drv" /></service> <any-service><parent/><any-child/></any-service> </route> <config> <policy label_prefix="rump_fs" partition="1"/> </config> </start> <start name="rump_fs" caps="200"> <resource name="RAM" quantum="16M"/> <provides><service name="File_system"/></provides> <config fs="ext2fs"> <policy label="" root="/" writeable="yes"/> </config> <route> <service name="Block"> <child name="part_blk"/> </service> <any-service> <parent/> <any-child/> </any-service> </route> </start> <start name="test-file" caps="100"> <resource name="RAM" quantum="4M"/> <config> <vfs> <dir name="dev"> <log/> <inline name="rtc">2000-01-01 00:00</inline> </dir> <fs/> </vfs> <libc stdout="/dev/log" stderr="/dev/log" rtc="/dev/rtc" /> </config> </start>
Any help will be ok, thanks in advance!
------------------ Best wishes
Hello lzSun,
On Tue, Nov 13, 2018 at 03:02:32PM +0800, lzSun wrote:
I want to use a file system in tz_vmm demo. I get to know that there's sd_card driver for i.mx53 quick start board and a stable file system in genode which is rump_fs. So my idea is to use rump_fs and use sd_card for storage. The sd_card is formatted as ext2 and it is also used to booting the system. I write a simple test client called "test-file" which just try to create a file and open it.However, when the system booting, it print the error message: [init -> sd_card_drv] CID: 0x3534453 0x55303447 0x80b0970d 0x4000e700 [init -> sd_card_drv] RCA: 0xe624 [init -> sd_card_drv] SD card detected [init -> sd_card_drv] capacity: 3781 MiB [init -> part_blk] Partition 1: LBA 10240 (7733248 blocks) type: 83 [init] child "part_blk" announces service "Block" [init -> part_blk] session opened at partition 1 for 'rump_fs -> ' [init -> rump_fs] Using ext2fs as file system [init -> rump_fs] asserting rump kernel 14249 KB of RAM [init -> rump_fs] Error: mounting file system failed (errno 13 ) [init -> rump_fs] Error: dry mount attempt failed, aborting [init -> rump_fs] Error: Uncaught exception of type 'Genode::Exception' [init -> rump_fs] Warning: abort called - thread: ep [init] child "rump_fs" exited with exit value 1
I searched the error number online which tells me that it seems related to "permission".Here's part of my configuration:
Your're right errno 13 is EACCES in rump/BSD.
<start name="sd_card_drv"> <resource name="RAM" quantum="3M"/> <provides><service name="Block"/></provides> </start> <start name="part_blk"> <resource name="RAM" quantum="10M" /> <provides><service name="Block" /></provides> <route> <service name="Block"><child name="sd_card_drv" /></service> <any-service><parent/><any-child/></any-service> </route> <config> <policy label_prefix="rump_fs" partition="1"/>
This policy configuration permits read access to partition 1. If you add the following attribute to the policy, rump_fs will be granted read-write access to the partition.
writeable="yes"
</config>
</start> <start name="rump_fs" caps="200"> <resource name="RAM" quantum="16M"/> <provides><service name="File_system"/></provides> <config fs="ext2fs"> <policy label="" root="/" writeable="yes"/> </config> <route> <service name="Block"> <child name="part_blk"/> </service> <any-service> <parent/> <any-child/> </any-service> </route> </start> <start name="test-file" caps="100"> <resource name="RAM" quantum="4M"/> <config> <vfs> <dir name="dev"> <log/> <inline name="rtc">2000-01-01 00:00</inline> </dir> <fs/> </vfs> <libc stdout="/dev/log" stderr="/dev/log" rtc="/dev/rtc" /> </config> </start>
Any help will be ok, thanks in advance!
Regards