Device-specific Tweaks Management
Description of the project: A significant number of non-x86 Linux-capable devices made it to the market in the past few years, especially ARM64 laptops, mobile phones and tablets. Most of those, inheriting their design from embedded systems (and therefore lacking support for software interfaces such as ACPI/UEFI), need device-specific "tweaks" (configuration files/fragments, shell scripts...). As the number of supported devices grows rapidly, providing device-specific Debian packages containing those tweaks doesn't scale, and limits our ability to provide a generic system image/rootfs.
This project aims at researching and implementing a more flexible way of managing those tweaks, by creating a service capable of identifying the exact device it's running on, selecting the appropriate tweaks based on its configuration file, and installing them to the system. Reaching this goal will ultimately ease supporting new devices in Debian.
Confirmed Mentor: Arnaud Ferraris (UTC+2)
How to contact the mentor: Matrix (a-wai on mobian-dev:matrix.org or email (aferraris@debian.org)
Difficulty level: Mostly medium, although difficulty level is expected to increase over the project's course
Project size: The whole project is a large (350 hours) one, although its scope could be reduced to fit either a 90 hours or a 175 hours project.
Deliverables of the project:
- Analysis and discussion of the current state of device tweaks management in Debian and Mobian
- Proposal for a unified, run-time approach
- Initial implementation of a "tweaks management" service
- Packaging of this service and tweaks data/configuration for at least one device
Desirable skills:
- Familiarity with ARM64 devices (RPi 3+, Pine{Book,Phone,Tab} etc)
- Basic understanding of Linux systems (common services and middleware, user/admin/distro-specific configuration...)
- Shell scripting and basic programming skills
- (optional) basic Rust knowledge
What the intern will learn: Through this project, the intern will improve their analysis and project management skils, gain a better understanding of Linux systems from a low-level perspective along with basic embedded software skills. They will also learn about Debian development (on both technical and philosophical levels) and likely learn/improve their Rust knowledge.
Application tasks:
- Locate current tweaks packages (in both Debian and Mobian) targeting mobile devices and their source code
- Briefly analyze one or several of those tweaks and either:
- Explain their use
- Rework them, ideally making them more generic
- Offer to remove them, explaining the reasoning
Related projects: