GSOC project: #4334 Replace Mongoose with Civetweb

Ayushman Mishra ayushvidushi01 at gmail.com
Mon Mar 29 16:33:34 UTC 2021


Sir ,
It would be very helpful to know about potential mentors of (Replace
mongoose with civetweb) https://devel.rtems.org/ticket/4334 this project.

On Mon, Mar 29, 2021, 9:39 PM Gedare Bloom <gedare at rtems.org> wrote:

> On Mon, Mar 29, 2021 at 9:49 AM Ayushman Mishra
> <ayushvidushi01 at gmail.com> wrote:
> >
> > I have installed libbsd package (made
> > RTEMS_POSIX_API=True,RTEMS_NETWORKING=True in config.ini file to
> > enable POSIX and networking) but I am still confused about the work
> That doesn't look right. RTEMS_NETWORKING=True enables the legacy
> network stack. If you want to build libbsd, you need to check out
> https://git.rtems.org/rtems-libbsd/
>
> > already done in this project in past. Also after interacting on
> > discord I think completely replacing  mongoose with another web-server
> > is not a good option since it may rise some user complaints who are
> > already using old system and may find it difficult to instantly switch
> > over to new system , instead civetweb can be added as an extra new
> > web-server where user has a choice to either use old mongoose or the
> > new web server both having all dependencies and functionalities
> > available.
> >
> No, we will replace mghttpd with civetweb. Anyone who still wants the
> frozen version of mghttpd can revive it, but we want to replace it
> moving forward.
>
> > Also I still don't know whether the project #4334 is long enough for
> > summer of code project and after going through docs I think
> There are other activities involved in getting civetweb to work well
> with RTEMS. It should be sufficient, but you would need to flesh out
> the proposal details with mentor assistance. To be clear, it will be
> C/network programming.
>
> > https://devel.rtems.org/ticket/4272 is also a very interesting project
> > since now I think I know a little bit about BSPs and I am good in
> > python and know shell-scripting. I would be very grateful to know more
> > about this project.
> You should start a new thread to discuss this project. I thought
> someone else may have inquired about this, maybe it was you? I didn't
> see any response yet, but probably because it was buried in other
> content (like this comment) so likely the potential mentor didn't even
> notice it, especially since all you mention here is the ticket number.
>
> Gedare
>
> > Thanks.
> >
> > On Sat, Mar 27, 2021 at 5:36 PM Ayushman Mishra
> > <ayushvidushi01 at gmail.com> wrote:
> > >
> > > 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
> > _______________________________________________
> > devel mailing list
> > devel at rtems.org
> > http://lists.rtems.org/mailman/listinfo/devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20210329/6c42bebd/attachment.html>


More information about the devel mailing list