From 6405715c0f18e6688ef74249b4d8b66650fea3e5 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sat, 4 Jan 2025 03:08:17 +0000 Subject: [PATCH] docs/build: tidy up debian trixie notes put them later in the guide, so that the user reads the guide in the exact order by which they would follow it. Signed-off-by: Leah Rowe --- site/docs/build/index.md | 108 ++++++++++++++++---------------- site/docs/build/index.uk.md | 111 +++++++++++++++++---------------- site/docs/install/ich9utils.md | 3 +- site/docs/install/index.md | 4 -- 4 files changed, 112 insertions(+), 114 deletions(-) diff --git a/site/docs/build/index.md b/site/docs/build/index.md index 2b25da5..e651d1e 100644 --- a/site/docs/build/index.md +++ b/site/docs/build/index.md @@ -22,60 +22,6 @@ canoeboot from the available source code. The following document describes how `cbmk` works, and how you can make changes to it: [canoeboot maintenance manual](../maintain/) -Debian Trixie/Sid -================= - -Debian Trixie, the testing release as of 3 January 2025, and Debian Sid, -provide `gnat` and `gcc` as you expect, but `gnat` resolves to `gnat-13` and -installs `gcc-13` as a dependency, while `gcc` resolves to `gcc-14` and other -toolchain components correspond to this version. - -The GCC/GNAT versions need to match during build time, so Canoeboot's build -system hacks the `PATH` environmental variable, setting up symlinks, matching -GNAT to GCC or GNAT to GCC. When you run `./mk dependencies debian`, you get -GNAT 13 and GCC 14. This seems to make most boards compile; in our testing, the -KGPE-D16 board failed to compile in this configuration. This PATH hack is only -done for compiling the coreboot crossgcc toolchain, and nothing else; after that, -coreboot's toolchain is used. - -For better reliability, you should, after running the dependencies script, -remove `gnat` and install `gnat-14` instead, which is available on this day -of 3 December 2025, but currently marked experimental. When you install -GNAT 14, GNAT 13 is removed but `gnat` (in `PATH`) still won't resolve to -anything. Canoeboot *still* accomodates this, detecting and matching the GCC -and GNAT versions, which would in this instance match version 14 between them, -so that `gnat` and `gcc` are both in PATH at build time, resolving to v14.x. -When we tested with this configuration, the KGPE-D16 images also compiled. - -GNAT is used by coreboot, because some of the Intel graphics devices are -initialised natively, with code written in Ada spark (called `libgfxinit`). - -When updating from Debian stable to Debian Trixie(testing) or Sid, you should -also check for orphaned packages, using `aptitude search '~o'`. Do this, -removing what was leftover from the old release, and make sure to re-run the -Debian dependencies script, but do it like this: - - ./mk dependencies debian --reinstall - -NOTE: Ubuntu 24.10 also has the issue described above. Some other distros may -also have it, if they're based on Debian Testing/Sid or Ubuntu 24.10. - -MIPS cross compiler -=================== - -Canoeboot has support for the Sony PlayStation (PS1/PSX), based on -the PCSX-Redux Open BIOS. If you're doing a full release build, and/or -specifically building the PSX BIOS, you need a MIPS cross compiler. - -Arch-based systems have a mipsel cross compiler available from AUR, and most -Debian-based systems have a mipsel cross compiler in apt; for these, the normal -dependencies installation command will provide them. We know Void Linux and -Fedora don't have a MIPS compiler, for instance. - -If your distro doesn't have the MIPS compiler available, -the [PlayStation](../install/playstation.md) page provides instructions for -manual installation; please do this in addition to the normal dependencies. - Multi-threaded builds ===================== @@ -209,6 +155,60 @@ Technically, any GNU+Linux distribution can be used to build canoeboot. However, you will have to write your own script for installing build dependencies. +Debian Trixie/Sid +----------------- + +Debian Trixie, the testing release as of 3 January 2025, and Debian Sid, +provide `gnat` and `gcc` as you expect, but `gnat` resolves to `gnat-13` and +installs `gcc-13` as a dependency, while `gcc` resolves to `gcc-14` and other +toolchain components correspond to this version. + +The GCC/GNAT versions need to match during build time, so Canoeboot's build +system hacks the `PATH` environmental variable, setting up symlinks, matching +GNAT to GCC or GNAT to GCC. When you run `./mk dependencies debian`, you get +GNAT 13 and GCC 14. This seems to make most boards compile; in our testing, the +KGPE-D16 board failed to compile in this configuration. This PATH hack is only +done for compiling the coreboot crossgcc toolchain, and nothing else; after that, +coreboot's toolchain is used. + +GNAT is used by coreboot, because some of the Intel graphics devices are +initialised natively, with code written in Ada spark (called `libgfxinit`). + +When updating from Debian stable to Debian Trixie(testing) or Sid, you should +also check for orphaned packages, using `aptitude search '~o'`. Do this, +removing what was leftover from the old release, and make sure to re-run the +Debian dependencies script, but do it like this: + + ./mk dependencies debian --reinstall + +For better reliability, you should, after running the dependencies script, +remove `gnat` and install `gnat-14` instead, which is available on this day +of 3 December 2025, but currently marked experimental. When you install +GNAT 14, GNAT 13 is removed but `gnat` (in `PATH`) still won't resolve to +anything. Canoeboot *still* accomodates this, detecting and matching the GCC +and GNAT versions, which would in this instance match version 14 between them, +so that `gnat` and `gcc` are both in PATH at build time, resolving to v14.x. +When we tested with this configuration, the KGPE-D16 images also compiled. + +NOTE: Ubuntu 24.10 also has the issue described above. Some other distros may +also have it, if they're based on Debian Testing/Sid or Ubuntu 24.10. + +MIPS cross compiler +------------------- + +Canoeboot has support for the Sony PlayStation (PS1/PSX), based on +the PCSX-Redux Open BIOS. If you're doing a full release build, and/or +specifically building the PSX BIOS, you need a MIPS cross compiler. + +Arch-based systems have a mipsel cross compiler available from AUR, and most +Debian-based systems have a mipsel cross compiler in apt; for these, the normal +dependencies installation command will provide them. We know Void Linux and +Fedora don't have a MIPS compiler, for instance. + +If your distro doesn't have the MIPS compiler available, +the [PlayStation](../install/playstation.md) page provides instructions for +manual installation; please do this in addition to the normal dependencies. + Next, build ROM images ---------------------- diff --git a/site/docs/build/index.uk.md b/site/docs/build/index.uk.md index 73645c8..0de52c9 100644 --- a/site/docs/build/index.uk.md +++ b/site/docs/build/index.uk.md @@ -30,60 +30,6 @@ canoeboot з доступного джерельного коду. Наступний документ описує те, як працює `cbmk`, і як ви можете робити зміни до нього: [керівництво обслуговування canoeboot](../maintain/) -Debian Trixie/Sid -================= - -Debian Trixie, the testing release as of 3 January 2025, and Debian Sid, -provide `gnat` and `gcc` as you expect, but `gnat` resolves to `gnat-13` and -installs `gcc-13` as a dependency, while `gcc` resolves to `gcc-14` and other -toolchain components correspond to this version. - -The GCC/GNAT versions need to match during build time, so Canoeboot's build -system hacks the `PATH` environmental variable, setting up symlinks, matching -GNAT to GCC or GNAT to GCC. When you run `./mk dependencies debian`, you get -GNAT 13 and GCC 14. This seems to make most boards compile; in our testing, the -KGPE-D16 board failed to compile in this configuration. This PATH hack is only -done for compiling the coreboot crossgcc toolchain, and nothing else; after that, -coreboot's toolchain is used. - -For better reliability, you should, after running the dependencies script, -remove `gnat` and install `gnat-14` instead, which is available on this day -of 3 December 2025, but currently marked experimental. When you install -GNAT 14, GNAT 13 is removed but `gnat` (in `PATH`) still won't resolve to -anything. Canoeboot *still* accomodates this, detecting and matching the GCC -and GNAT versions, which would in this instance match version 14 between them, -so that `gnat` and `gcc` are both in PATH at build time, resolving to v14.x. -When we tested with this configuration, the KGPE-D16 images also compiled. - -GNAT is used by coreboot, because some of the Intel graphics devices are -initialised natively, with code written in Ada spark (called `libgfxinit`). - -When updating from Debian stable to Debian Trixie(testing) or Sid, you should -also check for orphaned packages, using `aptitude search '~o'`. Do this, -removing what was leftover from the old release, and make sure to re-run the -Debian dependencies script, but do it like this: - - ./mk dependencies debian --reinstall - -NOTE: Ubuntu 24.10 also has the issue described above. Some other distros may -also have it, if they're based on Debian Testing/Sid or Ubuntu 24.10. - -MIPS cross compiler -=================== - -Canoeboot has support for the Sony PlayStation (PS1/PSX), based on -the PCSX-Redux Open BIOS. If you're doing a full release build, and/or -specifically building the PSX BIOS, you need a MIPS cross compiler. - -Arch-based systems have a mipsel cross compiler available from AUR, and most -Debian-based systems have a mipsel cross compiler in apt; for these, the normal -dependencies installation command will provide them. We know Void Linux and -Fedora don't have a MIPS compiler, for instance. - -If your distro doesn't have the MIPS compiler available, -the [PlayStation](../install/playstation.md) page provides instructions for -manual installation; please do this in addition to the normal dependencies. - Multi-threaded builds ===================== @@ -173,6 +119,63 @@ Check: `config/dependencies/` for list of supported distros. Однак, вам потрібно буде написано свій власний сценарій для встановлення залежностей побудови. +Debian Trixie/Sid +----------------- + +Debian Trixie, the testing release as of 3 January 2025, and Debian Sid, +provide `gnat` and `gcc` as you expect, but `gnat` resolves to `gnat-13` and +installs `gcc-13` as a dependency, while `gcc` resolves to `gcc-14` and other +toolchain components correspond to this version. + +The GCC/GNAT versions need to match during build time, so Canoeboot's build +system hacks the `PATH` environmental variable, setting up symlinks, matching +GNAT to GCC or GNAT to GCC. When you run `./mk dependencies debian`, you get +GNAT 13 and GCC 14. This seems to make most boards compile; in our testing, the +KGPE-D16 board failed to compile in this configuration. This PATH hack is only +done for compiling the coreboot crossgcc toolchain, and nothing else; after that, +coreboot's toolchain is used. + +GNAT is used by coreboot, because some of the Intel graphics devices are +initialised natively, with code written in Ada spark (called `libgfxinit`). + +When updating from Debian stable to Debian Trixie(testing) or Sid, you should +also check for orphaned packages, using `aptitude search '~o'`. Do this, +removing what was leftover from the old release, and make sure to re-run the +Debian dependencies script, but do it like this: + + ./mk dependencies debian --reinstall + +For better reliability, you should, after running the dependencies script, +remove `gnat` and install `gnat-14` instead, which is available on this day +of 3 December 2025, but currently marked experimental. When you install +GNAT 14, GNAT 13 is removed but `gnat` (in `PATH`) still won't resolve to +anything. Canoeboot *still* accomodates this, detecting and matching the GCC +and GNAT versions, which would in this instance match version 14 between them, +so that `gnat` and `gcc` are both in PATH at build time, resolving to v14.x. +When we tested with this configuration, the KGPE-D16 images also compiled. + +NOTE: Ubuntu 24.10 also has the issue described above. Some other distros may +also have it, if they're based on Debian Testing/Sid or Ubuntu 24.10. + +MIPS cross compiler +------------------- + +Canoeboot has support for the Sony PlayStation (PS1/PSX), based on +the PCSX-Redux Open BIOS. If you're doing a full release build, and/or +specifically building the PSX BIOS, you need a MIPS cross compiler. + +Arch-based systems have a mipsel cross compiler available from AUR, and most +Debian-based systems have a mipsel cross compiler in apt; for these, the normal +dependencies installation command will provide them. We know Void Linux and +Fedora don't have a MIPS compiler, for instance. + +If your distro doesn't have the MIPS compiler available, +the [PlayStation](../install/playstation.md) page provides instructions for +manual installation; please do this in addition to the normal dependencies. + +Next, build ROM images +---------------------- + В якості результату, ви тепер можете (після встановлення правильних залежностей побудови) виконати лише одну команду, з свіжого Git clone, для побудови образів ROM: diff --git a/site/docs/install/ich9utils.md b/site/docs/install/ich9utils.md index 83dfd66..8b49e4e 100644 --- a/site/docs/install/ich9utils.md +++ b/site/docs/install/ich9utils.md @@ -9,8 +9,7 @@ a relic from Libreboot, upon which Canoeboot is based, and provided for historical purposes (Libreboot also uses nvmutil these days).** **If all you want to do is change the MAC address, you might use `nvmutil` -instead. See: [nvmutil documentation](../install/nvmutil.md), or use -the [inject script](ivy_has_common.md).** +instead. See: [nvmutil documentation](../install/nvmutil.md). The documentation below is *still valid*, if you actually want to use ich9utils. You can find it in older Libreboot releases, up to Libreboot 20230625. The only diff --git a/site/docs/install/index.md b/site/docs/install/index.md index 75f9618..8224a39 100644 --- a/site/docs/install/index.md +++ b/site/docs/install/index.md @@ -439,10 +439,6 @@ usually possible when Canoeboot is running (barring special circumstances). Run flashprog on host CPU ------------------------ -**Always remember to [insert vendor files](ivy_has_common.md), when using -release images. Otherwise, these files are added automatically at build -time, when building from source (but they are not present in release images).** - ### Flash chip size Use this to find out: