canoeboot build system. https://canoeboot.org/
 
 
 
Go to file
Leah Rowe 0580373ff9 bump seabios to e5f2e4c69643bc3cd385306a9e5d29e11578148c
changes upstream, relative to the previous revision:

* e5f2e4c6 pciinit: don't misalign large BARs
* 731c88d5 stdvgaio: Only read/write one color palette entry at a time
* c5a361c0 stdvga: Add stdvga_set_vertical_size() helper function
* 22c91412 stdvga: Rename stdvga_get_vde() to stdvga_get_vertical_size()
* 549463db stdvga: Rename stdvga_set_scan_lines() to stdvga_set_character_height()
* c67914ac stdvga: Rename stdvga_set_text_block_specifier() to stdvga_set_font_location()
* aa94925d stdvga: Rework stdvga palette index paging interface functions
* 8de51a5a stdvga: Rename stdvga_toggle_intensity() to stdvga_set_palette_blinking()
* 96c7781f stdvga: Add comments to interface functions in stdvga.c
* 2996819f stdvga: Rename CGA palette functions
* 91368088 stdvgamodes: Improve naming of dac palette tables
* 70f43981 stdvgamodes: No need to store pelmask in vga_modes[]
* 1588fd14 vgasrc: Rename vgahw_get_linesize() to vgahw_minimum_linelength()
* d73e18bb vgasrc: Use curmode_g instead of vmode_g when mode is the current video mode
* 192e23b7 vbe: implement function 09h (get/set palette data)
* 3722c21d vgasrc: round up save/restore size
* 5d87ff25 vbe: Add VBE 2.0+ OemData field to struct vbe_info
* 163fd9f0 fix smbios blob length overflow
* 82faf1d5 Add LBA 64bit support for reads beyond 2TB.
* 3f082f38 Add AHCI Power ON + ICC_ACTIVE into port setup code
* 3ae88886 esp-scsi: terminate DMA transfer when ESP data transfer completes
* a6ed6b70 limit address space used for pci devices.

Signed-off-by: Leah Rowe <info@minifree.org>
2024-05-10 05:48:57 +01:00
config bump seabios to e5f2e4c69643bc3cd385306a9e5d29e11578148c 2024-05-10 05:48:57 +01:00
include merge include/err.sh with include/option.sh 2024-05-10 05:25:23 +01:00
script build/roms: print serprog help 2024-05-10 05:29:53 +01:00
util dell-flash-unlock: Remove dependency on GNU Make 2024-05-03 01:47:38 +01:00
.gitignore Canoeboot 20231107 release 2023-11-07 17:19:04 +00:00
COPYING censored libreboot c20230710 2023-10-26 20:20:43 +01:00
README.md further modify the README (stragglers) 2024-05-10 05:35:25 +01:00
build build: further prevent non-cbmk-work-directory 2024-05-10 05:31:50 +01:00
projectname Canoeboot 20231026 release 2023-10-27 08:21:04 +01:00
update Canoeboot 20231026 release 2023-10-27 08:21:04 +01:00

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. Strictly speaking, it is a fork of Libreboot, but with a twist:

Canoeboot is provided for the purists who absolutely wish to have no proprietary software of any kind. Regardless of any other firmware that exists outside of it, the boot flash on your system will be entirely free software if you install Canoeboot on it. That includes a complete lack of CPU microcode updates, as per FSF policy.

More specifically: Canoeboot is engineered to comply with the GNU Free System Distribution Guidelines. It has, as of November 2023 releases, been strictly audited by FSF licensing staff (Craig Topham lead the audit), and it is listed on the FSF's own Free Software Directory.

Libreboot previously complied with that same policy, but changed to a different one permitting binary blobs in limited circumstances, so as to support more newer machines. Canoeboot is, then, a continuation of the traditional Libreboot project prior to that policy change. Some users still want it, so, Canoeboot releases are rigoriously maintained, re-basing on newer Libreboot releases over time, just like how, say, Trisquel, re-bases itself on each new Ubuntu release.

Project goals

  • Obviously, support as much hardware as possible (within the limitations imposed by GNU FSDG, and using what coreboot happens to have in its source tree - Canoeboot also heavily patches coreboot, sometimes adding new mainboards out-of-tree).
  • 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, by virtue of maintaining sync with Libreboot releases (minus un-GNU parts), 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.