Christian Mauderer
2016-Feb-04 12:40 UTC
Evaluating a port to RTEMS (embedded OS with single address space and no processes)
Hello, I am searching a SSH server for remote administration of an embedded application running on RTEMS (https://www.rtems.org). This environment has neither virtual memory nor user and kernel space. So this is like an application running in kernel mode only. Would it be possible to run (a very basic version of) OpenSSH in such an environment using e.g. threads instead of forking new subprocesses? Is there already some known similar configuration (e.g. on another embedded OS)? Kind regards Christian Mauderer -- -------------------------------------------- embedded brains GmbH Christian Mauderer Dornierstr. 4 D-82178 Puchheim Germany email: christian.mauderer at embedded-brains.de Phone: +49-89-18 94 741 - 18 Fax: +49-89-18 94 741 - 08 PGP: Public key available on request. Diese Nachricht ist keine gesch?ftliche Mitteilung im Sinne des EHUG.
Roland Mainz
2016-Feb-04 13:46 UTC
Evaluating a port to RTEMS (embedded OS with single address space and no processes)
On Thu, Feb 4, 2016 at 1:40 PM, Christian Mauderer <christian.mauderer at embedded-brains.de> wrote:> I am searching a SSH server for remote administration of an embedded > application running on RTEMS (https://www.rtems.org). This environment > has neither virtual memory nor user and kernel space. So this is like an > application running in kernel mode only. > > Would it be possible to run (a very basic version of) OpenSSH in such an > environment using e.g. threads instead of forking new subprocesses? Is > there already some known similar configuration (e.g. on another embedded > OS)?Well, not much harder than a port to the original m68k AmigaOS or most of the military-oriented embedded OSes... not hard but lots of work (unless you have an existing POSIX(-like) layer emulation), mostly related to resource tracking and the socket stuff. ---- Bye, Roland -- __ . . __ (o.\ \/ /.o) roland.mainz at nrubsig.org \__\/\/__/ MPEG specialist, C&&JAVA&&Sun&&Unix programmer /O /==\ O\ TEL +49 641 3992797 (;O/ \/ \O;)
Christian Mauderer
2016-Feb-04 14:19 UTC
Evaluating a port to RTEMS (embedded OS with single address space and no processes)
Am 04.02.2016 um 14:46 schrieb Roland Mainz:> On Thu, Feb 4, 2016 at 1:40 PM, Christian Mauderer > <christian.mauderer at embedded-brains.de> wrote: >> I am searching a SSH server for remote administration of an embedded >> application running on RTEMS (https://www.rtems.org). This environment >> has neither virtual memory nor user and kernel space. So this is like an >> application running in kernel mode only. >> >> Would it be possible to run (a very basic version of) OpenSSH in such an >> environment using e.g. threads instead of forking new subprocesses? Is >> there already some known similar configuration (e.g. on another embedded >> OS)? > > Well, not much harder than a port to the original m68k AmigaOS or most > of the military-oriented embedded OSes... not hard but lots of work > (unless you have an existing POSIX(-like) layer emulation), mostly > related to resource tracking and the socket stuff. >Hello Roland, thanks for the quick answer. I must have overlooked these ports. I have mostly seen the list of full Unixes on this page: http://www.openssh.com/portable.html After your hint, I noted that there are a lot more ports in the sources. Is there some kind of porting guide or a hint where to begin reading documentation? If we would create a port: Would it be theoretically possible to contribute it to the official sources? For the POSIX-layer: RTEMS implements a part of the POSIX standard (or at least of the embedded subset of POSIX). But like I said it doesn't have processes but only threads. Kind Regards Christian Mauderer -- -------------------------------------------- embedded brains GmbH Christian Mauderer Dornierstr. 4 D-82178 Puchheim Germany email: christian.mauderer at embedded-brains.de Phone: +49-89-18 94 741 - 18 Fax: +49-89-18 94 741 - 08 PGP: Public key available on request. Diese Nachricht ist keine gesch?ftliche Mitteilung im Sinne des EHUG.
Christian Mauderer
2016-Feb-05 13:26 UTC
Evaluating a port to RTEMS (embedded OS with single address space and no processes)
Hello Cedric, thanks for the info regarding fork and the resource tracking. I'll just have to find out, how to avoid the fork() in the sshd. By the way: Is there any reason that you've sent the mails off list? Otherwise it would be good if we could send it to the list too so that someone who reads the thread can get this information too. Kind regards Christian Mauderer Note: This answers accidentally slipped off the list. I've decided to send it to the list too after sorting this out with Cedric. Am 04.02.2016 um 23:20 schrieb Cedric Blancher:> Quick grep of 'roland mainz amigaos' shows that he worked on that > topic, so you might have a candidate for HR :) > > Ced > > On 4 February 2016 at 23:17, Cedric Blancher <cedric.blancher at gmail.com> wrote: >> You can even implement processes without a MMU - POSIX allows it if >> you exclude the fork() family of syscalls. >> As Roland said its all about resource tracking. Find an expert who >> knows what to do and then beat the code into shape. >> >> Ced >> >> On 4 February 2016 at 15:19, Christian Mauderer >> <christian.mauderer at embedded-brains.de> wrote: >>> Am 04.02.2016 um 14:46 schrieb Roland Mainz: >>>> On Thu, Feb 4, 2016 at 1:40 PM, Christian Mauderer >>>> <christian.mauderer at embedded-brains.de> wrote: >>>>> I am searching a SSH server for remote administration of an embedded >>>>> application running on RTEMS (https://www.rtems.org). This environment >>>>> has neither virtual memory nor user and kernel space. So this is like an >>>>> application running in kernel mode only. >>>>> >>>>> Would it be possible to run (a very basic version of) OpenSSH in such an >>>>> environment using e.g. threads instead of forking new subprocesses? Is >>>>> there already some known similar configuration (e.g. on another embedded >>>>> OS)? >>>> >>>> Well, not much harder than a port to the original m68k AmigaOS or most >>>> of the military-oriented embedded OSes... not hard but lots of work >>>> (unless you have an existing POSIX(-like) layer emulation), mostly >>>> related to resource tracking and the socket stuff. >>>> >>> >>> Hello Roland, >>> >>> thanks for the quick answer. I must have overlooked these ports. I have >>> mostly seen the list of full Unixes on this page: >>> >>> http://www.openssh.com/portable.html >>> >>> After your hint, I noted that there are a lot more ports in the sources. >>> Is there some kind of porting guide or a hint where to begin reading >>> documentation? >>> >>> If we would create a port: Would it be theoretically possible to >>> contribute it to the official sources? >>> >>> For the POSIX-layer: RTEMS implements a part of the POSIX standard (or >>> at least of the embedded subset of POSIX). But like I said it doesn't >>> have processes but only threads. >>> >>> Kind Regards >>> >>> Christian Mauderer >>> >> -- >> Cedric Blancher <cedric.blancher at gmail.com> >> Institute Pasteur-- -------------------------------------------- embedded brains GmbH Christian Mauderer Dornierstr. 4 D-82178 Puchheim Germany email: christian.mauderer at embedded-brains.de Phone: +49-89-18 94 741 - 18 Fax: +49-89-18 94 741 - 08 PGP: Public key available on request. Diese Nachricht ist keine gesch?ftliche Mitteilung im Sinne des EHUG.