[PATCH] Documentation: devel: project-ideas: align with GSoC guidelines
Sascha Hauer
sha at pengutronix.de
Thu Mar 3 02:00:08 PST 2022
On Wed, Mar 02, 2022 at 04:58:46PM +0100, Ahmad Fatoum wrote:
> Google informed orgs for GSoC 2022 about required info for ideas list:
>
> As we state in the Defining a Project Idea List section of the Mentor
> guide, please provide the following information for each idea:
>
> a) a project title/description
> b) more detailed description of the project (2-5+ sentences)
> c) expected outcomes
> d) skills required/preferred
> e) possible mentors
> f) expected size of project (175 or 350 hour)
> g) an easy, medium or hard difficulty rating of each project.
>
> We are nearly there, add the missing points.
>
> Signed-off-by: Ahmad Fatoum <a.fatoum at pengutronix.de>
> ---
> Documentation/devel/project-ideas.rst | 44 ++++++++++++++++++++++-----
> 1 file changed, 37 insertions(+), 7 deletions(-)
Applied, thanks
Sascha
>
> diff --git a/Documentation/devel/project-ideas.rst b/Documentation/devel/project-ideas.rst
> index f27e4d5406fc..a3643298ab08 100644
> --- a/Documentation/devel/project-ideas.rst
> +++ b/Documentation/devel/project-ideas.rst
> @@ -13,16 +13,26 @@ If you find a project interesting and would like to work on it, reach out
> to the :ref:`mailing list <feedback>` and we can together
> try to figure out whether you are a good match for the project.
>
> +For GSoC, following barebox developers are mentoring:
> +
> + - Ahmad Fatoum (IRC: ``a3f``)
> + - Sascha Hauer (IRC: ``_sha_``)
> + - Rouven Czerwinski (IRC: ``Emantor``)
> +
> This list can be edited and extended by sending patches to the mailing list.
> Other interesting ideas: Support for new file systems (EROFS, extfat, btrfs).
> Switch device framework (currently scripts write into a ``/dev/switch`` file
> to configure passthrough), Improvements for barebox-efi (e.g. as a coreboot
> payload), ... etc.
>
> +Ideas listed below should contain a title, description, expected outcomes,
> +skills (and HW if any) required and a difficulty rating.
> +Projects are meant to be about 175 hours of effort, unless otherwise noted.
> +
> Address static analyzer feedback for barebox
> ============================================
>
> -Skills: C
> +Skills: C. Difficulty: Lowest
>
> barebox is automatically tested using Synopsys' free "Coverity Scan" service.
> The static analyzer has so far identified 191 possible defects at
> @@ -36,13 +46,15 @@ To make this service more useful, the project would involve categorizing
> reported issues and handling them as appropriate: Mark them as not applicable
> if false positive or provide patches to fix real issues.
>
> +Expected outcome is that barebox is coverity-clean.
> +
> This project does not require dedicated hardware. QEMU or barebox built
> to run under Linux (sandbox) may be used.
>
> Update barebox networking stack for IPv6 support
> ================================================
>
> -Skills: C, Networking
> +Skills: C, Networking. Difficulty: Medium
>
> The barebox network stack is mainly used for TFTP and NFSv3 (over UDP) boot.
> Most embedded systems barebox runs on aren't deployed to IPv6 networks yet,
> @@ -55,13 +67,15 @@ makes it possible to integrate an IPv6 stack, e.g. lwIP.
> There are also community patches to integrate a TCP stack into barebox.
> These can be evaluated as time allows.
>
> +Expected outcome is that barebox can TFTP/NFS boot over IPv6.
> +
> This project does not require dedicated hardware. QEMU or barebox built
> to run under Linux (sandbox) may be used.
>
> Improving barebox test coverage
> ===============================
>
> -Skills: C
> +Skills: C. Difficulty: Lowest
>
> barebox is normally tested end-to-end as part of a deployed system.
> More selftests/emulated tests would reduce the round trip time for testing
> @@ -78,13 +92,16 @@ tests for barebox functionality and by fuzzing the parsers available in
> barebox, with special consideration to the FIT parser, which is used in
> secure booting setups.
>
> +Expected outcome is a richer test suite for barebox and an automated
> +setup for fuzzing security-critical parsers.
> +
> This project does not require dedicated hardware. QEMU or barebox built
> to run under Linux (sandbox) may be used.
>
> Porting barebox to new hardware
> ===============================
>
> -Skills: C, low-level affinity
> +Skills: C, low-level affinity. Difficulty: Medium
>
> While Linux and Linux userspace can be quite generic with respect to the
> hardware it runs on, the bucket needs to stop somewhere: barebox needs
> @@ -102,6 +119,9 @@ If time allows (because most drivers are already available in barebox),
> new drivers can be ported to enable not only running Linux on the board,
> but bareDOOM as well.
>
> +Expected outcome is upstreamed barebox drivers and board support to
> +enable running on previously unsupported hardware.
> +
> This project requires embedded hardware with preferably an ARM SoC, as
> these have the widest barebox support, but other architectures are ok
> as well.
> @@ -109,7 +129,7 @@ as well.
> Improve barebox RISC-V support
> ==============================
>
> -Skills: C, RISC-V interest, low-level affinity
> +Skills: C, RISC-V interest, low-level affinity. Difficulty: Medium
>
> barebox supports a number of both soft and hardRISC-V targets,
> e.g.: BeagleV, HiFive, LiteX and the QEMU/TinyEMU Virt machine.
> @@ -121,12 +141,16 @@ stage, so much opportunity in implementing the gritty details:
> - MMU support in S-Mode to trap access violations
> - Improve barebox support for multiple harts (hardware threads)
>
> +Expected outcome is better RISC-V support: Access violations are
> +trapped in both S- and M-Mode. Virtual memory is implemented and
> +Linux can be booted on multiple harts.
> +
> This project does not require dedicated hardware. QEMU can be used.
>
> Improve barebox I/O performance
> ===============================
>
> -Skills: C, low-level affinity
> +Skills: C, low-level affinity. Difficulty: Medium
>
> On a normal modern system, booting may involve mounting and traversing
> a file system, which employs caching for directory entries and sits
> @@ -145,13 +169,15 @@ possible to increase throughput of barebox I/O:
> and write performance. This may not be optimal for all devices
> and can be revisited.
>
> +Expected outcome is faster read/write/erasure of MMC block devices.
> +
> This project requires embedded hardware with SD/eMMC that is supported
> by a barebox media card interface (MCI) driver.
>
> Improve JSBarebox, the barebox web demo
> =======================================
>
> -Skills: C (Basics), Javascript/Web-assembly, Browser-Profiling
> +Skills: C (Basics), Javascript/Web-assembly, Browser-Profiling. Difficulty: Medium
>
> While Linux and Linux userspace can be quite generic with respect to the
> hardware it runs on, the bucket needs to stop somewhere: barebox needs
> @@ -170,5 +196,9 @@ provided with modern browsers. The remainder of the project can then
> focus on improving the jsbarebox tutorial. e.g. by adding new
> peripherals to the virtual machine.
>
> +Expected outcome is snappier and less CPU-intensive barebox demo.
> +TinyEMU is extended, so the RISC-V machine is more like real
> +hardware and tutorial is extended to make use of the new pripherals.
> +
> This project does not require dedicated hardware. The development
> machine need only support a recent browser.
> --
> 2.30.2
>
>
--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
More information about the barebox
mailing list