Without this change, we have no idea if the website we see on
https://gnu.org/software/gnuboot/ is using the latest git commit.
It also allows anyone to spot and report to us that the website has
the wrong revision.
With this change we can also potentially spot issues in the website
generation for instance when the website should have been regenerated
and it wasn't, or from an archive or web page file, get to the git
commit it was generated from.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
Since the commit 776073e2f8 ("website:
make the website prefix (software/gnuboot) configurable."), site.cfg
is generated. So we also need to add it to .gitignore as well, else it
shows up in git status.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
All the content on this page has now been reviewed by the GNU Boot
project.
This change is badly needed as the docs link is available in the
header of most pages of the website, and also because the docs page
also links to pages that were reviewed and that are perfectly valid,
so readers might stop there and not look at other pages below.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
The information on how to find the GNU Boot version that is running is
outdated (for instance there is no lbversion, it also refers to older
Libreboot revisions). Because of that, we move it in a separate page
for now as this can then enable to remove the unreviewed tag to the
docs index page.
This is urgent and important as the docs link is available in the
header of most pages of the website, and also because the docs page
also links to pages that were reviewed and that are perfectly valid,
so readers might stop there and not look at other pages below.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
The entries inside the "Verified copyright headers" section refer to
commit hashes. And since a commit can't refer to itself (unless SHA1
is broken), we split that in two commits.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
The serve.sh script was added in the commit
58fc2a673d ("Add the ability to test the
website locally") in the website-build repository of the Genuine
Libreboot project. This repository was then merged in GNU Boot.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
The entries inside the "Verified copyright headers" section refer to
commit hashes. And since a commit can't refer to itself (unless SHA1
is broken), we split that in two commits.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
The Libreboot maintainer (Leah Rowe) included nonfree software in
Libreboot releases. This lead to the creation of Genuine Libreboot
project (https://libreboot.at). Since this project reused the
Libreboot website from before the inclusion of nonfree software, it
also depended on Untitled, a website generator written in shell
script.
Since this website generator is not packaged in most distributions,
and that the Genuine Libreboot project wanted automatic builds of the
website, I wrote a set of scripts and Makefile to automatize the
download of Untitiled and the build of the website in November
2022. This corresponds to the commit
db0fb8a251 ("Initial import").
Then I improved these script(s) and Makefile(s) over time and they
were merged in the GNU Boot project.
While what is now in website/ is the result of merging the site/ and
website-build/ directories. To do that site/ was renamed to website/
just before the merge. Only website-build/ had a .gitignore.
This is because the website was only built with the website-build code
in subdirectories of website-build/ and/or in temporary volatile
directories, and so this would not create any built file in the git
repository outside of website-build.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
Without this commit we have no way of tracking the status of files and
we risk making the same verification too many times.
Ideally we also need procedure and/or tools to make sure omissions
don't get in.
So far the work to update some of the headers on some of the files
required to look at multiple git repositories and even tarball
releases, and in some cases it even required good knowledge of the
provenance of the files to reconstruct the proper history.
In contrast the way we track contributions in git makes it much easier
to fix subsequent omissions of people/dates in the copyright headers.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
I've not found how to fix the example, and we also need to document
how to build an image for a specific computer.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
At the very beginning, we had tarball releases of Libreboot which were
made by Leah Rowe.
The first 3 tarball releases are in 2013 and the fourth is in
2014. The 2013 tarballs didn't have this build script: In 2013, to
build Libreboot, Leah used a combination of commands typed by hand and
scripts I provided her (they are in the build-makefiles directory in
these tarball releases). So she wrote the build script in 2014.
I also looked if I could find traces of my "build-makefiles" scripts
inside Leahs's build script but I didn't find any. This means that she
wrote it from scratch and that the copyright really starts with her in
2014.
Then in 2014, more tarball releases follow and then we finally have
the very first commit of Libreboot: commit
cee90ae0fce6d6aee8d78969b60c952c8890abd6 ("Libreboot release 6 beta
1.").
Since all these tarball releases and the very first commit of
Libreboot were made by Leah Rowe and that all that happened in 2014,
it means that the build script in it was made in 2014 by Leah Rowe.
After that following the history is easier. To do that we need several
repositories:
- First we need to follow it in
obsolete-repository-preserved-for-historical-purposes from the very
first commit until the r20160907 tag.
- Then we follow it in osbmk from the very first commit: commit
df76c3eb63dd8f4979d78ca262218eedb93512ed ("Fork Libreboot 20160907
build system. Large parts have been re-written.") up to the last
commit of the libre branch: commit
a02723897cab744c7ed31d7cca48308528cafe76 ("fix seabios
downloading").
- Then we follow it in GNU Boot directly as we included the history of
lbmk as well, starting from the commit
89517ed6b9 ("libreboot!").
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
neox: minor fix in commit message (typo)
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
The resources/packages/src/release content appeared in osbmk in the
2e2fe863172b513c3bdd4d0497657223ff6abdb4 ("Retroboot beta release,
20201228"). This commit is present in both the master branch and the
libre branch of osbmk.
The libre branch was then used as a basis to the (first) commit
89517ed6b9 ("libreboot!").
Then since GNU Boot kept the history of lbmk, we then have the rest of
the history of that file.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
The GNU Boot project merged several repositories in its main git
repository, each with their separate histories. So far we have:
- the documentation/website that came from Libreboot
- the documentation/website pictures that also came from Libreboot
- the build system that also came from Libreboot (it's called lbmk there).
- some website autotools build system that was made from scratch by me.
The grub.cfg we use comes from the build system repository (lbmk). I
extracted the copyrights from the git commits of this repository.
However the first commit of lbmk (which we also have in our main GNU
Boot repository) is the following:
commit 89517ed6b9
Author: [Leah Rowe]
Date: [2021]
libreboot!
this is forked from the "libre" branch in osboot, which is itself a libre,
deblobbed fork of osboot, a blobbed up fork of libreboot
libreboot needed to be purged clean. this is the new libreboot development
repository. the old one has been abandoned
So I had to continue and look at the libre branch of osboot and
extract the copyrights from its commits as well.
Then I downloaded osbmk (https://notabug.org/osboot/osbmk) and
continued to look.
And here too we need to go beyond the first commit again, because
osbmk is based on 'Libreboot 20160907':
commit df76c3eb63dd8f4979d78ca262218eedb93512ed
Author: [Leah Rowe]
Date: [2020]
Fork Libreboot 20160907 build system. Large parts have been re-written.
This build system builds ROMs for X230, but they are so far untested.
Use at your own risk!
I still need to write documentation and do testing.
SOON: T60 with ATI GPU
We can find Libreboot 20160907 in
https://notabug.org/libreboot/obsolete-repository-preserved-for-historical-purposes
And then we end up with this commit:
commit cee90ae0fce6d6aee8d78969b60c952c8890abd6
Author: [Leah Rowe]
Date: [2014]
Libreboot release 6 beta 1.
Before that Libreboot only had tarball releases and the very first
tarball release was based on build scripts/Makefiles made by me, and
the git repository having the GRUB configuration can be found in
Libreboot 20131212 in X60/build-makefiles.
commit 80c37b9093be8325bf9ca8271ae4c6dba8fe81d6
Author: [GNUtoo]
Date: [2013]
Initial commit.
For now we only build the grub payload.
Signed-off-by: [GNUtoo]
And the intial grub.cfg was made by hand by me.
While I was at it I also updated the name/email combination in the
copyright header for the ones currently used.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
This has several reasons:
- The GNU Boot project didn't review all the hardware made by Pusi.sm,
especially because Puri.sm also sell hardware that is out of scope
for the GNU Boot project like USB tokens or SIM cards.
- Reducing the scope to just x86 computers made by Puri.sm instead
doesn't work either because there is no context to the
recommendation.
In harm reduction[1], the Freedom Ladder campaign by the FSF[2], and
the FSF giving guide[3], context is taken into account so that people
can make informed choices based on their constraints and choices.
In practice these approaches make statement like "this computer
respects more your freedom than this other one", or "this is
dangerous because of that and you can reduce harm this way, even if
it's far from perfect" and give context to statements to enable
people to really understand what it means.
[1]https://en.wikipedia.org/wiki/Harm_reduction
[2]https://www.fsf.org/campaigns/campaigns-summaries#ladder
[3]https://www.fsf.org/givingguide/
At the end of the day it's also less work and maintenance to just
remove that hardware recommendation statement than to review specific
computers that GNU Boot doesn't even support.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
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 <GNUtoo@cyberdimension.org>
neox: minor changes (typo and repetition)
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
While this doesn't show the complete history of GNU Boot, it is at
least useful for fixing missing copyrights inside copyright headers.
Also I tried adding the first tarball releases of Libreboot, before it
was in git, inside the same git-history.dot and it turned out to be
way too messy as some arrows ended up mostly in the same place making
it impossible to distinguish which arrow went where without using
color or other ways of distinguishing them.
However the textual version of the tarball history turned out to be
easier to read/understand so we used that.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
neox: minor fix in the commit message
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
The status page was wrongly named from the beginning.
The file title (but not the rest of the content) was copied from
git.md in the commit f431e5a164 ("site:
add GNU Boot status page.").
The title of the git.md file was already there in the very first git
commit of the lbwww repository that was merged in GNU Boot in the
commit b42fd2220c ("Merge the website
into GNU Boot"). The history of that file beyond that is unknown.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
Even if we still don't have any installation instructions that use
these tools, we still need to document somehow what the targets to.
And not adding a help for that would make it inconsistent with the
other targets that are somewhat documented in make help.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
Adding the product of RYF vendors has several advantages:
- First it enables to later on differenciate vendors computers as some
are known to change the flash chip size for instance.
- It enable users to more easily identify the computer they have.
Having the computers being RYF also make sure that they work without
nonfree software.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
Since we now have documentation for using flashrom we can consider
that as having some very generic upgrade instructions.
And since no one tested them we don't know if they work so we can
reflect that.
As for what instructions can be simplified, probably everything can be
simplified at some point, and we need space for mentionning tests of
the upgrade instructions anyway.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
At the beginning I tried to describe the GNU Boot project in a single
sentence to be as simple as possible for less technical users.
But then I ended up having to explain again and again to people that
GNU Boot is only a distribution.
We probably had this problem for a very long time, as Libreboot also
had the same issue, and since we inherited all its code and that we
continue its original spirit, we also have the same issue.
And I still had to correct people very recently even long after having
changed the Savannah project description page and having restructured
a bit the build system to look more like packages.
So here I see no other option than changing the front page as well, as
getting this point across is important, especially when we are looking
for contributions, as contributing to a distribution is often easier
than contributing to upstream software.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
While this mentions a previously held install party, it encourages
people to organize install parties and shows that they could be
mentioned on the GNU Boot website in some ways.
In addition it also explains the pros and cons of install parties.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
This enables to later on have some separation between the first
installation which typically requires to open the computer or at least
need a special procedure like for I945 ThinkPads, with upgrade
instructions that just require to run 'flashrom -p internal -w
<gnuboot-image>'.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
This allow to have on the same page different options (Install, Buy
preinstalled) to get GNU Boot, and have a short description of each
option as it is not necessarily obvious which option can work for a
given user.
In addition it also enables to warn people just using 'Download' to
read the documentation as it is not obvious what to do once a user
downloaded an archive with images inside.
And finally it also allow to add more options later on.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
It's a good idea not to mix markdown files with other file types as
this facilitates a lot the migration to haunt.
In addition it also helps separating these dumps from the general
website as they are also useful without the website.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
It's a good idea not to mix markdown files with other file types as
this facilitates a lot the migration to haunt.
In addition it also helps separating these dumps from the general
website as they are also useful without the website.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
Before being merged with the commit
dc6e1f32c1 ("Import website-build to
build the GNU Boot website."), website-build was a separate git
repository.
And so, even after the merge, until the commit
20d122e94a ("website-build: use website
from local git repository."), it still worked in the same way and
still downloaded the website from git.
This prevented merging the website and website-build directories
together as the GNU Boot repository also needed to be a valid Untitled
website repository as well.
Now after this commit, the website is built from the same git tree, so
we can simply adjust the build scripts to be able to move things
around.
In addition of making things more clear for contributors, it also
simplify the migration to haunt as with haunt we typically have the
haunt.cfg (and the autotools build code if needed) code in the top
directory and the markdown files in a subdirectory.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
First this is more consistent as we already have a website-build
directory. Then it is also useful for migrating to haunt as 'haunt
build' puts the generated website in a 'site/' directory, so without
this rename, when the migration would be complete we'd have site/site
instead of website/site.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
Since we are migrating to haunt and that haunt builds the website in
site/ we also use that.
In addition that also simplifies the lighttpd configuration.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
The GNU Coding Standards has the following in the chapter "4.8.1
--version"[1]:
The program’s name should be a constant string; don’t compute it
from argv[0]. The idea is to state the standard or canonical name
for the program, not its file name. There are other ways to find
out the precise file name where a command is found in PATH.
[1]https://www.gnu.org/prep/standards/standards.html#g_t_002d_002dversion
This fixes that.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
The GNU Coding Standards has the following in the chapter "4.8.1
--version"[1]:
The program’s name should be a constant string; don’t compute it
from argv[0]. The idea is to state the standard or canonical name
for the program, not its file name. There are other ways to find
out the precise file name where a command is found in PATH.
[1]https://www.gnu.org/prep/standards/standards.html#g_t_002d_002dversion
This fixes that.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
Without that fix, running configure fails both without and and with
guix:
$ guix shell -C \
bash coreutils findutils git \
grep gzip pandoc sed tar -- \
./configure --disable-guix --disable-lighttpd
[...]
config.status: creating Makefile
./config.status: line 920: awk: command not found
sed: couldn't write 24 items to stdout: Broken pipe
config.status: error: could not create Makefile
$ guix shell -C \
bash coreutils grep guix sed tar -- \
./configure --disable-lighttpd
[...]
config.status: creating Makefile
./config.status: line 920: awk: command not found
sed: couldn't write 24 items to stdout: Broken pipe
config.status: error: could not create Makefile
And in both tests above we need coreutils, grep, sed and tar anyway as
without that configure doesn't even get to the point of failing to
find the other utilities:
$ guix shell -C bash -- ./configure
[...]
./configure: line 492: sed: command not found
./configure: line 491: expr: command not found
./configure: line 492: sed: command not found
./configure: line 506: sed: command not found
: error: cannot create .lineno; rerun with a POSIX shell
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
Before this change, we wanted to require realpath and tar and we check
for both but it didn't fail if they are not found.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>