|
|
@ -0,0 +1,174 @@
|
|
|
|
|
|
|
|
% Canoeboot 20240510 released!
|
|
|
|
|
|
|
|
% Leah Rowe
|
|
|
|
|
|
|
|
% 10 May 2024
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Introduction
|
|
|
|
|
|
|
|
============
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Canoeboot is a [free/libre](https://writefreesoftware.org/) BIOS/UEFI replacement
|
|
|
|
|
|
|
|
on x86 and ARM, providing
|
|
|
|
|
|
|
|
boot firmware that initialises the hardware in your computer, to then load an
|
|
|
|
|
|
|
|
operating system (e.g. GNU+Linux). It is specifically a *coreboot distribution*,
|
|
|
|
|
|
|
|
in the same way that Trisquel is a GNU+Linux distribution. It provides an automated
|
|
|
|
|
|
|
|
build system to produce coreboot ROM images with a variety of payloads such as
|
|
|
|
|
|
|
|
GNU GRUB or SeaBIOS, with regular well-tested releases to make coreboot as easy
|
|
|
|
|
|
|
|
to use as possible for non-technical users. From a project management perspective,
|
|
|
|
|
|
|
|
this works in *exactly* the same way as a GNU+Linux distro, providing the same type
|
|
|
|
|
|
|
|
of infrastructure, but for your boot firmware instead of your operating system.
|
|
|
|
|
|
|
|
It makes use of [coreboot](https://www.coreboot.org/) for hardware initialisation,
|
|
|
|
|
|
|
|
and then a payload such as [SeaBIOS](https://www.seabios.org/SeaBIOS)
|
|
|
|
|
|
|
|
or [GNU GRUB](https://www.gnu.org/software/grub/) to boot your operating
|
|
|
|
|
|
|
|
system; on ARM(chromebooks), we provide *U-Boot* (as a coreboot payload).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Canoeboot provides many additional benefits such as fast boot speeds, greater
|
|
|
|
|
|
|
|
security and greater customisation, but the *primary* benefit
|
|
|
|
|
|
|
|
is [software freedom](https://writefreesoftware.org/learn). With use of GRUB
|
|
|
|
|
|
|
|
in the flash, you can make use of many advanced features such as the ability
|
|
|
|
|
|
|
|
to [boot from an encrypted /boot partition](../docs/gnulinux/)
|
|
|
|
|
|
|
|
and [verify kernel GPG signature at boot time](../docs/gnulinux/grub_hardening.md).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
If you're fed up of the control that proprietary UEFI vendors have over you,
|
|
|
|
|
|
|
|
then Canoeboot is *for you*. Although many would agree that it is a major step
|
|
|
|
|
|
|
|
forward for most users, it's actually a very old idea. Old is often better. It used to
|
|
|
|
|
|
|
|
be that computers were much more open for learning, and tinkering. Canoeboot
|
|
|
|
|
|
|
|
implements this old idea in spirit and in practise, helping you wrest back control.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Unlike the hardware vendors, Canoeboot does not see *you* as a *security threat*;
|
|
|
|
|
|
|
|
we regard the ability to use, study, modify and redistribute software freely to
|
|
|
|
|
|
|
|
be a human right that everyone *must* have, and the same is true of hardware.
|
|
|
|
|
|
|
|
Your computer is *your property* to use as you wish. Free Software protects you,
|
|
|
|
|
|
|
|
by ensuring that you always have control of the machine.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*This* new release, Canoeboot 20240510, released today 10 May 2024, is
|
|
|
|
|
|
|
|
a new *stable* release of Canoeboot. The *previous* release was
|
|
|
|
|
|
|
|
Canoeboot 20240504, just *6 days ago*. This is a minor release, with minimal
|
|
|
|
|
|
|
|
changes; if you already installed Canoeboot 20240504, you probably don't need
|
|
|
|
|
|
|
|
to update, but the *SeaBIOS* revision was updated, and has some fixes.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Changes in this release
|
|
|
|
|
|
|
|
=======================
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*Extensive* changes have been made to the documentation and website, which you
|
|
|
|
|
|
|
|
may or may not notice. I won't say what they are. You'll just have to review the
|
|
|
|
|
|
|
|
git log yourself :)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
There was originally a long-winded article about these changes, which could
|
|
|
|
|
|
|
|
have sparked a major international incident. They very nature and purpose of
|
|
|
|
|
|
|
|
those changes means that direct discussion of them, even in the most diplomatic way
|
|
|
|
|
|
|
|
possible and with the most amount of brevity, would completely defeat the purpose
|
|
|
|
|
|
|
|
of said changes. I've deleted that article, prior to publishing.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Said article will never be published. I will never discuss it. I will ignore
|
|
|
|
|
|
|
|
all questions, provocations or praise pertaining to said changes.
|
|
|
|
|
|
|
|
Not making reference to them in any way would also be bad; making
|
|
|
|
|
|
|
|
cryptic reference to it is optimal, so that is what I've done, now.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
If you now go and look at said changes, I will say only one thing further:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Probably nothing will happen, but I'm leaving everything open to interpretation.
|
|
|
|
|
|
|
|
Who knows what will happen? Stay tuned to find out. Or not. Again, it could be
|
|
|
|
|
|
|
|
that *nothing* happens. In fact, it's extremely likely that *nothing* will
|
|
|
|
|
|
|
|
happen; we shall see.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The gravity of this change means that I *must* make reference to it, albeit
|
|
|
|
|
|
|
|
indirectly. What I will say is this: my opinions have not changed at all. I
|
|
|
|
|
|
|
|
remain resolute and steadfast in my resolve. I'm simply taking a completely
|
|
|
|
|
|
|
|
different approach from now on. It is an approach that those familiar with the
|
|
|
|
|
|
|
|
history of Canoeboot probably never expected I'd ever take.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ALSO:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Build system changes
|
|
|
|
|
|
|
|
-------------------
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The following improvements have been made, most of them not affecting the
|
|
|
|
|
|
|
|
final build (the actual code that goes in-flash):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* bump seabios (payload) to the latest upstream revision as of today
|
|
|
|
|
|
|
|
* main `build` script: exit (with non-zero status) if not running it from the
|
|
|
|
|
|
|
|
main cbmk work directory (the design of cbmk makes this mandatory)
|
|
|
|
|
|
|
|
* merge `script/build/serprog` into `script/build/roms` - now you
|
|
|
|
|
|
|
|
run e.g. `./build roms serprog rp2040` instead of `./build serprog rp2040`
|
|
|
|
|
|
|
|
* merge `include/err.sh` into `include/option.sh`
|
|
|
|
|
|
|
|
* build/roms: more code cleanup in general
|
|
|
|
|
|
|
|
* build/roms: split up `main()` into smaller functions
|
|
|
|
|
|
|
|
* build/roms: allow status search by mismatch (e.g. list all targets that
|
|
|
|
|
|
|
|
are *not* stable, instead of only being able to list ones that are)
|
|
|
|
|
|
|
|
* Update the `README.md` file, applying the same change as described
|
|
|
|
|
|
|
|
above (adopt a neutral/concilliatory tone toward FSF/GNU, and don't tell
|
|
|
|
|
|
|
|
everyone Libreboot is a superior project that everyone should use).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Regarding SeaBIOS, the following upstream changes have been merged into
|
|
|
|
|
|
|
|
this Canoeboot release:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
* 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.
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
And that's all. If you installed Canoeboot 20240504, you probably don't need
|
|
|
|
|
|
|
|
to update to today's release. If you *didn't* install 20240504, then you may
|
|
|
|
|
|
|
|
aswell update to today's release (Canoeboot 20240510).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Hardware supported in this release
|
|
|
|
|
|
|
|
==================================
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This release supports the following hardware:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### Servers (AMD, x86)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- [ASUS KFSN4-DRE motherboard](../docs/hardware/kfsn4-dre.md)
|
|
|
|
|
|
|
|
- [ASUS KGPE-D16 motherboard](../docs/hardware/kgpe-d16.md)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### Desktops (AMD, Intel, x86)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- [Acer G43T-AM3](../docs/hardware/acer_g43t-am3.md)
|
|
|
|
|
|
|
|
- [Apple iMac 5,2](../docs/hardware/imac52.md)
|
|
|
|
|
|
|
|
- [ASUS KCMA-D8 motherboard](../docs/hardware/kcma-d8.md)
|
|
|
|
|
|
|
|
- [Gigabyte GA-G41M-ES2L motherboard](../docs/hardware/ga-g41m-es2l.md)
|
|
|
|
|
|
|
|
- [Intel D510MO and D410PT motherboards](../docs/hardware/d510mo.md)
|
|
|
|
|
|
|
|
- [Intel D945GCLF](../docs/hardware/d945gclf.md)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### Laptops (Intel, x86)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- [Apple MacBook1,1 and MacBook2,1](../docs/hardware/macbook21.md)
|
|
|
|
|
|
|
|
- [Dell Latitude E6400, E6400 XFR and E6400 ATG, with Intel
|
|
|
|
|
|
|
|
GPU](../docs/hardware/e6400.md)
|
|
|
|
|
|
|
|
- [Lenovo ThinkPad R400](../docs/hardware/r400.md)
|
|
|
|
|
|
|
|
- [Lenovo ThinkPad R500](../docs/hardware/r500.md)
|
|
|
|
|
|
|
|
- [Lenovo ThinkPad T400 / T400S](../docs/hardware/t400.md)
|
|
|
|
|
|
|
|
- [Lenovo ThinkPad T500](../docs/hardware/t500.md)
|
|
|
|
|
|
|
|
- [Lenovo ThinkPad W500](../docs/hardware/t500.md)
|
|
|
|
|
|
|
|
- [Lenovo ThinkPad X200 / X200S / X200 Tablet](../docs/hardware/x200.md)
|
|
|
|
|
|
|
|
- Lenovo ThinkPad X301
|
|
|
|
|
|
|
|
- Lenovo ThinkPad X60 / X60S / X60 Tablet
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### Laptops (ARM, with U-Boot payload)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- [ASUS Chromebook Flip C101 (gru-bob)](../docs/install/chromebooks.md)
|
|
|
|
|
|
|
|
- [Samsung Chromebook Plus (v1) (gru-kevin)](../docs/install/chromebooks.md)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Again, very minor release. I wasn't fully happy with the last one, specifically
|
|
|
|
|
|
|
|
the last Canoeboot release, so I decided to another quick one.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
That is all.
|