Group: Hardware/Upstream projects/Coreboot
(Tag: Undo) |
(→Computers not merged (yet) in Coreboot) |
||
(19 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
== Introduction == | == Introduction == | ||
− | While Coreboot contains and uses nonfree software, it is | + | While Coreboot contains and uses nonfree software, it is being reused by several boot distributions like GNU Boot (100%free), Canoeboot (100%free), Libreboot (now ships free and nonfree software). It also contains a wide variety of projects. |
− | This means that we have to care about the upstream status of computers that can be supported by | + | This means that we have to care about the upstream status of computers that can be supported by GNU Boot or Canoboot. And we also need FSDG compliant ways to be able to use and package the tools that are developed in the Coreboot source tree. |
== Tools == | == Tools == | ||
Line 89: | Line 89: | ||
== Computers status == | == Computers status == | ||
− | This section is for computers that worked with either Coreboot or | + | This section is for computers that worked with either Coreboot, older versions of Libreboot or GNU Booot at some point, and that can or could have been added to GNU Boot or Canoboot mostly as-is. |
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
Line 105: | Line 105: | ||
| Intel G43 | | Intel G43 | ||
| {{yes|Seem fine. Also has native GPU initialization.}} | | {{yes|Seem fine. Also has native GPU initialization.}} | ||
− | | | + | | Coreboot 4.21 |
|- | |- | ||
| Apple | | Apple | ||
Line 114: | Line 114: | ||
| {{yes|Evgeny Zinoviev}} | | {{yes|Evgeny Zinoviev}} | ||
| Intel I945 | | Intel I945 | ||
− | | {{ | + | | {{yes| |
− | * | + | * Free software GPU intialization in Coreboot 4.21, probably in C since there is no ada source code in the mainboard directory.<ref name="x60-4.21-gpu-test"></ref> |
* Looks fine otherwise}} | * Looks fine otherwise}} | ||
| Coreboot 4.21 | | Coreboot 4.21 | ||
Line 139: | Line 139: | ||
* KGPE-D16 | * KGPE-D16 | ||
| {{No|?}} | | {{No|?}} | ||
− | | AMD Family | + | | AMD Family 15H |
| {{No|Removed from upstream Coreboot,<br/> maintained [https://doc.coreboot.org/releases/boards_supported_on_branches.html#id8 in the Coreboot 4.11 branch]}} | | {{No|Removed from upstream Coreboot,<br/> maintained [https://doc.coreboot.org/releases/boards_supported_on_branches.html#id8 in the Coreboot 4.11 branch]}} | ||
| | | | ||
+ | |- | ||
+ | | Dell | ||
+ | | | ||
+ | * Latitude E6400 | ||
+ | | {{yes|Nicholas Chin}} | ||
+ | | Intel GM45 | ||
+ | | From the commits adding the E6400: | ||
+ | Working: | ||
+ | * USB EHCI debug (lower USB port on right side) | ||
+ | * Keyboard | ||
+ | * Touchpad/trackpoint | ||
+ | * VGA | ||
+ | * Displayport | ||
+ | * ExpressCard | ||
+ | * Audio | ||
+ | * Ethernet | ||
+ | * mPCIe WiFi | ||
+ | * mPCIe Bluetooth (uses USB) | ||
+ | * SD card | ||
+ | Not working: | ||
+ | * Brightness hotkeys | ||
+ | * Physical Wireless switch | ||
+ | Untested: | ||
+ | * Dock | ||
+ | * Smartcard (slot and contactless) | ||
+ | * Firewire | ||
+ | * eSATA | ||
+ | * TPM | ||
+ | * Battery | ||
+ | | Coreboot 24.08 | ||
|- | |- | ||
| Gigabyte | | Gigabyte | ||
Line 152: | Line 182: | ||
| | | | ||
* GA-G41M-ES2L | * GA-G41M-ES2L | ||
− | | {{ | + | | {{No|Unmaintained}} |
| Intel I945 | | Intel I945 | ||
| {{yes|Seem fine. Also has native GPU initialization.}} | | {{yes|Seem fine. Also has native GPU initialization.}} | ||
− | | | + | | Coreboot 4.21 |
|- | |- | ||
| Google | | Google | ||
Line 173: | Line 203: | ||
* D410PT | * D410PT | ||
* D510MO | * D510MO | ||
− | | {{ | + | | {{No|Unmaintained}} |
| Intel Tiger Point (Atom chipset)<ref>In Coreboot src/mainboard/intel/d510mo/Kconfig/Kconfig uses NORTHBRIDGE_INTEL_PINEVIEW, and "This generation of the Atom was codenamed Pineview, which is used in the Pine Trail platform. Intel's Pine Trail-M platform utilizes an Atom processor (codenamed Pineview-M) and Platform Controller Hub (codenamed Tiger Point)." from https://en.wikipedia.org/wiki/Pineview_(microprocessor)#Second_generation_cores</ref> | | Intel Tiger Point (Atom chipset)<ref>In Coreboot src/mainboard/intel/d510mo/Kconfig/Kconfig uses NORTHBRIDGE_INTEL_PINEVIEW, and "This generation of the Atom was codenamed Pineview, which is used in the Pine Trail platform. Intel's Pine Trail-M platform utilizes an Atom processor (codenamed Pineview-M) and Platform Controller Hub (codenamed Tiger Point)." from https://en.wikipedia.org/wiki/Pineview_(microprocessor)#Second_generation_cores</ref> | ||
− | | {{ | + | | {{yes| |
− | * | + | * Free software GPU intialization in Coreboot 4.21, probably in C since there is no ada source code in the mainboard directory.<ref name="x60-4.21-gpu-test"></ref> |
* Looks fine otherwise}} | * Looks fine otherwise}} | ||
− | | Coreboot 4. | + | | Coreboot 4.21 |
|- | |- | ||
| Intel | | Intel | ||
Line 186: | Line 216: | ||
| Intel I945 | | Intel I945 | ||
| {{yes|Seem fine. Also has native GPU initialization.}} | | {{yes|Seem fine. Also has native GPU initialization.}} | ||
− | | | + | | Coreboot 4.21 |
|- | |- | ||
| Lenovo | | Lenovo | ||
Line 196: | Line 226: | ||
| {{yes|Alexander Couzens}} | | {{yes|Alexander Couzens}} | ||
| Intel I945 | | Intel I945 | ||
− | | {{ | + | | {{yes| |
− | * | + | * Free software GPU intialization in Coreboot 4.21, probably in C since there is no ada source code in the mainboard directory.<ref name="x60-4.21-gpu-test"></ref> |
* Looks fine otherwise}} | * Looks fine otherwise}} | ||
| Coreboot 4.21 | | Coreboot 4.21 | ||
Line 228: | Line 258: | ||
| {{yes|Alexander Couzens}} | | {{yes|Alexander Couzens}} | ||
| Intel I945 | | Intel I945 | ||
− | | {{ | + | | {{yes| |
− | * | + | * Free software GPU intialization in Coreboot 4.21, probably in C since there is no ada source code in the mainboard directory.<ref name="x60-4.21-gpu-test">The test was done with an X60 and Coreboot 4.21 without nonfree microcode and Guix with linux-libre 6.1.62-gnu</ref> |
− | * | + | * Looks fine otherwise}} |
| Coreboot 4.21 | | Coreboot 4.21 | ||
|- | |- | ||
Line 248: | Line 278: | ||
<references /> | <references /> | ||
− | == Adding newer computers in Coreboot | + | == Computers not merged (yet) in Coreboot== |
+ | |||
+ | This section is for listing computers that work with patches that are not yet in Coreboot. Finishing the patches, getting them reviewed and accepted would make it easier to support such computers in 100% free boot software distributions. | ||
+ | |||
+ | {| class="wikitable" border="1" | ||
+ | ! Original vendors | ||
+ | ! Model(s) | ||
+ | ! Chipset family | ||
+ | ! Patch status | ||
+ | ! Patch link | ||
+ | ! Comments | ||
+ | |- | ||
+ | | Dell | ||
+ | | Optiplex 780 (MT + USFF variants) | ||
+ | | | ||
+ | | Work in progress | ||
+ | | https://review.coreboot.org/c/coreboot/+/84880 | ||
+ | | | ||
+ | * Normally it should work without nonfree software | ||
+ | * Already supported by Canoeboot with the "Work in progress" patch. | ||
+ | |- | ||
+ | | Dell | ||
+ | | | ||
+ | Probably based on the E6400 code: | ||
+ | * Latitude E4300 | ||
+ | * Latitude E6400 XFR ? | ||
+ | * Latitude E6400 ATG ? | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | * Normally it should work without nonfree software | ||
+ | * Already supported by Canoeboot, probably with out of tree patches. Some patches were sent on the GNU Boot mailing list as well so it might be easier to understand what needs to be upstreamed with these ones as they may also requires patches in GRUB for instance. The E6400 is also supported by Coreboot and its status is mentioned in the commits. So someone would need to test it with the stock Coreboot to understand what payloads work fine, and also test the dock and other untested hardware. | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | == Adding newer computers in Coreboot, GNU Boot or Canoboot == | ||
− | This section is for listing computers that were never supported by Coreboot or by | + | This section is for listing computers that were never supported by Coreboot or by GNU Boot or Canoboot, but that may be added relatively easily. |
The goal here is to list computers that are similar enough to already supported computers and that could be added without having to add new drivers for specific hardware (like adding support for ATI or Nvidia GPUs) and without getting rid of some existing nonfree software (like the SMU for AMD computers). | The goal here is to list computers that are similar enough to already supported computers and that could be added without having to add new drivers for specific hardware (like adding support for ATI or Nvidia GPUs) and without getting rid of some existing nonfree software (like the SMU for AMD computers). | ||
Line 275: | Line 341: | ||
|} | |} | ||
− | == | + | == GNU Boot patches == |
+ | |||
+ | The GNU Boot project tries to use the least amount of patching on top of upstream projects, so it's a good start as we start with less patches to look at, even if some of them are not strictly necessary (and could be simply removed by sending a patch to GNU Boot). | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
Line 281: | Line 349: | ||
! Type | ! Type | ||
|- | |- | ||
− | | [https://git. | + | | [https://git.savannah.gnu.org/cgit/gnuboot.git/tree/resources/coreboot/default/patches/0001-apple-macbook21-Set-default-VRAM-to-64MiB-instead-of.patch 0001-apple-macbook21-Set-default-VRAM-to-64MiB-instead-of.patch] |
| {{yes|Configuration}} | | {{yes|Configuration}} | ||
|- | |- | ||
− | | [https://git. | + | | [https://git.savannah.gnu.org/cgit/gnuboot.git/tree/resources/coreboot/default/patches/0002-add-c3-and-clockgen-to-apple-macbook21.patch 0002-add-c3-and-clockgen-to-apple-macbook21.patch] |
| {{orange|Needs upstreaming}} | | {{orange|Needs upstreaming}} | ||
|- | |- | ||
− | | [https://git. | + | | [https://git.savannah.gnu.org/cgit/gnuboot.git/tree/resources/coreboot/default/patches/0003-lenovo-x60-64MiB-Video-RAM-changed-to-default-previo.patch 0003-lenovo-x60-64MiB-Video-RAM-changed-to-default-previo.patch] |
| {{yes|Configuration}} | | {{yes|Configuration}} | ||
|- | |- | ||
− | | [https://git. | + | | [https://git.savannah.gnu.org/cgit/gnuboot.git/tree/resources/coreboot/default/patches/0004-lenovo-t60-make-64MiB-VRAM-the-default-in-cmos.defau.patch 0004-lenovo-t60-make-64MiB-VRAM-the-default-in-cmos.defau.patch] |
| {{yes|Configuration}} | | {{yes|Configuration}} | ||
|- | |- | ||
− | | [https://git. | + | | [https://git.savannah.gnu.org/cgit/gnuboot.git/tree/resources/coreboot/default/patches/0005-lenovo-t400-set-VRAM-to-352MiB-VRAM-by-default.patch 0005-lenovo-t400-set-VRAM-to-352MiB-VRAM-by-default.patch] |
| {{yes|Configuration}} | | {{yes|Configuration}} | ||
|- | |- | ||
− | | [https://git. | + | | [https://git.savannah.gnu.org/cgit/gnuboot.git/tree/resources/coreboot/default/patches/0006-lenovo-x200-set-VRAM-to-352MiB-by-default.patch 0006-lenovo-x200-set-VRAM-to-352MiB-by-default.patch] |
| {{yes|Configuration}} | | {{yes|Configuration}} | ||
|- | |- | ||
− | | [https://git. | + | | [https://git.savannah.gnu.org/cgit/gnuboot.git/tree/resources/coreboot/default/patches/0007-gigabyte-ga-g41m-es2l-set-VRAM-to-352MiB-by-default.patch 0007-gigabyte-ga-g41m-es2l-set-VRAM-to-352MiB-by-default.patch] |
| {{yes|Configuration}} | | {{yes|Configuration}} | ||
|- | |- | ||
− | | [https://git. | + | | [https://git.savannah.gnu.org/cgit/gnuboot.git/tree/resources/coreboot/default/patches/0008-acer-g43t-am3-set-VRAM-to-352MiB-by-default.patch 0008-acer-g43t-am3-set-VRAM-to-352MiB-by-default.patch] |
| {{yes|Configuration}} | | {{yes|Configuration}} | ||
|- | |- | ||
− | | [https://git. | + | | [https://git.savannah.gnu.org/cgit/gnuboot.git/tree/resources/coreboot/default/patches/0009-Revert-cpu-intel-Configure-IA32_FEATURE_CONTROL-for-.patch 0009-Revert-cpu-intel-Configure-IA32_FEATURE_CONTROL-for-.patch] |
| {{no|Revert: can we upstream it, or do we need to maintain it?}} | | {{no|Revert: can we upstream it, or do we need to maintain it?}} | ||
|- | |- | ||
− | | [https://git. | + | | [https://git.savannah.gnu.org/cgit/gnuboot.git/tree/resources/coreboot/default/patches/0010-Fix-missing-include.patch 0010-Fix-missing-include.patch] |
| {{yellow|Build system related, needs upstreaming}} | | {{yellow|Build system related, needs upstreaming}} | ||
|- | |- | ||
− | | [https://git. | + | | [https://git.savannah.gnu.org/cgit/gnuboot.git/tree/resources/coreboot/default/patches/0011-lenovo-t400-Enable-all-SATA-ports.patch 0011-lenovo-t400-Enable-all-SATA-ports.patch] |
| {{orange|Needs upstreaming}} | | {{orange|Needs upstreaming}} | ||
|- | |- | ||
− | | [https://git. | + | | [https://git.savannah.gnu.org/cgit/gnuboot.git/tree/resources/coreboot/default/patches/0012-fix-speedstep-on-x200-t400-Revert-cpu-intel-model_10.patch 0012-fix-speedstep-on-x200-t400-Revert-cpu-intel-model_10.patch] |
| {{no|Revert: can we upstream it, or do we need to maintain it?}} | | {{no|Revert: can we upstream it, or do we need to maintain it?}} | ||
|- | |- | ||
− | | [https://git. | + | | [https://git.savannah.gnu.org/cgit/gnuboot.git/tree/resources/coreboot/default/patches/0015-python-patch.patch 0015-python-patch.patch] |
| {{yellow|Build system related, needs upstreaming}} | | {{yellow|Build system related, needs upstreaming}} | ||
|- | |- | ||
|} | |} | ||
+ | |||
+ | In addition there are two patch for flashrom to enable installing GNU Boot or Canoeboot on GM45 Thinkpads without disassembling the laptop. They are needed otherwise the flash chip are not detected. Since the flash chip have different IDs it's not possible to remove the need of the patches by trying to not read/write the whole flash. | ||
== Page License == | == Page License == | ||
Line 333: | Line 403: | ||
Invariant Sections, no Front Cover Texts and no Back Cover Texts. | Invariant Sections, no Front Cover Texts and no Back Cover Texts. | ||
− | This way it can be reused as-is in | + | This way it can be reused as-is in GNU Boot or Canoeboot without having to care about the absence of "or later" clause or invariant sections, cover texts, etc. |
Latest revision as of 16:20, 5 November 2024
Contents
Introduction
While Coreboot contains and uses nonfree software, it is being reused by several boot distributions like GNU Boot (100%free), Canoeboot (100%free), Libreboot (now ships free and nonfree software). It also contains a wide variety of projects.
This means that we have to care about the upstream status of computers that can be supported by GNU Boot or Canoboot. And we also need FSDG compliant ways to be able to use and package the tools that are developed in the Coreboot source tree.
Tools
FSDG Distribution | Package | Tools |
---|---|---|
Guix | ifdtool |
|
Guix | intelmetool |
|
Guix | me-cleaner |
|
Parabola | libreboot-utils |
|
PureOS | coreboot-utils |
|
PureOS | nvramtool |
|
Trisquel 10 (nabia) | nvramtool |
|
Computers status
This section is for computers that worked with either Coreboot, older versions of Libreboot or GNU Booot at some point, and that can or could have been added to GNU Boot or Canoboot mostly as-is.
Original vendors | Model(s) | Maintainer(s) | Chipset or microarchitecture family | Status | Last review |
---|---|---|---|---|---|
Acer |
|
Unmaintained | Intel G43 | Seem fine. Also has native GPU initialization. | Coreboot 4.21 |
Apple |
|
Evgeny Zinoviev | Intel I945 |
|
Coreboot 4.21 |
Asus |
|
? | AMD Family 10H | Removed from upstream Coreboot, maintained in the Coreboot 4.11 branch |
|
Asus |
|
? | AMD Family 10H | Removed from upstream Coreboot, maintained in the Coreboot 4.11 branch |
|
Asus |
|
? | AMD Family 15H | Removed from upstream Coreboot, maintained in the Coreboot 4.11 branch |
|
Dell |
|
Nicholas Chin | Intel GM45 | From the commits adding the E6400:
Working:
Not working:
Untested:
|
Coreboot 24.08 |
Gigabyte |
|
Not mentioned upstream, Similar to the Intel D945GCLF, "reported working by a user" on the Libreboot website | |||
Gigabyte |
|
Unmaintained | Intel I945 | Seem fine. Also has native GPU initialization. | Coreboot 4.21 |
|
Unmaintained | Still in Coreboot 4.21 | Coreboot 4.21 | ||
Intel |
|
Unmaintained | Intel Tiger Point (Atom chipset)[2] |
|
Coreboot 4.21 |
Intel |
|
Unmaintained | Intel I945 | Seem fine. Also has native GPU initialization. | Coreboot 4.21 |
Lenovo | Alexander Couzens | Intel I945 |
|
Coreboot 4.21 | |
Lenovo |
|
Alexander Couzens | Intel GM45 |
|
Coreboot 4.21 |
Lenovo |
|
Not mentioned upstream, might be similar to the T400. DRIVERS_LENOVO_WACOM is not in src/mainboard/lenovo/t400/Kconfig though. | |||
Lenovo |
|
Alexander Couzens | Intel I945 |
|
Coreboot 4.21 |
Lenovo |
|
Stefan Ott | Intel GM45 | Seem fine | Coreboot 4.21 |
- ↑ 1.01.11.21.3 The test was done with an X60 and Coreboot 4.21 without nonfree microcode and Guix with linux-libre 6.1.62-gnu
- ↑ In Coreboot src/mainboard/intel/d510mo/Kconfig/Kconfig uses NORTHBRIDGE_INTEL_PINEVIEW, and "This generation of the Atom was codenamed Pineview, which is used in the Pine Trail platform. Intel's Pine Trail-M platform utilizes an Atom processor (codenamed Pineview-M) and Platform Controller Hub (codenamed Tiger Point)." from https://en.wikipedia.org/wiki/Pineview_(microprocessor)#Second_generation_cores
- ↑ Cannot be supported because only ATI GPUs are available. Reference: https://www.thinkwiki.org/wiki/Category:T60p /!\ Add blocker recommended for this link.
- ↑ Cannot be supported because only ATI GPUs are available. Reference: https://www.thinkwiki.org/wiki/Category:Z61t /!\ Add blocker recommended for this link.
- ↑ https://ryf.fsf.org/index.php/products/TET-T400s
Computers not merged (yet) in Coreboot
This section is for listing computers that work with patches that are not yet in Coreboot. Finishing the patches, getting them reviewed and accepted would make it easier to support such computers in 100% free boot software distributions.
Original vendors | Model(s) | Chipset family | Patch status | Patch link | Comments |
---|---|---|---|---|---|
Dell | Optiplex 780 (MT + USFF variants) | Work in progress | https://review.coreboot.org/c/coreboot/+/84880 |
|
|
Dell |
Probably based on the E6400 code:
|
|
Adding newer computers in Coreboot, GNU Boot or Canoboot
This section is for listing computers that were never supported by Coreboot or by GNU Boot or Canoboot, but that may be added relatively easily.
The goal here is to list computers that are similar enough to already supported computers and that could be added without having to add new drivers for specific hardware (like adding support for ATI or Nvidia GPUs) and without getting rid of some existing nonfree software (like the SMU for AMD computers).
Original vendors | Model(s) | Chipset family | Comments |
---|---|---|---|
Lenovo |
|
Intel GM45 |
|
GNU Boot patches
The GNU Boot project tries to use the least amount of patching on top of upstream projects, so it's a good start as we start with less patches to look at, even if some of them are not strictly necessary (and could be simply removed by sending a patch to GNU Boot).
In addition there are two patch for flashrom to enable installing GNU Boot or Canoeboot on GM45 Thinkpads without disassembling the laptop. They are needed otherwise the flash chip are not detected. Since the flash chip have different IDs it's not possible to remove the need of the patches by trying to not read/write the whole flash.
Page License
In addition to the Libreplanet license:
Content is available under GNU Free Documentation License 1.3. By contributing to any page on this wiki, you agree to assign copyright for your contribution to the Free Software Foundation (see LibrePlanet:Copyrights for details). The Free Software Foundation promises to always use either a verbatim copying license or a free documentation license when publishing your contribution. We grant you back all your rights under copyright, including the rights to copy, modify, and redistribute your contributions. You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. DO NOT SUBMIT COPYRIGHTED WORK WITHOUT PERMISSION!
This page is also licensed under the following license:
This page is released under the GNU Free Documentation License, either version 1.3 or (at your option) any newer version as published by the Free Software Foundation, with no Invariant Sections, no Front Cover Texts and no Back Cover Texts.
This way it can be reused as-is in GNU Boot or Canoeboot without having to care about the absence of "or later" clause or invariant sections, cover texts, etc.