[RTEMS Project] #4213: libbsd: Reduce footprint of minimal buildset
RTEMS trac
trac at rtems.org
Fri Feb 25 18:23:55 UTC 2022
#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, small | 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.
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 small (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:13>
RTEMS Project <http://www.rtems.org/>
RTEMS Project
More information about the bugs
mailing list