Commit Graph

522 Commits

Author SHA1 Message Date
Leah Rowe 1716fbb85e s/CPU=/CPUS= (fix parallel arm-eabi crossgcc build)
Signed-off-by: Leah Rowe <info@minifree.org>
2024-01-18 17:00:35 +00:00
Leah Rowe 19e073270b Add support for google gru_bob and gru_kevin
These are chromebooks using Rockchip RK3399 SoCs.
I've largely re-used GNU Boot's current U-Boot logic,
which only handles a single tree. I'm inheriting all
of this from Caneboot which, although it can support
multiple u-boot trees, only uses one anyway. This patch
bootstraps the necessary cross compilers from coreboot
crossgcc, so that U-Boot can be compiled.

U-Boot configs are provided per board. Thanks go to
Alper Nebi Yasak who initially did this work in the
Libreboot project.

GNU Kevin.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-01-14 00:36:04 +00:00
Leah Rowe 70105fad51 use memtest86plus 6.x instead of 5.x
the 6.x series is essentially a full rewrite, and it has many
improvements, most notably that it now also works on
corebootfb setups, not just text mode

Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-01-13 20:45:42 +00:00
Leah Rowe a10978461a coreboot/fam15h: fix binutils build error on gcc13
newer gcc treats warnings as errors by default. a user on gnuboot
irc had issues compiling kgpe-d16 images on current gentoo as
of 13 january 2024. the kgpe-d16 boards use coreboot 4.11_branch,
on which coreboot's crossgcc toolchain uses binutils 2.32.

instead of endlessly patching binutils, modify coreboot's build
system to disable warnings-as-errors when building binutils.

with this patch, it will now be possible to compile images for
kgpe-d16, kcma-d8 and kfsn4-dre mainboards on modern distros.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-01-13 15:02:41 +00:00
Leah Rowe bb12e0c3a6 build/module/grub: disable -Werror on builds
A user on the GNU Boot IRC channel had trouble building
GRUB from GNU Boot, on a current Gentoo system as of 13
January 2024, due to how newer GCC versions treat all
warnings as errors.

Use the "--disable-werror" option on the ./configure
script, to disable treating warnings as errors. This is
also what the coreboot build system does, when building
GRUB images, but GNU Boot builds GRUB itself, without
relying on the logic in coreboot to do it.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-01-13 14:49:01 +00:00
Leah Rowe 5fead7b099 cache cbfstool and ifdtool builds
coreboot's build system regularly purges these, when
executed, and parts of gnuboot expect the builds to
be there, where it currently uses them directly from
the coreboot build system.

this patch copies them to a dedicated directory within
the gnuboot build system, instead of coreboot's, and
that version is called.

this causes the roms build script to be more robust in
general, preventing build errors under certain edge cases.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-01-13 14:46:00 +00:00
Leah Rowe 19dd71a52b coreboot/e6400_4mb: enable the grub payload
grub was not enabled in the patch that added e6400
support, intentionally, because it was part of a
patch series updating the coreboot revisions, where
updating and patching grub 2.12 was done in a separate
branch, sent as separate patches.

so, if gnuboot would merge e6400 but without updating
grub, it could merge that patch without merging this
one. however, if gnuboot merges my grub update patches,
then it can enable this patch.

i say this because: even grub 2.12 has the same problem
with grub: it wrongly detects that the e6400's ps/2
controlled (emulated on the mec5035 ec) can handle
keyboard scancode set 2, when only set 1 is supported,
so that patch series modified grub to always treat scancodes
as set 1, and configure the keyboard controller accordingly,
matching the behaviour of both seabios and the kernel, linux.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-01-13 14:45:28 +00:00
Leah Rowe 17d68db320 build/boot/roms: support "normal" seabios configs
in the "normal" setup, seabios loads a vga option rom and
coreboot provides no video initialisation (native or vgarom).
this would be used if GNU Boot were to add support for a
desktop computer that lacks onboard graphics.

with this patch, that use-case is handled properly, matching
the same behaviour in canoeboot's build system as of
canoeboot 20231103.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-01-13 14:44:56 +00:00
Leah Rowe 3c56b39d7c use seabios revision from canoeboot 20231103
this uses seabios revision:
1e1da7a963007d03a4e0e9a9e0ff17990bb1608d

this is from 21 april 2023, versus gnuboot's revision:
64f37cc530f144e53c190c9e8209a51b58fd5c43

gnuboot's current revision is from 7 september 2021.
the newer revision includes many fixes from upstream.

a "normal" config is also included, in this patch, not
yet used, but handling for it will be added in a
follow-up patch. gnuboot currently uses libreboot's old
design, where boards that don't have graphics cards would
use the vgarom config, which would actually load vgaroms
from seabios - but gnuboot doesn't use the vgarom config
either, only the libgfxinit setup. in libreboot and canoeboot,
it works like this: libgfxinit for coreboot providing native
video initialisation (and seabios can still load an option
rom on graphics cards), vgarom where seabios doesn't execute
anything and coreboot does, and normal where coreboot doesn't
initialise anything even natively, and instead seabios is
expected to run a vgarom - normal would be used on desktops
that lack onboard graphics, or laptops that lack libgfxinit,
though the latter kind of laptop would not be supported
by gnuboot.

the new seabios configs are much more flexible, as will be
seen in the next commits. finally: an absolete python-
related patch was removed from gnuboot's seabios tree.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-01-13 14:43:42 +00:00
Leah Rowe 7fcf0f80ec import util/nvmutil from lbmk 09bed9a4
this can be used to manipulate intel gbe regions, specifically
set checksums, swap parts, copy and set the mac address. it is
an alternative to ich9gen, when all you want to do is change
the mac address. you use it alongside ifdtool, to extract the
gbe file, operate on it using nvmutil and then re-insert with
ifdtool, on the target rom image. use this for gm45 machines
supported by gnuboot.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-01-13 14:43:22 +00:00
Leah Rowe 9995722fbf import util/dell-flash-unlock from lbmk 09bed9a4
check the readme file for instructions. this is used to unlock
the flash on various dell machines, including the e6400, to
enable internal flashing from factory bios to coreboot-based
firmware such as gnuboot

Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-01-13 14:43:10 +00:00
Leah Rowe f66ea64086 NEW MAINBOARD: Dell Latitude E6400
Adapted from Canoeboot 20231103 but without the GRUB
payload. GRUB payload will be enabled in a follow-up
patch, for merge after the GRUB updates+fixes go in.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-01-13 14:41:02 +00:00
Leah Rowe a261f6d37b build/boot/roms: skip building gnat on fam15h
the fam15h boards do not use libgfxinit, instead deferring
to coreboot's old style of graphics initialisation written in C.

libgfxinit is otherwise the only thing that needs gcc-gnat, so
skip building gcc-gnat on coreboot/fam15h_udimm and rdimm.

neox added crossgcc_ada="n" to board.cfg files before, but
forgot to add the handling of it, so these boards still didn't
build on modern distros, where building the old gnat version
was problematic.

with this patch, those fam15h boards should now build, on modern
distros and modern toolchains. this is done by using
the BUILD_LANGUAGES environmental variable, setting it to c,
which tells coreboot to skip building gcc-gnat.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-01-13 14:39:40 +00:00
Leah Rowe 37a3f8d1c3 Use newer coreboot revision from canoeboot 102ce12
canoeboot 102ce12 uses coreboot d862695 from 6 October 2023,
whereas GNU Boot currently uses coreboot b2e8bd8
from 17 November 2021, for the "default" coreboot tree. This
patch makes GNU Boot use canoeboot's newer coreboot revision,
with all of the same custom patches that canoeboot uses.

This is the same revision used in Canoeboot 20231103, which
was verified by Craig Topham, the FSF's licensing and
compliance officer, who strictly audited Canoeboot for entry
on the Free Software Directory. This patch uses that revision,
with the same patches, and the same updated blobs.list file.

For fam15h boards, the same revision is still used, because
GNU Boot uses the same revision as canoeboot 102ce12, but
it merges canoeboot's blobs.list which removes a few entries
pertaining to blobs that no longer exist in coreboot
on 4.11_branch, while *adding* several entries that are
currently overlooked in GNU Boot. Therefore, this patch
makes GNU Boot remove *more* blobs than it currently does.

GNU Boot's currently "default" coreboot revision would be
from around coreboot 4.14, whereas the canoeboot one would
be from around coreboot 4.22, so check the coreboot change
logs between then as there are a lot of improvements.

This patch brings with it several design changes, which were
made in the Canoeboot project, and they are:

* Instead of disabling microcode updates per board, per coreboot
  config, disable microcode altogether in coreboot's build system.
  This means that configs no longer have to disable microcode. If
  a coreboot configuration enables microcode updates, this patch
  makes GNU Boot's coreboot *ignore* that, and still not add it.
  This results in the same no-microcode ROM images, while reducing
  the maintenance burden.
* ICH9M descriptors are now included pre-generated, made
  by running ich9gen in advance, instead of running ich9gen.
  This reduces complexity, and improves the build speed.
* Fake PIKE2008 ROM images are no longer inserted by the GNU
  Boot build system. Instead, they are defined as option ROMs
  in the coreboot configurations for D8/D16, but the file path
  is specified as /dev/null, thus accomplishing the same result
  of inserting empty option ROMs. The fake ROMs prevent SeaBIOS
  from hanging on these systems, when PIKE modules are present

Several fixes are inherited, such as:

* 256MB VRAM now specified on GM45 images, instead of 352MB,
  because the latter causes severe performance/stability issues.

Due to the new handling of ICH9M descriptors and PIKE2008 fake
ROMs, the "romtype" variable in board.cfg is no longer needed
on any mainboard, and so the handling of it has been removed
in script: build/boot/roms

This retains all of the build fixes on fam15h trees, while
inheriting the newer coreboot revision on coreboot/default,
thus fixing build issues there, since upstream fixes many
errors caused by the GCC 10 release (which treats warnings as
errors by default), whereas the November 2021 coreboot revision
currently used by GNU Boot does not contain any such fixes
from the coreboot upstream.

For all intents and purposes, GNU Boot's coreboot trees now
have parity with that of the current Canobeoot revision. This
means that users will get the new coreboot revision. An audit
has been done on upstream, and virtually no changes have been
made whatsoever that benefit the machines currently supported by
GNU Boot, so for all intents and purposes, this patch now provides
GNU Boot with the latest code on all boards.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-01-13 14:35:16 +00:00
Leah Rowe 328d0cdf78 grub.cfg: support ESP, btrfs subvols and extlinux
This is backported from lbmk at revision:
09bed9a4c3257dbf9b4d59975db0071472ed67eb

In comparison to the GNU Boot configuration, Libreboot's
GRUB configuration provides the following improvements:

* Support for scanning of BTRFS sub volumes, on most setups.
* Support for scanning syslinux and extlinux configs, in
  the main "Load Operating System" menuentry. This will make
  distros automatically boot in most cases, where they use
  extlinux/syslinux instead of GRUB.
* Support for scanning EFI System Partitions, when scanning
  for GRUB, Syslinux and Extlinux configuration files. This
  adds support for UEFI-based distro installations; the GNU
  Boot supported mainboards are all BIOS-based, but the user
  may have transferred an HDD/SSD from another system, where
  UEFI was used. On UEFI-based systems, there is a special FAT
  partition called the ESP (EFI System Partition) that boot
  loaders and configurations are installed to.
* The ESP support is also extended to USB-based booting. This
  increases support out of the box for more distro installers,
  many of which are now UEFI-only, or only well-tested for UEFI.
  Many distros today now use *GRUB* (built for UEFI) on their
  install media, but these can also be used on bare metal setups
  such as GNU Boot's GRUB payload.
* The fallback entry was removed, that assumed /dev/sda1 as
  the root partition; where scanning of GRUB configurations
  failed, GNU Boot GRUB would try this fallback logic, but such
  logic may in some cases result in the system being booted,
  in such a way that *breaks* the user's distro, so it's better
  that GNU Boot only scan for GRUB/Extlinux/Syslinux configs
  and return with an error if none are found. This is also how
  Libreboot does it nowadays.

With this, and the previous patches that I've committed, GNU
Boot's GRUB setup should now be in feature parity with Lbreboot.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-01-13 14:19:37 +00:00
Leah Rowe f9de7902b9 GRUB: Use reduced set of modules
This imports modules.list from lbmk at revision:
09bed9a4c3257dbf9b4d59975db0071472ed67eb

This also contains the argon2 module, added in the
previous patch, but it removes a lot of modules that
are never used on coreboot-based setups like GNU Boot;
legacy file systems that nobody ever uses these days,
and various debug modules that are also not needed.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-01-13 14:19:09 +00:00
Leah Rowe dd2a409f97 GRUB: Avoid printing frivilous error messages
For example, GRUB prints an error message stating that the
prefix isn't set, when it is. This is due to an early initialisation
check in GRUB, that still passes anyway, but the prefix is set later
on. Certain modules-related error messages are also silenced, to
prevent certain distro GRUB configs from causing these messages, where
they load modules that aren't actually used, that GNU Boot lacks.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-01-13 14:15:49 +00:00
Leah Rowe 806f3e89c1 GRUB: Don't spew "Unknown key 0xFF"
If the user has a stuck key, this can cause invalid scancodes
to be sent out repeatedly to GRUB, which is currently programmed
to spew an error message when that happens, by detecting bad
scancode input.

However, when the keyboard is electrically faulty in such a way
as to repeatedly send such scancodes, GRUB repeatedly prints
the error message. When this happens, GRUB is no longer
responsive. The user loses all control, and the system is
effectively bricked. Without this patch, the user's keyboard
is a ticking timebomb. On desktops, this is not a problem, but
many laptop users will not want to (or know how to) replace
their keyboards easily, but the system may still boot and they
may still be able to use the keyboard.

With this patch, the same errno value is set in GRUB, but the
error message is no longer printed. This will permit the user
to boot the system normally. No more error spew. No more brick.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-01-13 14:15:39 +00:00
Leah Rowe 02919e8ae4 GRUB: Force scancode set 2 with translation
Although GNU Boot does not yet support the Dell Latitude E6400,
its MEC5035 EC firmware emulates a PS/2 controller and it has
a bug where it always outputs scancode set 1, regardless of how
the keyboard controller is configured.

Without this patch, GRUB sets the keyboard controller to scancode
set 2 *without* translation, which the keyboard controller reports
is working (when it isn't).

With this patch, GRUB behaves in the same way as SeaBIOS and the
kernel, Linux. Without this patch, the keyboard input is completely
messed up in the GRUB payload on Dell Latitude E6400.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-01-13 14:15:26 +00:00
Leah Rowe 8ff23138f8 Argon2 KDF support in GRUB 2.12
This was imported from lbmk at revision:
09bed9a4c3257dbf9b4d59975db0071472ed67eb

Argon2 is the key derivation function (KDF) that is most
common on LUKS2 setups; although GRUB 2.12 has LUKS2 support,
it only has PBKDF2 which is considered obsolete.

Add proper argon2 support. This will enable modern FDE setups.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-01-13 14:14:20 +00:00
Leah Rowe 2bc91f9369 Use GRUB 2.12
GRUB 2.12 brings many improvements including, but not limited to,
detached LUKS keyfile support, and numerous fixes for file system
behaviour, compared to GRUB 2.06.

GRUB 2.12 also improves memory allocation in GRUB, making it less
likely to run out of memory when a lot of memory is used, like when
running memory-hungry modules or having a very large memdisk. This
last improvement is beneficial for Argon2 KDF, which will be sent
next in a follow-up patch.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-01-13 14:11:33 +00:00
Denis 'GNUtoo' Carikli 881af84c9c
Announce and release GNU Boot 0.1 RC3.
A link was also fixed in the news along the way.

On the Thinkpads T60 and X60 a full installation from the nonfree BIOS
was tested with locally built patched Flashrom 1.2 and bucts.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-29 18:39:55 +01:00
Denis 'GNUtoo' Carikli 9f08068d87
site: status: Fix Chromebook C201 status.
The GNU Boot 0.1 RC1 and 0.1 RC2 releases don't have any images for
the Chromebook C201. And the Chromebook C201 also cannot use images
for any of the other computers as all the other computers are x86
whereas the C201 is ARM.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-29 18:39:40 +01:00
Denis 'GNUtoo' Carikli d7ad533fb8
packages: release: test: fix typo
Without that fix the test fail with the following error:
    $ ./build test release
    [ !! ] qemu-pc_2mb/seabios_withgrub_qemu-pc_2mb_libgfxinit_txtmode_colemak.rom
    [ !! ] qemu-pc_2mb/seabios_withgrub_qemu-pc_2mb_libgfxinit_txtmode_deqwertz.rom
    [ !! ] qemu-pc_2mb/seabios_withgrub_qemu-pc_2mb_libgfxinit_txtmode_esqwerty.rom
    [ !! ] qemu-pc_2mb/seabios_withgrub_qemu-pc_2mb_libgfxinit_txtmode_frazerty.rom
    [ !! ] qemu-pc_2mb/seabios_withgrub_qemu-pc_2mb_libgfxinit_txtmode_frdvbepo.rom
    [ !! ] qemu-pc_2mb/seabios_withgrub_qemu-pc_2mb_libgfxinit_txtmode_itqwerty.rom
    [ !! ] qemu-pc_2mb/seabios_withgrub_qemu-pc_2mb_libgfxinit_txtmode_svenska.rom
    [ !! ] qemu-pc_2mb/seabios_withgrub_qemu-pc_2mb_libgfxinit_txtmode_trqwerty.rom
    [ !! ] qemu-pc_2mb/seabios_withgrub_qemu-pc_2mb_libgfxinit_txtmode_ukdvorak.rom
    [ !! ] qemu-pc_2mb/seabios_withgrub_qemu-pc_2mb_libgfxinit_txtmode_ukqwerty.rom
    [ !! ] qemu-pc_2mb/seabios_withgrub_qemu-pc_2mb_libgfxinit_txtmode_usdvorak.rom
    [ !! ] qemu-pc_2mb/seabios_withgrub_qemu-pc_2mb_libgfxinit_txtmode_usqwerty.rom

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-29 18:39:32 +01:00
Denis 'GNUtoo' Carikli 1611a810b4
packages: roms: boot: filter out invalid computers.
For some reason, 'make release' produces the following files:
- release/roms/gnuboot-lbwww-20211122-328-gafe01fb_default.tar.xz
- release/roms/gnuboot-lbwww-20211122-328-gafe01fb_fam15h_rdimm.tar.xz
- release/roms/gnuboot-lbwww-20211122-328-gafe01fb_fam15h_udimm.tar.xz

This commit works around that issue.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-11 11:43:27 +01:00
Denis 'GNUtoo' Carikli e4c2fd5eb6
packages: release tests: check the content of the qemu-pc_2mb rom archive.
We also need to check if we have all the files and no superfluous
files inside the released archives.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-11 11:43:09 +01:00
Denis 'GNUtoo' Carikli 771688ac4c
packages: release tests: check for superfluous files.
This has several goals:

- It checks if the test works fine and if someone forgot to add some
  files.

- It checks if the build system produces files that it should not
  produce due to some bugs.

- It can also check if some leftover files are there from previous
  builds. This can help avoiding pushing wrong files as part as a
  release.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-11 11:42:16 +01:00
Denis 'GNUtoo' Carikli d68b4f8930
Makefile: Add logging.
This should help catching bugs that are hard to reproduce.

Without the pipefail make only take into account the tee command
return code.

The 'SHELL := $(shell which bash)' is to use bash as dash for instance
doesn't have pipefail and we don't want to have to install new
utilities to handle that.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-11 11:42:04 +01:00
Denis 'GNUtoo' Carikli 2d11302693
tests: lint: fix u-boot-libre test.
In the commit 4744953f73 ("u-boot-libre:
move to different tasks."), the distclean task of u-boot-libre was
removed, so this broke the lint tests as that file was not removed
from the list of files to check in tests/lint.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-11 11:41:37 +01:00
Denis 'GNUtoo' Carikli 578fda0e90
packages: Add target to test the release.
This makes sure that the release at least has all the expected files.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-11 11:41:15 +01:00
Denis 'GNUtoo' Carikli 5b9dd7adba
packages: fix calls to build descriptors.
Without that fix building images with make release or './build release
all' results in the following error:
    [...]
    Built lenovo/t400 (ThinkPad R400)
    make[1]: Leaving directory '/home/gnutoo/gnuboot/coreboot/default'

    Creating new ROM image: bin/r400_16mb/seabios_withgrub_r400_16mb_libgfxinit_corebootfb_colemak.rom
    Usage:
            ./build <TASK> <PACKAGE>
            ./build --help
    [...]
    Refer to the gnuboot documentation for more information.
    Error: Invalid task 'descriptors'.
    Error:  See './build --help'.
    Error: build/roms: something went wrong
    make: *** [Makefile:47: release] Error 1

This was broken by the commit 857afa42a8
("Switch to packages structure.").

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-11 11:40:31 +01:00
Denis 'GNUtoo' Carikli fcccaee8a5
packages: Also release GNU Boot source code.
This can be restored with the following command:
  $ mkdir /tmp/gnuboot-source
  $ cp release/gnuboot-source-*.bundle /tmp/gnuboot-source
  $ cd /tmp/gnuboot-source
  $ git init
  $ git fetch gnuboot-source-*.bundle
  $ git checkout FETCH_HEAD -b main

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-11 11:40:17 +01:00
Denis 'GNUtoo' Carikli 864df2a04b
packages: website: Also release untitled source code.
Since we use untitled as well it's a good practice to release its
corresponding source code as well to make sure people can rebuild the
website in case upstream disapear.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-11 11:39:16 +01:00
Denis 'GNUtoo' Carikli bc72f06f37
resources/packages/website/download: fix progname
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-11 11:39:00 +01:00
Denis 'GNUtoo' Carikli 1b18d46adf
packages: dependencies: fix distribution detection for Trisquel 10.
This was broken from the start in the commit
fe28bc3c82 ("dependencies: move into
single package.").

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-11 11:38:41 +01:00
Denis 'GNUtoo' Carikli 87c1e4c195
packages: dependencies: fix debian/pureos
This was broken by the commit 8f3d30f809
("dependencies: rename debian in pureos-10.").

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-11 11:38:16 +01:00
Denis 'GNUtoo' Carikli e1b48e7436
packages: dependencies: fix is_base_distro argument
This was broken from the start in the commit
fe28bc3c82 ("dependencies: move into
single package.").

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-11 11:37:19 +01:00
Denis 'GNUtoo' Carikli a3b5f5dc7b
packages: dependencies: fix finding dependencies scripts.
The "$(dirname $0)"/../dependencies/ directory is the same as
"$(dirname $0)".

So when running the script we have:
     # ./resources/packages/dependencies/install
     ./resources/packages/dependencies/install: 49:
     ./resources/packages/dependencies/../dependencies/arch: not found

This was broken from the start in the commit
fe28bc3c82 ("dependencies: move into
single package.").

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-11 11:36:55 +01:00
Denis 'GNUtoo' Carikli a9c754e324
packages: dependencies: fix command line usage.
Without that fix, running ./resources/packages/dependencies/install
prints the help and does not do any dependency installation.

This was broken from the start in the commit
fe28bc3c82 ("dependencies: move into
single package.").

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-11 11:36:29 +01:00
Denis 'GNUtoo' Carikli 6f39a0011d
site: process: Use a temporary branch for patch series.
We had both issues described in the text during the RC2:

- Both maintainers agreed to merge a translation under a pseudonym but
  one of the maintainers also asked to GNU permission to do that. Due
  to a miscommunication between the maintainers it was pushed before
  getting feedback from the GNU project.

- Both maintainers agreed to the release commit but due to a
  misunderstanding / miscommunication it was pushed too early while
  some other commits that still need to be made were supposed to go in
  before that announcement commit in order to tag that announcement.

In both cases a process like the one mentioned in the text would
probably avoid to push things too early, especially because the author
of the patch set new about these issues and had them in mind all the
time, and since an additional Ack from that person would still be
needed before pushing, it would avoided this issue.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-11 11:36:02 +01:00
Denis 'GNUtoo' Carikli a73a33fb17
dependencies: trisquel: fix python path.
Several scripts in the SeaBIOS source code used during its build use
'#!/usr/bin/env python' but there is no 'python' when installing
Trisquel through debootstrap.

So to fix that we simply add the python-is-python3 package which
creates the /usr/bin/python symlink and points it to python3.

This work is based on the commit
eeddd2b610 ("build/dependencies: debian:
adding python-is-python3 to build seabios properly").

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-11 11:35:21 +01:00
Denis 'GNUtoo' Carikli 8a181f112f
dependencies: trisquel: Add pandoc
Without that fix 'make release' fails with the following error:
    checking for mkdir... mkdir
    checking for pandoc... no
    configure: error: pandoc was not found in PATH
    (/usr/local/bin:/usr/bin:/bin:/usr/games)

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-11 11:34:42 +01:00
Denis 'GNUtoo' Carikli 0e3ff8047f
Announce and release GNU Boot 0.1 RC2 and project status.
The file adding the news is named gnuboot-december-2023.md instead of
gnuboot-0.1-rc1.md as the later is understood as a translation in the
'1-rc1' lang. Renaming the file to gnuboot-0.1-rc1.en.md instead makes
untitled detect the lang correctly but then it assumes this is a
translation and adds a broken link for "English" on the new page.

For now the older Libreboot news were kept as this shows the history
of the project and since GNU Boot is a continuation of the Libreboot
project it makes sense to also keep them.

The CSS also needed to be separated from the template because
otherwise the generated news page would be incomplete and miss all
what comes before the CSS like '<!DOCTYPE html>' for instance.

Finally x-reviewed was changed into x-unreviewed because we can't set
x-reviewed for the news, so the only way to remove the banner for the
individual news is to default to reviewed (and to mark all unreviewed
files as such).

As for the Untitled patch it is needed to make the news page work.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-09 16:01:23 +01:00
Jordán (isf) a2b122343c
site: index.md: Add Spanish translation.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
GNUtoo: fixed a typo, some whitespace issues and removed a leftover
english paragraph.
Tested-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-09 16:00:58 +01:00
Denis 'GNUtoo' Carikli 4744953f73
u-boot-libre: move to different tasks.
The 'make release' or './build release all' commands build releases of
GNU Boot that consist of installable images and the upstream source
code used to build them.

The u-boot-libre package is instead meant to follow different release
schedules as it releases deblobbed versions of various u-boot releases
for reuse by distributions like Parabola.

Before the commit 857afa42a8 ("Switch to
packages structure.") users were expected to run the release script of
u-boot-libre separately but after it it ended up being run
automatically as part of 'make release' or ./build release all.

Renaming this script ensure that it's not run during regular releases.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-09 16:00:19 +01:00
Denis 'GNUtoo' Carikli 190d9f37bd
packages: also ship website tarball.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-09 16:00:05 +01:00
Denis 'GNUtoo' Carikli 8212861d88
scripts: misc: guix.sh: fix typo.
After installing Guix with the following command on PureOS 10
(byzantium) with the following command:
    $ sudo pkcon -y --allow-reinstall install guix
we have:
    $ ./resources/dependencies/guix
    ./resources/dependencies/guix: 91: .:
    cannot open [$HOME]/.config/guix/current/etc/profile: No such file

This should fix it.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-09 15:59:50 +01:00
Denis 'GNUtoo' Carikli f433a7344c
./update: enable to mask tasks.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-09 15:59:37 +01:00
Denis 'GNUtoo' Carikli f59d024ba4
./modify: enable to mask tasks.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-09 15:59:04 +01:00
Denis 'GNUtoo' Carikli 3759da48f6
./download: enable to mask tasks.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-09 15:58:52 +01:00