Group: Hardware/Upstream projects/Coreboot

From LibrePlanet
Jump to: navigation, search
(Computers status: Add more coreboot revision mentions)
(Computers not merged (yet) in Coreboot)
 
(26 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
== Introduction ==
 
== Introduction ==
  
While Coreboot contains and uses nonfree software, it is the upstream for Libreboot. It also contains a wide variety of projects.
+
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 Libreboot. And we also need FSDG compliant ways to be able to use and package the tools that are developed in the Coreboot source tree.
+
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 Libreboot at some point, and that can or could have been added to Libreboot mostly as-is.
+
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
| {{orange|
+
| {{yes|
* No more free software GPU init in 4.18 but the i915 driver seem to be able to initialize the GPU for the X60<ref name="x60-4.18-gpu-test"></ref>
+
* 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.18
+
| Coreboot 4.21
 
|-
 
|-
 
| Asus
 
| Asus
Line 139: Line 139:
 
* KGPE-D16
 
* KGPE-D16
 
| {{No|?}}
 
| {{No|?}}
| AMD Family 10H
+
| 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
| {{yes|Damien Zammit}}
+
| {{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 166: Line 196:
 
| {{No|Unmaintained}}
 
| {{No|Unmaintained}}
 
|
 
|
| {{Yes|Still in Coreboot 4.18}}
+
| {{Yes|Still in Coreboot 4.21}}
| Coreboot 4.18
+
| Coreboot 4.21
 
|-
 
|-
 
| Intel
 
| Intel
Line 173: Line 203:
 
* D410PT
 
* D410PT
 
* D510MO
 
* D510MO
| {{Yes|Damien Zammit}}
+
| {{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>
| {{orange|
+
| {{yes|
* No more free software GPU init in 4.18 but the i915 driver seem to be able to initialize the GPU for the X60<ref name="x60-4.18-gpu-test"></ref>
+
* 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.18
+
| 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
| {{orange|
+
| {{yes|
* No more free software GPU init in 4.18 but the i915 driver seem to be able to initialize the GPU for the X60<ref name="x60-4.18-gpu-test"></ref>
+
* 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.18
+
| Coreboot 4.21
 
|-
 
|-
 
| Lenovo
 
| Lenovo
Line 213: Line 243:
 
* Seem fine
 
* Seem fine
 
* If UART is enabled in the Coreboot 4.18 build configuration, the computer needs the dock to boot. It works fine without UART.}}
 
* If UART is enabled in the Coreboot 4.18 build configuration, the computer needs the dock to boot. It works fine without UART.}}
| Coreboot 4.18
+
| Coreboot 4.21
 
|-
 
|-
 
| Lenovo
 
| Lenovo
Line 228: Line 258:
 
| {{yes|Alexander Couzens}}
 
| {{yes|Alexander Couzens}}
 
| Intel I945
 
| Intel I945
| {{orange|
+
| {{yes|
* No more free software GPU init in 4.18 but the i915 driver seem to be able to intialize the GPU<ref name="x60-4.18-gpu-test">The test was done with an X60 without internal display, an external display, Coreboot 4.18 without nonfree microcode and Guix with linux-libre 6.0.10-gnu</ref>
+
* 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>
* Boots fine otherwise}}
+
* Looks fine otherwise}}
|
+
| Coreboot 4.21
 
|-
 
|-
 
| Lenovo
 
| Lenovo
Line 242: Line 272:
 
| Intel GM45
 
| Intel GM45
 
| {{yes|Seem fine}}
 
| {{yes|Seem fine}}
|
+
| Coreboot 4.21
 
|-
 
|-
 
|}
 
|}
Line 248: Line 278:
 
<references />
 
<references />
  
== Adding newer computers in Coreboot and Libreboot ==
+
== Computers not merged (yet) in Coreboot==
  
This section is for listing computers that were never supported by Coreboot or by Libreboot, but that may be added relatively easily.
+
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 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:
 
|}
 
|}
  
== Libreboot patches ==
+
== 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.sr.ht/~libreboot/lbmk/tree/main/item/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]
+
| [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.sr.ht/~libreboot/lbmk/tree/main/item/resources/coreboot/default/patches/0002-add-c3-and-clockgen-to-apple-macbook21.patch 0002-add-c3-and-clockgen-to-apple-macbook21.patch]
+
| [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.sr.ht/~libreboot/lbmk/tree/main/item/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]
+
| [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.sr.ht/~libreboot/lbmk/tree/main/item/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]
+
| [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.sr.ht/~libreboot/lbmk/tree/main/item/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]
+
| [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.sr.ht/~libreboot/lbmk/tree/main/item/resources/coreboot/default/patches/0006-lenovo-x200-set-VRAM-to-352MiB-by-default.patch 0006-lenovo-x200-set-VRAM-to-352MiB-by-default.patch]
+
| [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.sr.ht/~libreboot/lbmk/tree/main/item/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]
+
| [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.sr.ht/~libreboot/lbmk/tree/main/item/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]
+
| [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.sr.ht/~libreboot/lbmk/tree/main/item/resources/coreboot/default/patches/0009-Revert-cpu-intel-Configure-IA32_FEATURE_CONTROL-for-.patch 0009-Revert-cpu-intel-Configure-IA32_FEATURE_CONTROL-for-.patch]
+
| [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.sr.ht/~libreboot/lbmk/tree/main/item/resources/coreboot/default/patches/0010-Fix-missing-include.patch 0010-Fix-missing-include.patch]
+
| [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.sr.ht/~libreboot/lbmk/tree/main/item/resources/coreboot/default/patches/0011-lenovo-t400-Enable-all-SATA-ports.patch 0011-lenovo-t400-Enable-all-SATA-ports.patch]
+
| [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.sr.ht/~libreboot/lbmk/tree/main/item/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]
+
| [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.sr.ht/~libreboot/lbmk/tree/main/item/resources/coreboot/default/patches/0015-python-patch.patch 0015-python-patch.patch]
+
| [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 Libreboot without having to care about the absence of "or later" clause or invariant sections, cover texts, etc.
+
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

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
  • ifdtool
Guix intelmetool
  • intelmetool
Guix me-cleaner
  • me_cleaner.py
Parabola libreboot-utils
  • bincfg
  • bucts
  • cbfs-compression-tool
  • cbfstool
  • cbmem
  • cse_fpt
  • cse_serger
  • demefactory
  • ectool
  • elogtool
  • fmaptool
  • ich9deblob
  • ich9gen
  • ich9show
  • ifdtool
  • ifittool
  • ifwitool
  • intelmetool
  • inteltool
  • me_cleaner.py
  • nvramtool
  • rmodtool
  • spkmodem-recv
  • superiotool
PureOS coreboot-utils
  • amdfwtool
  • cbfstool
  • cbmem
  • ectool
  • fmaptool
  • ifdfake
  • ifdtool
  • ifwitool
  • intelmetool
  • inteltool
  • intelvbttool
  • msrtool
  • nvramtool
  • rmodtool
  • romcc
  • superiotool
  • viatool
PureOS nvramtool
  • nvramtool
Trisquel 10 (nabia) nvramtool
  • 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
  • G43T-AM3
Unmaintained Intel G43 Seem fine. Also has native GPU initialization. Coreboot 4.21
Apple
  • iMac 5,2
  • Macbook 1,1
  • Macbook 2,1
Evgeny Zinoviev Intel I945
  • Free software GPU intialization in Coreboot 4.21, probably in C since there is no ada source code in the mainboard directory.[1]
  • Looks fine otherwise
Coreboot 4.21
Asus
  • KCMA-D8
? AMD Family 10H Removed from upstream Coreboot,
maintained in the Coreboot 4.11 branch
Asus
  • KFSN4-DRE
? AMD Family 10H Removed from upstream Coreboot,
maintained in the Coreboot 4.11 branch
Asus
  • KGPE-D16
? AMD Family 15H Removed from upstream Coreboot,
maintained in the Coreboot 4.11 branch
Dell
  • Latitude E6400
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
  • D945GCLF2D
Not mentioned upstream, Similar to the Intel D945GCLF, "reported working by a user" on the Libreboot website
Gigabyte
  • GA-G41M-ES2L
Unmaintained Intel I945 Seem fine. Also has native GPU initialization. Coreboot 4.21
Google
  • Veyron_Jaq (Haier Chromebook 11)
  • Veyron_Jerry (Hisense Chromebook 11)
  • Veyron_Mighty (Haier Chromebook 11(edu))
  • Veyron_Minnie (ASUS Chromebook Flip C100)
  • Veyron_Speedy (ASUS C201 Chromebook)
Unmaintained Still in Coreboot 4.21 Coreboot 4.21
Intel
  • D410PT
  • D510MO
Unmaintained Intel Tiger Point (Atom chipset)[2]
  • Free software GPU intialization in Coreboot 4.21, probably in C since there is no ada source code in the mainboard directory.[1]
  • Looks fine otherwise
Coreboot 4.21
Intel
  • D945GCLF
Unmaintained Intel I945 Seem fine. Also has native GPU initialization. Coreboot 4.21
Lenovo
  • Thinkpad R60 (with Intel GPU only)
  • Thinkpad T60 (with Intel GPU only)
  • Thinkpad T60p[3]
  • Thinkpad Z61t[4]
Alexander Couzens Intel I945
  • Free software GPU intialization in Coreboot 4.21, probably in C since there is no ada source code in the mainboard directory.[1]
  • Looks fine otherwise
Coreboot 4.21
Lenovo
  • Thinkpad R400
  • Thinkpad R500
  • Thinkpad T400
  • Thinkpad T500
  • Thinkpad W500
Alexander Couzens Intel GM45
  • Seem fine
  • If UART is enabled in the Coreboot 4.18 build configuration, the computer needs the dock to boot. It works fine without UART.
Coreboot 4.21
Lenovo
  • Thinkpad T400s[5]
Not mentioned upstream, might be similar to the T400. DRIVERS_LENOVO_WACOM is not in src/mainboard/lenovo/t400/Kconfig though.
Lenovo
  • Thinkpad X60
  • Thinkpad X60s
  • Thinkpad X60 Tablet
Alexander Couzens Intel I945
  • Free software GPU intialization in Coreboot 4.21, probably in C since there is no ada source code in the mainboard directory.[1]
  • Looks fine otherwise
Coreboot 4.21
Lenovo
  • Thinkpad X200
  • Thinkpad X200s
  • Thinkpad X200 Tablet
  • ThinkPad X301
Stefan Ott Intel GM45 Seem fine Coreboot 4.21
  1. 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
  2. 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
  3. Cannot be supported because only ATI GPUs are available. Reference: https://www.thinkwiki.org/wiki/Category:T60p /!\ Add blocker recommended for this link.
  4. Cannot be supported because only ATI GPUs are available. Reference: https://www.thinkwiki.org/wiki/Category:Z61t /!\ Add blocker recommended for this link.
  5. 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
  • 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 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
  • ThinkPad SL300 (with Intel GPU only)
  • ThinkPad SL400 (with Intel GPU only)
  • ThinkPad SL400c
  • ThinkPad SL410
  • ThinkPad SL500 (with Intel GPU only)
  • ThinkPad SL500c
  • ThinkPad SL510
Intel GM45
  • According to ThinkWiki these laptops have an Intel GM45.
  • According to ThinkWiki these laptops have an "IdeaPad firmware", which means that "as such some of the ThinkPad specific drivers and features are not supported.". I've made some tests on one of these (Maybe it was the SL410) and thinkpad_acpi was loaded. Though I cound't do dangerous tests on the EC (embedded controller), so I don't know the differences.

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).

Patch Type
0001-apple-macbook21-Set-default-VRAM-to-64MiB-instead-of.patch Configuration
0002-add-c3-and-clockgen-to-apple-macbook21.patch Needs upstreaming
0003-lenovo-x60-64MiB-Video-RAM-changed-to-default-previo.patch Configuration
0004-lenovo-t60-make-64MiB-VRAM-the-default-in-cmos.defau.patch Configuration
0005-lenovo-t400-set-VRAM-to-352MiB-VRAM-by-default.patch Configuration
0006-lenovo-x200-set-VRAM-to-352MiB-by-default.patch Configuration
0007-gigabyte-ga-g41m-es2l-set-VRAM-to-352MiB-by-default.patch Configuration
0008-acer-g43t-am3-set-VRAM-to-352MiB-by-default.patch Configuration
0009-Revert-cpu-intel-Configure-IA32_FEATURE_CONTROL-for-.patch Revert: can we upstream it, or do we need to maintain it?
0010-Fix-missing-include.patch Build system related, needs upstreaming
0011-lenovo-t400-Enable-all-SATA-ports.patch Needs upstreaming
0012-fix-speedstep-on-x200-t400-Revert-cpu-intel-model_10.patch Revert: can we upstream it, or do we need to maintain it?
0015-python-patch.patch 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

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.