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>
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.
However since that commit, website-build stopped downloading the
website from git and built it from the current tree instead, but the
instructions were not updated
This was broken by commit 20d122e94a
("website-build: use website from local git repository.")
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
To work on the website, more than one of the targets (like 'make
serve' or 'make check') are useful. So it's better to inform users
about the available targets instead of building a tarball directly.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
Since we're migrating to haunt, and that 'haunt build' builds the
website, 'haunt serve' serve the website locally, and that 'haunt
publish' takes care of publishing the website, using the same target
names will make remembering the targets easier.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
Without that fix, shellcheck -x complains a lot:
In build.sh line 53:
mkdir -p "$(dirname ${dst_path})"
^---------^
SC2086 (info): Double quote to prevent globbing and word splitting.
In build.sh line 82:
git -C "${dst_path}" am $(realpath ${patch})
^------------------^
SC2046 (warning): Quote this to prevent word splitting.
git -C "${dst_path}" am $(realpath ${patch})
^------^
SC2086 (info): Double quote to prevent globbing and word splitting.
In build.sh line 112:
opt="$(eval echo \$$i)"
^--
SC2086 (info): Double quote to prevent globbing and word splitting.
In build.sh line 127:
untitled_path="$(eval echo \$$(expr $i + 1))"
^------------^
SC2046 (warning): Quote this to prevent word splitting.
untitled_path="$(eval echo \$$(expr $i + 1))"
^--^
SC2003 (style): expr is antiquated.
Consider rewriting this using $((..)), ${} or [[ ]].
untitled_path="$(eval echo \$$(expr $i + 1))"
^--
SC2086 (info): Double quote to prevent globbing and word splitting.
In build.sh line 128:
i="$(expr "$i" + 1)"
^--^
SC2003 (style): expr is antiquated.
Consider rewriting this using $((..)), ${} or [[ ]].
In build.sh line 136:
i="$(expr "$i" + 1)"
^--^
SC2003 (style): expr is antiquated.
Consider rewriting this using $((..)), ${} or [[ ]].
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
When working on multiple websites the same time, having every website
using the port 8080 by default isn't very convenient.
In addition here we need a number that is somewhat easy to remember
and possibly meaningful for each website, so in general that not easy
to choose.
But in the case of GNU Boot we can find a scheme because:
- GNU Boot supports only x86 machines for now,
- the GM45 ThinkPads are probably the most well supported by GNU
Boot and also well known machines,
- that the GM45 ThinkPads use Intel CPUs,
- that 8086 is frequently used as vendor ID for Intel,
so here we can simply use 8086 as it's meaningful and at least very
easy to remember at least for people working in that field.
In addition for people not familiar with writing drivers for x86
computers, it could also reminds of a CPU also from Intel.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
The variable could be updated, but this could be misleading as it is
only used in the help of that Makefile.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
This file is included in the GNU Boot website which is under the GFDL
1.3+, so to simplify license compliance it's easier to also relicense
it under the same license than the other files in the website.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
The logo links were not real links and at least the one in the FAQ was
converted multiple times and I'm not sure exactly when it was broken
or if it ever worked as finding out would require to test on
previously used infrastructure like sourcehut or even
https://libreboot.org.
As for the link in the logo-license page I didn't investigate when it
was broken either, but it was probably broken from the start since it
didn't have any URI protocol in it (like https://).
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
The link was not a real link and I'm not sure exactly when it was
broken or if it ever worked as finding out would require to test on
previously used infrastructure like sourcehut or even
https://libreboot.org.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
This was broken by the commit 795c669c58
("shorten title on release announcement").
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>