GSOC project: #4334 Replace Mongoose with Civetweb

Ayushman Mishra ayushvidushi01 at gmail.com
Sat Mar 27 12:06:27 UTC 2021


Greetings to all the respected mentors,
1. I saw there has been a lot of discussion regarding replacing
mongoose with civetweb (
https://lists.rtems.org/pipermail/devel/2016-April/014661.html ).
I think the basic outline of the project is like this
a. Completely removing mongoose and replace it with civetweb and make
it configurable in rsb
b. check the parameters and options available in civetweb and make it
usable for users in rtems.
c. making test-cases for civetweb (should be similar to mongoose)
d. documentation of using civetweb and web-server in general.
I would be very grateful to know what is the actual current status of
this project and the coding involved in it enough for a summer of code
project or some extra things should be added in it.

Also,
2. I have build bsp on rtems6 and a simple application is working
correct, but while trying to build libbsd package in rtems6
(../source-builder/sb-set-builder --prefix=$HOME/quick-start/rtems/6 \
  --host=sparc-rtems6 --with-rtems-bsp=erc32 6/rtems-libbsd ) I am
constantly getting build failed
RTEMS Source Builder - Set Builder, 6 (ade089253e70)
Build Set: 6/rtems-libbsd
config: tools/rtems-libbsd-6.cfg
error: rtems-bsp.cfg:155: invalid %if operator:  -mcpu=cypress
-I/home/ayush/quick-start/rtems/6/sparc-rtems6/erc32/lib/include ==
Build FAILED
Build Set: Time 0:00:00.045392
Build FAILED

I also tried building all packages for bsp erc32
(../source-builder/sb-set-builder --prefix=$HOME/quick-start/rtems/6 \
    --with-rtems-tests=yes bsps/erc32) but after building for more
than an hour it also gave build failed error.
building: sparc-rtems6-kernel-erc32-1
error: building sparc-rtems6-kernel-erc32-1
Build FAILED
  See error report: rsb-report-sparc-rtems6-kernel-erc32-1.txt
error: building sparc-rtems6-kernel-erc32-1
Build Set: Time 0:23:14.195494
error: building sparc-rtems6-kernel-erc32-1
Build Set: Time 3:55:05.826612
Build FAILED

Thanks, Ayushman

On Mon, Mar 22, 2021 at 6:37 AM Ayushman Mishra
<ayushvidushi01 at gmail.com> wrote:
>
> Thanks a lot for help and information , actually i am trying to setup
> mongoose on simple rtems application
> (https://devel.rtems.org/wiki/Developer/Mongoose_Web_Server) and for
> that right now I am trying to configure networking and file-system in
> the application.
>
> On Sun, Mar 21, 2021 at 8:54 PM Joel Sherrill <joel at rtems.org> wrote:
> >
> >
> >
> > On Sun, Mar 21, 2021, 4:45 AM Christian Mauderer <oss at c-mauderer.de> wrote:
> >>
> >> Hello Ayushman,
> >>
> >> On 21/03/2021 04:15, Ayushman Mishra wrote:
> >> > Ayushman
> >> > Hello everyone , I am very much interested in taking
> >> > https://devel.rtems.org/ticket/4334
> >> > as a GSOC 2021 project. I know some basic networking concepts and would like to
> >> > learn more about it and how its applied to OS like RTEMS , regarding
> >> > this I have some questions.
> >>
> >> Note that the ticket will be more about integrating civetweb into a
> >> RTEMS Source Builder (RSB) recipe and finding a way to make it
> >> configurable there. Alternative could be some kind of stand alone repo
> >> like for littlevgl.
> >
> >
> > Making the civitweb configure options available to RTEMS user is a key point.
> >
> > It may make sense to do a repo with waf build system and config.ini that maps to their settings.
> >
> >>
> >> civetweb builds on RTEMS nearly out of the box. So don't expect too much
> >> C-Code.
> >
> >
> > I set it up recently on Linux for embedding in their application. As you turned on options, it had more dependencies. This would have to be managed with RTEMS.
> >
> >>
> >> I'm not yet sure how much work will be on that ticket. If it is too few
> >> for a whole GSoC, you might want to think about reviving the discussion
> >> about some useful civetweb parameters (for an embedded system) here:
> >>
> >>      https://github.com/civetweb/civetweb/pull/297
> >
> >
> > +1
> >
> > How to present the options to the user and manage their dependencies would be a key part of this.
> >>
> >>
> >>
> >>
> >> >
> >> > 1. After building a simple hello world application how and where should i write
> >> > configurations of
> >> > https://docs.rtems.org/branches/master/networking/using_networking_rtems_app.html
> >> > OR  https://docs.rtems.org/branches/master/user/migration/v4_11-to-v5.html#networking
> >> > to start using networking stack in RTEMS .
> >>
> >> The documentation is currently mostly for the legacy stack. Please
> >> ignore most of that. You should focus on a BSP that uses libbsd. The
> >> legacy stack and it's documentation will be removed from the main repos
> >> soon.
> >>
> >> > Also I think a simple shell has to be spawned to use networking modules in RTEMS
> >> > and for getting it this
> >> > https://docs.rtems.org/branches/master/shell/configuration_and_init.html#attached-to-a-serial-port
> >> > I think could be a simple method and for doing so ( like executing
> >> > rtems_shell_init with parameters )
> >> > do i have to run the specific test in testsuite or re-run the application
> >>
> >> There is a "mghttpd01" test in rtems-libbsd which is used for the
> >> current fixed version of mongoose that is integrated in RTEMS. I would
> >> suggest to use that as a starting point.
> >>
> >> >
> >> > 2. Is there any specific device or bsp needed for running networking
> >> > or shell configurations
> >> > with file-system in RTEMS
> >>
> >> Basically you can use every BSP that has network support. A good
> >> simulation BSP where you don't need any hardware is xilinx_zynq_a9_qemu:
> >>
> >> https://docs.rtems.org/branches/master/user/bsps/bsps-arm.html#debugging-with-xilinx-zynq-a9-qemu
> >>
> >> Best Regards
> >>
> >> Christian
> >>
> >> > I would be very thankful if someone can please clarify my doubts and
> >> > guide me further
> >> > with this project as I am getting lost and don't know how to proceed
> >> > after building a simple application.
> >> > Thank-you
> >> > _______________________________________________
> >> > devel mailing list
> >> > devel at rtems.org
> >> > http://lists.rtems.org/mailman/listinfo/devel
> >> >
> >> _______________________________________________
> >> devel mailing list
> >> devel at rtems.org
> >> http://lists.rtems.org/mailman/listinfo/devel


More information about the devel mailing list