Make Debian for Raspberry Build Again
Description of the project: There is an available set of images for running Debian in Raspberry Pi computers (all models below the 5 series)! However, I (the maintainer) am severely lacking time to take care for them; I called for help for somebody to adopt them, but have not been successful. The image generation scripts might have bitrotted a bit, but it is mostly all done. And there is a lot of interest and use still in having the images freshly generated and decently tested! This GSoC project is about getting the [[https://raspi.debian.net/ | Raspberry Pi Debian images] site working reliably again, and ideally making it easily deployable to be run in project machines.
Confirmed Mentor: Gunnar Wolf
How to contact the mentor: gwolf@debian.org, IRC: gwolf on OFTC
Difficulty level: Easy
Project size: Medium
Deliverables of the project:
Refreshing the set of daily-built images
Having the set of daily-built images become automatic again — that is, go back to the promise of having it daily-built
- Write an Ansible playbook / Chef recipe / Puppet whatsitsname to define a virtual serve and have it build daily
- Do the (very basic!) hardware testing on several Raspberry computers. Do note, naturally, this will require having access to the relevant hardware.
Desirable skills:
- Understanding the early-boot process of a single-board computer
- Declarative configuration (for vmdb2 as well as for Ansible/Chef/Puppet)
- Writing systemd units and timers
What the intern will learn: The Raspberry Pi family of computers are ARM-based computers, which have a boot process quite different from “traditional” UEFI-based PCs. You will get acquinted with how a different architecture (that is growing in importance!) boots, how Device Tree maps the hardware for the operating system to use it (and maybe even how to work with overlays). You will also learn how deployment of production-level code is done to servers so they run reliably.
Application tasks:
We try to diverge the least possible from regular Debian installs with these images, but the RPi's way of working forces us to take some decisions.
- How much do we differ?
- Do you think all of our modifications make sense, or we might be carrying over some cruft that could be removed?
- We use the vmdb2 image building system. It is not much known outside Debian. How do you compare it with other image building tools?
Related projects: We are filling approximately the same role as our debian-installer tool, but generating for a series of computers where users often flash ready-to-use images instead of doing an explicit install. Of course, the images we provide could be compared to what Raspberry Pi OS offers, but giving the quality and free-software guarantees that Debian has.