3ae05b347c
cbmk sets TMPDIR to /tmp, and then creates a tmpdir, then exports *that* as the value of TMPDIR. this unified TMPDIR location then contains all subsequent files and directories, when any script or program makes use of /tmp, via mktemp. at least, that's the theory! in practise, because it was only being properly exported from the main build scripts, subscripts that are then called were not exporting it, at least that is my assumption because in some cases, i found that the coreboot build system was leaving errant files behind outside of our own TMPDIR, and that build system did not seem to be setting TMPDIR itself; more debugging is needed. anyway: use the exact same logic, but do it from err.sh. since err.sh is included from every cbmk script, that means it will always be exported when running every single part of cbmk. this should reduce the chance that mktemp creates files and directories outside of our custom TMPDIR location. this is because in cbmk, we mitigate unhandled tmpdirs/files by unifying it in the manner described, then deleting the entire TMPDIR on exit from the main cbmk parent process (the main script that the user called from, which is always the "build" file). in cbmk, effort is made to clean up temporary files properly, without relying on this catch-all, but we can't rely on that. the catch-all should also be as robust as possible. Signed-off-by: Leah Rowe <info@minifree.org> |
||
---|---|---|
config | ||
include | ||
script | ||
util | ||
.gitignore | ||
COPYING | ||
README.md | ||
build | ||
projectname | ||
update |
README.md
Canoeboot
Find canoeboot documentation at https://canoeboot.org/
The canoeboot
project provides
libre boot
firmware that initializes the hardware (e.g. memory controller, CPU,
peripherals) on specific Intel/AMD x86 and ARM targets, which
then starts a bootloader for your operating system. Linux/BSD are
well-supported. It replaces proprietary BIOS/UEFI firmware. Help is available
via #canoeboot IRC
on Libera IRC.
Canoeboot is maintained in parallel with Libreboot, by the same developer. You are strongly advised to use Libreboot, but a certain minority may prefer Canoeboot, which is essentially a censored Libreboot (no binary blobs allowed, so only few boards supported whereas Libreboot supports more boards while minimising the number of blobs to zero when possible).
For more context, please read Libreboot's Binary Blob Reduction Policy:
https://libreboot.org/news/policy.html
You may also read Canoeboot's about page, which contains more history pertaining to Canoeboot. Please read this page:
https://canoeboot.org/about.html
Canoeboot is inferior to Libreboot, in every way, and you should never use it.
Project goals
- Be Libreboot, but adhere to GNU FSDG as policy. This means that many boards from Libreboot must be removed; Canoeboot is therefore inferior to Libreboot, and always will be. It provides a useful proof of concept, showing what is still possible when you completely bastardise Libreboot in like with FSF/GNU dogma - and Canoeboot does it better than GNU ever could.
- Support as much hardware as possible! (within the restrictions imposed by GNU FSDG policy)
- Make coreboot easy to use. Coreboot is notoriously difficult to install, due to an overall lack of user-focused documentation and support. Most people will simply give up before attempting to install coreboot. Canoeboot's automated build system and user-friendly installation instructions solves this problem.
Canoeboot attempts to bridge this divide by providing a build system automating much of the coreboot image creation and customization. Secondly, the project produces documentation aimed at non-technical users. Thirdly, the project attempts to provide excellent user support via IRC.
Canoeboot already comes with a payload (GRUB), flashprog and other needed parts. Everything is fully integrated, in a way where most of the complicated steps that are otherwise required, are instead done for the user in advance.
You can download ROM images for your canoeboot system and install them without having to build anything from source. If, however, you are interested in building your own image, the build system makes it relatively easy to do so.
Not a coreboot fork!
Canoeboot is not a fork of coreboot. Every so often, the project re-bases on the latest version of coreboot, with the number of custom patches in use minimized. Tested, stable (static) releases are then provided in Canoeboot, based on specific coreboot revisions.
LICENSE FOR THIS README
It's just a README file. This README file is released under the terms of the Creative Commons Zero license, version 1.0 of the license, which you can read here:
https://creativecommons.org/publicdomain/zero/1.0/legalcode.txt
The documentation in Canoeboot will use a mix of other licenses, so you should check that for more information.