run/noux_bash

Norman Feske norman.feske at ...1...
Thu Mar 30 11:36:31 CEST 2017


Hello Prashanth,

> I'm trying to run noux_bash on Linux on today's master genode branch,
> and running into some issues.
> 
> When I make run/noux_bash, I can see a x-window pop-up with the bash
> root prompt, and can extract using echo the following responses from
> bash:
> 
> bash-4.1# echo $PATH
> /usr/gnu/bin:/usr/local/bin:/bin:/usr/bin:.
> 
> bash-4.1# echo $SHELL
> /bin/bash
> 
> bash-4.1# echo $TERM
> linux
> 
> However, any non-shell command causes a dead unresponsive shell, with
> 
>   "Kernel: ipc_cap_data nullptr"

Noux does not support fork on Linux (I don't expect this to change
anytime soon). Hence, only very simple scenarios like noux_vim.run or
noux.run are supposed to work. All base platforms other than Linux
should work.

The glitch about character input is caused by the mapping of SDL input
events to the keycodes as understood by Genode. The problem is related
to the following issue:

  https://github.com/genodelabs/genode/issues/1187

As we merely use base-linux as a development vehicle where whose issues
are not important, we haven't addressed them so far.

> The broader question I had is: what would be needed to run bash from
> within a non-graphical terminal, as in via an ssh server.  I have a
> very basic and incomplete sshd server running in genode linux [1], and
> need to fulfill, on the server end, the pty_request and shell_request
> sent by the ssh client.
> 
> I notice that the bash port is built using:
> 
> repos/ports/src/noux-pkg/bash/target.mk:
> # Prevent interactions with nonexisting tty driver
> CFLAGS += -DNO_TTY_DRIVER
> 
> and a repos/ports/src/noux-pkg/bash/check_dev_tty.patch
> which removes a bash call to check_dev_tty().
> 
> Would this affect the above goal?

Connecting Noux directly to a terminal service like 'tcp_terminal'
instead of the graphical terminal should just work.

Note, however, that you may encounter incompatibilities between your
local terminal emulator (like xterm) and the 'TERM' configuration used
by noux applications. In the noux_bash scenario, the 'TERM' environment
variable is set to 'linux', which is understood by Genode's graphical
terminal, but probably not by the terminal of choice you are using on
your host machine. Genode's port of ncurses enables 'vt102' in addition
to 'linux' (see libports/ports/ncurses.port). So it may be worth to give
this a try. For further discussion of the terminal topic, let me refer
to the following issue:

  https://github.com/genodelabs/genode/issues/1907

Cheers
Norman

-- 
Dr.-Ing. Norman Feske
Genode Labs

http://www.genode-labs.com · http://genode.org

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