[RTEMS Project] #4213: libbsd: Reduce footprint of minimal buildset

RTEMS trac trac at rtems.org
Sat Feb 17 04:56:52 UTC 2024


#4213: libbsd: Reduce footprint of minimal buildset
---------------------------------+---------------------------------
 Reporter:  Christian Mauderer   |       Owner:  Christian Mauderer
     Type:  project              |      Status:  assigned
 Priority:  normal               |   Milestone:  Indefinite
Component:  network/libbsd       |     Version:
 Severity:  normal               |  Resolution:
 Keywords:  SoC, libbsd, medium  |  Blocked By:
 Blocking:                       |
---------------------------------+---------------------------------
Description changed by Gedare Bloom:

Old description:

> == Overview
>
> The RTEMS libbsd is now the default network stack for a lot of BSPs. But
> it's footprint is quite a bit larger then the one of the "legacy" network
> stack. In 2018 we introduced buildsets that allow to disable features.
> Currently only a few features can be disabled (OpenSSL, IPv6). Target of
> this project would be to find more non-essential features that are always
> linked in and allow to disable them.
>
> As a general guideline: The minimal buildset of libbsd should provide
> about the functionality of the legacy network stack.
>
> The work must not increase the testing effort that is necessary for a
> release. That should not be a big problem as long as no new buildsets or
> new build options are necessary. If something like this is necessary, it
> will need a discussion on the mailing list first.
>
> == Requirements
>
> * A target where libbsd can be used. That can be either real hardware or
> a simulator with network support (for example xilinx_zynq_a9_qemu).
>
> * If you have a real hardware target, you'll most likely need some JTAG
> debugger for it. On a simulator you can use gdb. You have to know how to
> use the debugger.
>
> * Basic C coding skills and very good skills to read C code. You'll have
> to dig through FreeBSD code which can be quite complex!
>
> * Quite a bit of knowledge how to analyze generated elf files. You should
> at least be able to use objdump and read linker map files.
>
> * Ability to build your own RTEMS application outside of the normal test
> tree to test stuff during development.
>
> == Difficulty ==
> This is a small (175-hour) project of medium difficulty.
>
> == More Information ==
>
> Read the comments for a lot more discussion on this topic.

New description:

 == Overview

 The RTEMS libbsd is now the default network stack for a lot of BSPs. But
 it's footprint is quite a bit larger then the one of the "legacy" network
 stack. In 2018 we introduced buildsets that allow to disable features.
 Currently only a few features can be disabled (OpenSSL, IPv6). Target of
 this project would be to find more non-essential features that are always
 linked in and allow to disable them.

 As a general guideline: The minimal buildset of libbsd should provide
 about the functionality of the legacy network stack.

 The work must not increase the testing effort that is necessary for a
 release. That should not be a big problem as long as no new buildsets or
 new build options are necessary. If something like this is necessary, it
 will need a discussion on the mailing list first.

 == Requirements

 * A target where libbsd can be used. That can be either real hardware or a
 simulator with network support (for example xilinx_zynq_a9_qemu).

 * If you have a real hardware target, you'll most likely need some JTAG
 debugger for it. On a simulator you can use gdb. You have to know how to
 use the debugger.

 * Basic C coding skills and very good skills to read C code. You'll have
 to dig through FreeBSD code which can be quite complex!

 * Quite a bit of knowledge how to analyze generated elf files. You should
 at least be able to use objdump and read linker map files.

 * Ability to build your own RTEMS application outside of the normal test
 tree to test stuff during development.

 == Difficulty ==
 This is a medium (175-hour) project of medium difficulty.

 == More Information ==

 Read the comments for a lot more discussion on this topic.

--

--
Ticket URL: <http://devel.rtems.org/ticket/4213#comment:15>
RTEMS Project <http://www.rtems.org/>
RTEMS Project


More information about the bugs mailing list