Hi Alexander,
if I try to execute it inside genode bash (eg in /home/build) - I do receive the following: in ssh client : bash-4.4# vim c bash-4.4# ls -la total 1 -rwx------ 1 root 0 1004 Jan 1 2022 c drwx------ 1 root 0 144 Jan 1 1970 depot bash-4.4# ./c bash: ./c: No such file or directory bash-4.4# bash -c ./c bash: ./c: No such file or directory bash-4.4# bash -c c bash: c: command not found
or, if I add this to beginning #!/bin/sh echo ok bash: ./c: /bin/bash: bad interpreter: No such file or directory
in log: [init -> /bin/bash -> 12] Error: ROM-session creation failed (ram_quota=6144, cap_quota=3, label="/home/build/c") [init -> /bin/bash -> 12] Error: Could not open ROM session for "/home/build/c" [init -> /bin/bash -> 12] Warning: execve: executable binary inaccessible as ROM module
The "Could not open ROM session for /home/build/c" indicates that there is something wrong with your session routing. It's a bit of a guesswork involved here what your run script looks like but I believe it is similar to ssh.run. Executable binaries must be provided as a ROM module. In other words, when executing "/home/build/c" the bash component tries to open a ROM session with label "/home/build/c". For this purpose, the ssh.run contains the fs_rom component as a proxy between the vfs server and the bash component. When you look at the routing rules defined for the bash component, you see some routing rules for the ROM service. In ssh.run, however, only session requests with labels "/bin/..." are routed to fs_rom. Have you tried adding a rule for "/home/build/..."?
Best Johannes