Alper Nebi Yasak
A weirdo from Turkey who likes to learn things thoroughly and to do things "the right way". Got an ARM64 Chromebook for the prospect of it being the next mostly-blob-free Linux-friendly laptop, and trying to make it so for the last few years. In pursuit of doing it "the right way", ended up making Debian and Debian Installer support Chromebooks' native boot mechanisms (almost done), and became a Debian Maintainer on the installer team through that effort. On the other end, working on replacing their firmware with FOSS alternatives like coreboot and U-Boot to make them more Linux-friendly through more standard boot mechanisms.
Debian Installer is a very complex project with many parts. In a sense, it is an almost-independent OS that is being maintained by the installer team inside the Debian archive. Its code organization, build processes, compile-time and run-time modularity, user interfaces, translations, the install process itself… Every piece involved has its own idiosyncrasies due to its age and the constraints under which it was designed to work.
It’s a marvel, but it’s showing its age. There’s a massive learning curve of understanding the existing legacy, and the requirement to not break it. There’s the issue of not having enough developer time and attention for development, let alone reviewing others’ work and mentoring them. As a result, it appears that most often things move very slowly if they do at all.
I think the current state isn’t really sustainable, and that bringing more Developer attention to the installer is the key to avoid it being frozen in time. So, in this talk I’ll try to explain how everything related to the installer is connected together, and guide you through the process of how to work on it.
Bring your laptop and let’s tinker on the Debian Installer together!
I intend this workshop to be one where you can start working on the installer with a small project, and ask me for help if you get stuck. I think doing small projects on subjects you are interested in is a very effective way to learn. The installer has a workable user interface that can ask different types of questions, so the most obvious idea I could think of is to turn it into a text adventure game.
But there’s a lot of other things you might want to do with the installer instead – that’s the real adventure. Think of something you’d like the installer to do and try implementing it!