rump_fs mount file system failed

Christian Helmuth christian.helmuth at genode-labs.com
Tue Nov 13 11:52:10 CET 2018


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
-- 
Christian Helmuth
Genode Labs

https://www.genode-labs.com/ · https://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