From 8843206032c341095d5a75bf7d6bed16e10d80a6 Mon Sep 17 00:00:00 2001 From: Denis 'GNUtoo' Carikli Date: Mon, 26 Aug 2024 14:25:28 +0200 Subject: [PATCH] website: faq: Add entry about how to support more computers. The idea behind this FAQ entry is to be able to point to it when people ask us to support additional computers. This makes sure we don't miss important points in our answers and it also tries to convey the kind of work needed, including for less common but important cases like when the code for a computer is found to work on another one (in that case we badly want to know about it, especially if there is only documentation work to be done for it). In addition this kind of question is very common in projects that have limited hardware support, so that also should help us spending less time answering that question again and again. The answer also makes it very clear that GNU Boot is just a distribution and also shows the kind of work various contributors do to show that some of them are really easy to do, in the hope that it could bring up more contributors as well. The way the entry is written (trying to avoid technical words, while also speaking about very technical topics) is because it is meant for a very wide audience that go from less technical users that just want GNU Boot to work on the computer they have but don't know anything about hardware support, to contributors to projects like Coreboot and U-Boot that might just want to also add support for computers they worked on in GNU Boot. Wording like "the computer will need to be supported well by other project" is vague to enable people used to contribute to projects like Coreboot or U-Boot or even experienced distributions contributors will understand it as having the strict minimum of out of tree patches, while also enabling less technical users (that don't know what is an "out of tree patch") to understand more or less what it means. Signed-off-by: Denis 'GNUtoo' Carikli neox: minor changes (typo and repetition) Acked-by: Adrien 'neox' Bourmault --- website/pages/faq.md | 60 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/website/pages/faq.md b/website/pages/faq.md index 2c5af24..b232a41 100644 --- a/website/pages/faq.md +++ b/website/pages/faq.md @@ -194,6 +194,66 @@ What systems are compatible with GNU Boot? See the [hardware compatibility list](docs/hardware/). +Can you add support for more computers? +--------------------------------------- + +Unless GNU Boot already works on computers that for some reasons are +not yet listed as supported, there will be some more work to do than +just testing and reporting what works. + +GNU Boot is a 100% free distribution similar to other 100% free +distributions like Parabola or Trisquel, and like Parabola or +Trisquel, it reuses other software to make something that can be +installed. + +Most of the work on GNU Boot consists in testing already supported +computers, improving the documentation and various packaging work. + +Like with many other free software projects, the GNU Boot maintainers +are very busy running the project and doing improvements that will +benefit the project in the long term, they most likely don't have the +time to add support for newer computers themselves at the moment, but +they can help you getting the job done with some guidance and by +reviewing patches. + +So if you want to add a new computer, the first part of the job is to +verify if the computer can boot and is usable without nonfree +software. It's a good idea to start by reading the "Hardware +compatibility" section of this FAQ to avoid the most common mistakes +with that. + +Then once you're confident enough that your computer can boot with +fully free software, you can open a bug report and/or contact the GNU +boot project in one of its mailing list to notify the GNU Boot +maintainers and other contributors about that as this way the +information about this computer will not be lost. + +This way if you don't have time anymore to work on it, maybe it would +interest other people later on, or maybe not. In addition, this will +help you getting some feedback from other people to help you +understand if you're on the the right track or not with the computer +you want to add support for. + +Then once this is done, the computer will need to be supported well by +other project: like Parabola or Trisquel, GNU Boot reuses other +projects to support hardware. For instance Parabola relies on +linux-libre for its drivers. + +GNU Boot relies on software like Coreboot or U-Boot instead. So you +will have to add support for your computer in such projects. This +can be very complicated to do if you're not used to work on low-level +software like drivers, kernels, microcontrollers, etc, unless there is +already a computer very similar to the one you want to add support for +(in that case it might be a good way to get started, though expect to +have to learn many things along the way). + +Once this is done, you can add support for that computer in GNU Boot +by doing some packaging work, testing, and writing some +documentation. This is relatively easy to do. + +The documentation on how to send patches to GNU Boot is available in +the [git.md](git.md) page. + Will the Purism laptops be supported? ----------------------------------------------------------------------