For the GNU Boot website and documentation we reused:
- The Libreboot website as it contains a lot of documentation
(installation instructions, documentation on supported computers,
etc). And we don't want to re-do all that from scratch.
- The libreboot.at website as some of its modifications (like the
ability to include images from the same domain, the fact that it
mention that it's not libreboot.org, etc) are useful to us, and here
too it's a good idea not to have to re-do all that work from
scratch.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Informing about Libreboot freedom status and/or switching URLs to GNU
Boot are two approaches meant to deal with the same issue.
Informing people about GNU Boot however is not necessarily directly
related to that.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
The "Load Operating System (incl. fully encrypted disks) [o]" GRUB
entry tries to load grub configuration files from the hard disk or SSD
partitions. It tries various files in /boot, /grub, /grub2,
/boot/grub, /boot/grub2.
For consistency we at least need to make it search for the
gnuboot_grub.cfg in these directories as well. Since this is GNU Boot,
the gnuboot_grub.cfg takes precedence over files made for other boot
software distributions.
For libreboot_grub.cfg, it was not replaced because it is still
mentioned in the documentation.
Signed-off-by: Adrien 'neox' Bourmault <neox@gnu.org>
GNUtoo: reworked code and commit message.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
Without having python-is-python3 installed, on recent PureOS 10
(byzantium) with at least the d510mo target, we have the following
build failure:
$ ./build boot roms d510mo
[...]
Compiling (16bit) out/vgaentry.o
Compiling whole program out/vgaccode16.raw.s
Fixup VGA rom assembler
make: python: No such file or directory
make: *** [Makefile:228: out/vgaccode16.o] Error 127
Without python-is-python3, the build also fails on recent
versions of Trisquel and Debian.
Signed-off-by: Adrien 'neox' Bourmault <neox@gnu.org>
GNUtoo: Part of the commit message
Acked-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
These folders (fam15h_rdimm and fam15h_udimm) are generic plateforms to gather
patches in common for multiple boards (e.g. kgpe-16 and kcma-d8), this is why we also
disable crossgcc_ada in the configuration, since it will be built by specific boards
if needed, avoiding double compilation.
Signed-off-by: Adrien 'neox' Bourmault <neox@gnu.org>
GNUtoo: split commit
Acked-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
This commit updates the coreboot code base from release 4.11 to 4.11_branch for kgpe-d16,
kcma-d8, kfsn4-dre and addresses one new blob related to this update.
The main reason to update the codebase is to prevent a bug with RAM initialization
that occured with coreboot 4.11 and raised the following critical error:
fam15_receiver_enable_training_seed: using seed: 0054
fam15_receiver_enable_training_seed: using seed: 0054
TrainRcvrEn: Status 2005
TrainRcvrEn: ErrStatus 4000
TrainRcvrEn: ErrCode 0
TrainRcvrEn: Done
TrainDQSReceiverEnCyc_D_Fam15: lane 0 failed to train! Training for receiver 2 on DCT 0 aborted
TrainDQSReceiverEnCyc: Status 2205
TrainDQSReceiverEnCyc: TrainErrors 44000
TrainDQSReceiverEnCyc: ErrStatus 44000
TrainDQSReceiverEnCyc: ErrCode 0
TrainDQSReceiverEnCyc: Done
TrainDQSReceiverEnCyc: Status 2005
TrainDQSReceiverEnCyc: TrainErrors 4000
TrainDQSReceiverEnCyc: ErrStatus 4000
TrainDQSReceiverEnCyc: ErrCode 0
TrainDQSReceiverEnCyc: Done
DIMM training FAILED! Restarting system...soft_reset() called!
This coreboot revision also correct some bugs with SMM, SMBIOS, IPMI and BMC.
Some new values in coreboot configuration make coreboot first build stop to prompt
users and forcing them to choose an option to continue:
- CONFIG_STM
- CONFIG_DEBUG_IPMI
- CONFIG_VENDOR_VIA
- CONFIG_SOUTHBRIDGE_AMD_CIMX_SB900
- CONFIG_IPMI_FRU_SINGLE_RW_SZ
- CONFIG_IPMI_KCS_TIMEOUT_MS
A bug has been opened about CONFIG_STM on our bug tracker [1], and we decided,
for now, to unset this option explicitely.
So in this commit we just regenerated configurations for each fam15h board via
coreboot build prompts and copied the resulting configurations in the configuration
folder and that results in the following:
- unset CONFIG_STM
- unset CONFIG_DEBUG_IPMI
- unset CONFIG_VENDOR_VIA
- unset CONFIG_SOUTHBRIDGE_AMD_CIMX_SB900
- set CONFIG_IPMI_FRU_SINGLE_RW_SZ=16
- set CONFIG_IPMI_KCS_TIMEOUT_MS=5000
[1]https://savannah.gnu.org/bugs/?64535
Signed-off-by: Adrien 'neox' Bourmault <neox@gnu.org>
GNUtoo: split commit into "don't build ada toolchain for generic platforms"
Acked-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
With newer hostcc, trying to build IASL will raise an error:
- Intermediate obj/aslcompilerlex.c
- Link obj/iasl
/usr/bin/ld: obj/aslcompilerparse.o:(.bss+0x8): multiple
definition of `AslCompilerlval'; obj/aslcompilerlex.o:(.bss+0x0):
first defined here
/usr/bin/ld: obj/prparserlex.o:(.bss+0x0): multiple definition of
`LexBuffer'; obj/dtparserlex.o:(.bss+0x0): first defined here
collect2: error: ld returned 1 exit status
This commit adds a patch for GCC 8.3.0 that modifies the ASL engine:
- making LuxBuffer variable static to avoid multiple definitions
being treated as errors
- removing a redundant definition of AcpiGbl_DbOpt_NoRegionSupport
Signed-off-by: Adrien 'neox' Bourmault <neox@gnu.org>
GNUtoo: commit: cosmetics changes only
Acked-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
With newer hostcc, trying to build GCC 8.3.0 will raise an error from ld:
undefined reference to `__gnat_begin_handler_v1'
This commit adds a patch for GCC found on coreboot [1] correcting this
error by backporting the GNAT exception handler v1 to GCC 8.3.0 allowing
GNAT to be built with newer hostcc like GCC 10+.
[1]https://review.coreboot.org/c/coreboot/+/42158
Signed-off-by: Adrien 'neox' Bourmault <neox@gnu.org>
Acked-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Without that fix, if we build for a fam15h target on PureOS byzantium,
we have a build failure:
$ ./build boot roms kgpe-d16-udimm_2mb
[...]
Building MPC v1.1.0 for host ... ok
Building BINUTILS v2.32 for target ... failed. Check 'build-i386-elf-BINUTILS/build.log
make[2]: *** [Makefile:26: build_gcc] Error 1
make[1]: *** [Makefile:51: build-i386] Error 2
make: *** [util/crossgcc/Makefile.inc:48: crossgcc-i386] Error 2
Error: build/roms: something went wrong
Then the build log (here) in available in
coreboot/fam15h_udimm/util/crossgcc/build-i386-elf-BINUTILS/build.log
has the following:
In file included from ../../binutils-2.32/gold/debug.h:29,
from ../../binutils-2.32/gold/descriptors.cc:31:
../../binutils-2.32/gold/errors.h:87:50: error:
'string' in namespace 'std' does not name a type
87 | undefined_symbol(const Symbol* sym, const std::string& location);
| ^~~~~~
../../binutils-2.32/gold/errors.h:29:1: note: 'std::string'
is defined in header '<string>'; did you forget to '#include <string>'?
28 | #include "gold-threads.h"
+++ |+#include <string>
29 |
Signed-off-by: Adrien Bourmault <neox@a-lec.org>
GNUtoo: commit message but not its title
Acked-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
Crossgcc needs acpica-unix2-20210331.tar.gz and acpica-unix2-20190703.tar.gz,
but this file is gone from upstream[1], so with guix-time-machine and
guix build --source, we recovered these files and published it at the addresses
in the patches.
[1]https://github.com/acpica/acpica/issues/883
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Co-developed-by: Adrien 'neox' Bourmault <neox@gnu.org>
Signed-off-by: Adrien 'neox' Bourmault <neox@gnu.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
neox: Added fam15h patches and adjusted the commit message accordingly
Acked-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
This commit is based on the 20220710 tag from Libreboot.
To our knowledge, 20220710 is the last really libre Libreboot
release as the next releases from libreboot.org has nonfree
software (like nonfree microcode updates).
Because of that we've stepped forward to stand up for freedom,
and we started maintaining our own version of Libreboot that
didn't include nonfree software.
To make sure that our version remains free and continue to be
maintained over time, we chose to now do this as part of the
GNU project.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
GNUtoo: commit message
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
We don't plan to use an external website just for the images, so
we need a local path for the images.
Since the images are in www/ in the images repositories, it's easier
to expect the images in img/www to enable easy deployment by users.
The path of the images aren't relative to the page. So we need to use
a kind of absolute path for it to work.
We have the choice of not using any domain (/img/www/) or using a
specific domain (DOMAIN/img/www/). We use the former as the later
doesn't work offline and cannot use the local images.
However the downside is that we need a local web server for it to work
as simply opening the html files in a browser won't work unless the
user puts the images inside /img/www inside the root filesystem.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
We reused the work of libreboot.at as this is less work than
restarting from scratch.
It also contains the smallest possible change to make the review
easier.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Users can also extract the tarball manually and point a browser to it,
so lighttpd should not be striclty required.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@a-lec.org>
There was several issues with the way dependencies were handled:
- First the dependencies were checked but if they weren't found,
nothing happened: you would have "checking for <command>... no" in
the configure output, but configure would then ignore that issue and
continue.
- Then there was no need to check for dependencies provided by Guix if
they weren't also used outside of Guix.
- Then when guix wasn't used, a lot more dependencies are required,
and most of them were missing. The list was made by reading
lbwww-build's Makefile.am and scripts but also untitled's build
script.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@a-lec.org>
This should make it easier for people not having guix to test the
website.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@a-lec.org>
Without that fix, running 'make help' prited 3 extra new lines at the
end of the help.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@a-lec.org>
This allows to use a local untitled repository.
It is also now possible to build offline by cloning the lbwww,
lbwww-img and untitled repositories locally and passing them to
configure with --with-*-path.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@a-lec.org>
The previous code was simple and worked but it didn't scale.
With one --with-*-path argument, we have only one elif clause. With 2
--with-*-path arguments we end up with 4 elif clauses. And with 3
--with-*-path arguments we end up with 13 elif clauses which is way
too much.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@a-lec.org>
This allows to use a local lbwww-img repository.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@a-lec.org>
Signed-off-by: Adrien Bourmault <neox@a-lec.org>
GNUtoo: Removed tab in the line after "You'll have to specify the
mailing list address:"
Acked-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Thanks to the person who reported the issue.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@a-lec.org>
Using autotools has several advantages against trying to add such a
feature to the Makefile:
- we don't need to always pass an extra option to make, so once
configured there is less to type
- we also check for dependencies along the way
- the trade-off between easy to use and code simplicity looks better
than with plain Makefile: with a single option we can easily make
the Makefile use --share and --with-lbwww-path conditionally. Doing
that with a plain Makefile would probably be way more complex, or
would require code duplication (to only use --share and
--with-lbwww-path when an option is passed to the Makefile), or
would require to pass raw build.sh options (which would complicate
usage).
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@a-lec.org>
The ideal situation would be to move integrate all the files of this
repository inside lbwww to be able to easily test local changes.
However that doesn't work as untitled expect lbwww to be in
untitled/www/lbwww and there is no way to configure that.
Using symlinks doesn't work either as untitled doesn't trust symlinks
as there are TOCTU attacks with it if the distribution doesn't
fs.protected_hardlinks and fs.protected_symlinks in sysctl.
Patching untitled is also not the best option here as it could
potentially add extra maintenance in the long run.
So we add the configuration inside lbwww-build instead.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@a-lec.org>
The first Libreboot release was the 12th December 2013[1].
This is also correlated with the fact that I moved to France around
summer 2013, and around December, I gave Leah my build scripts (under
a free license) and I answered all her questions in order to help her
getting the first RYF computer certified. That then lead to the
creation of Libreboot. So the first release cound't have happened in
2009.
[1]https://libreboot.org/news/libreboot20131212.html
Reported-by: f_ (Ferass El Hafidi) on #libreboot on Liberachat.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@a-lec.org>
This change is urgent to make as my talk will start in less than 1
hour, so it was not sent for review.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
This change is urgent to make as my talk will start in less than 1
hour, so it was not sent for review.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
We will most likely get a new logo, so it doesn't make sense to
keep this one as it would increase confusion between our genuine
Libreboot, and Leah's Libreboot.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Before the images were hosted on a separate domain. Since we don't
have that, we moved them in libreboot/img and the address were changed
with the following command:
$ sed 's#av\.libreboot\.srht\.site#libreboot.srht.site/img#g' \
-i \
$(git ls-files | xargs grep "av\.libreboot\.srht\.site" | sed 's/:.*//' | sort -u)
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
The URL was changed with the following command:
$ sed 's#libreboot.org#libreboot.srht.site#g' \
-i \
$(git ls-files | xargs grep "libreboot\.org" | sed 's/:.*//' | sort -u)
If the website is moved again in the future we will need to change the
URL again in the same way.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Note that the text is a collective work by many people and that I only
have written an extremely small part of it.
Signed-off-by: Adrien Bourmault <neox@a-lec.org>
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien Bourmault <neox@a-lec.org>
Acked-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
For some reasons pandoc on Guix fails at guix commit
5312d798ac36a72d8a977325a7c6ff7647be670a ("gnu:
go-golang-zx2c4-com-wireguard: Update to 0.0.20211016.") and produce
the following error:
build of /gnu/store/<hash>-ghc-basement-0.0.15.drv failed
View build log at '/var/log/guix/drvs/h7/<hash>-ghc-basement-0.0.15.drv.gz'.
Since I use i686 and that we need to publish the website now, we
workaround the build failure by using a known working commit hash.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>