README.md: use less harsh language in the project description (bug #64661)

This commit addresses a problem in the wording of our project description
(in the Savannah description and in this README.md).

The project description was re-written from scratch by GNUtoo and this
commits import it unmodified from Savannah[1]. It is also released by
GNUtoo under the following license:
    Copyright (c)  2023  Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>.
    Permission is granted to copy, distribute and/or modify this document
    under the terms of the GNU Free Documentation License, Version 1.3
    or any later version published by the Free Software Foundation;
    with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
    A copy of the license is included in the section entitled "GNU
    Free Documentation License".

[1]https://savannah.gnu.org/projects/gnuboot

Reported-by: Patrick Georgi <oxygene>
Neox: import, commit message apart from the copyright information.
GNUtoo: copyright information, whitespace fixes.
Signed-off-by: Adrien 'neox' Bourmault <neox@gnu.org>
This commit is contained in:
Adrien Bourmault 2023-11-14 15:57:29 +01:00
parent adc578ae49
commit 36f0250aac
Signed by: neox
GPG Key ID: 2974E1D5F25DFCC8
1 changed files with 54 additions and 41 deletions

View File

@ -1,57 +1,70 @@
GNU Boot GNU Boot
======== ========
GNU Boot is a GNU project and a This software is part of the GNU Project.
[freedom-respecting](https://www.gnu.org/philosophy/free-sw.html)
*boot firmware* that initializes the hardware (e.g.
memory controller, CPU, peripherals) in your computer so that software can run.
GNU Boot then starts a bootloader to load your operating system. It replaces the
proprietary BIOS/UEFI firmware typically found on a computer. GNU Boot is
compatible with specific computer models that use the Intel/AMD x86
architecture. GNU Boot works well with GNU+Linux and BSD
operating systems.
GNU Boot uses [coreboot](https://www.coreboot.org/) for hardware initialization. To load an operating system, computers need to be able to access storage
However, *coreboot* is notoriously difficult to compile and install for most devices (like an HDD or SSD) where the operating system is installed.
non-technical users. There are many complicated configuration steps required, They need RAM to work to load part of the operating system in RAM. Users
and coreboot by itself is useless; coreboot only handles basic hardware also expect the display and keyboard to work before the operating system
initialization, and then jumps to a separate *payload* program. The payload is loaded.
program can be anything, for example a Linux kernel, bootloader (such as
GNU GRUB), UEFI implementation (such as Tianocore) or BIOS implementation
(such as SeaBIOS). While not quite as complicated as building a GNU+Linux
distribution from scratch, it may aswell be as far as most non-technical users
are concerned.
GNU Boot solves this problem : But on most computers, software is needed to initialize the RAM, the storage
GNU Boot is a *coreboot distribution* much like Debian is a *GNU+Linux devices, the graphic card, to load the operating system, and give some
distribution*. GNU Boot provides an *automated build system* that downloads, information to the operating system on what hardware it is running on.
patches (where necessary) and compiles coreboot, GNU GRUB, various payloads and
all other software components needed to build a complete, working *ROM image*
that you can install to replace your current BIOS/UEFI firmware, much like a
GNU+Linux distribution (e.g. Debian) provides an ISO image that you can use to
replace your current operating system (e.g. Windows).
Because of that computers usually require boot software that is bundled in the
computer. It is usually found on a very small storage chip that is inside the
mainboard. That software is specific to a given computer.
Unfortunately that software is usually nonfree and GNU boot aims to replace
that with 100% free software.
Like with other type of software, the fact that is nonfree has real impacts.
For instance this software often continues to run once the operating system
is loaded and as it loads the operating system it can also modify it.
So having a nonfree boot software make it impossible for users to really
trust their computers. Another common issue is that some BIOS/UEFI add
restrictions to prevent users from replacing the WiFi card for instance.
There are many more issues but listing them all here would make this
description too long.
To replace nonfree boot software, GNU boot reuses various software projects
(like Coreboot, U-boot, GRUB, SeaBIOS, etc), configure and build them to
produce an image that can be installed to replace the nonfree boot software
for specific computers.
Users can also do all that without GNU Boot but that tend to be complicated.
Having a free software project that does all that enable people to collaborate
on making sure that computers boot fine regardless of the upstream project
status, for instance by making binary releases and collaborating to test them.
In addition GNU boot also comes with extensive documentation to make it as easy
as possible to install GNU Boot and to empower users to modify the way their
computer boot.
Since not all the project it reuses are 100% free software it also removes all
the nonfree software found in them along the way and will also make the scripts
and/or data that does that reusable for distributions or users that want to
build their own free boot software without reusing the GNU Boot configuration
or build system.
Not a coreboot fork! Not a coreboot fork!
-------------------- --------------------
GNU Boot is not a fork of coreboot. Every so often, the project GNU Boot is not a fork of coreboot, but more a boot firmware distribution
re-bases on the latest version of coreboot, with the number of custom including a modified version of coreboot, and other software like SeaBIOS,
patches in use minimized. Tested, *stable* (static) releases are then provided GRUB or u-boot.
in GNU Boot, based on specific coreboot revisions.
Coreboot is not entirely free software. It has binary blobs in it for some Coreboot is not entirely free software as it includes binary blobs in it for
platforms. What GNU Boot does is download several revisions of coreboot, for some platforms. What GNU Boot does is download several revisions of coreboot,
different boards, and *de-blob* those coreboot revisions. This is done using for different boards, and *de-blob* those coreboot revisions. This is done
the *linux-libre* deblob scripts, to find binary blobs in coreboot. using the *linux-libre* deblob scripts, to find binary blobs in coreboot.
All new coreboot development should be done in coreboot (upstream), not All new coreboot development should be done in coreboot (upstream), not
GNU Boot ! GNU Boot is about deblobbing and packaging coreboot in a GNU Boot. For example, if you wanted to add a new board to GNU Boot, you
user-friendly way, where most work is already done for the user. should add it to coreboot first. GNU Boot would then receive your code at
a later date, when it updates itself.
For example, if you wanted to add a new board to GNU Boot, you should
add it to coreboot first. GNU Boot will automatically receive your code
at a later date, when it updates itself.
The deblobbed coreboot tree used in GNU Boot is referred to as The deblobbed coreboot tree used in GNU Boot is referred to as
*coreboot-libre*, to distinguish it as a component of *GNU Boot*. *coreboot-libre*, to distinguish it as a component of *GNU Boot*.