Does Coreboot work on every motherboard or does it have to be certain motherboards/PCs?
I have an old Intel Core 2 Quad and an ASUS P5K-E motherboard that I would love to set up with a coreboot BIOS replacement. Is it even possible?
Let me know.
Thanks!
On Mon, Jan 13, 2020 at 11:10 AM Aaron Garza iioliumenii@gmail.com wrote:
Does Coreboot work on every motherboard or does it have to be certain motherboards/PCs?
I have an old Intel Core 2 Quad and an ASUS P5K-E motherboard that I would love to set up with a coreboot BIOS replacement. Is it even possible?
As coreboot does the low level init of hardware, its' support is board-specific of course. If you'd look at coreboot supported boards ( i.e. those with a board status report here - https://coreboot.org/status/board-status.html ), there are some ASUS P5*** boards supported. Compare your P5K-E technical specification against these boards, take the most similar one, build a coreboot for it and (after a backup of previous chip contents just in case) try it on your PC - maybe it will work. I've done ASUS P2B build for my friend's ASUS P2B-B board, and it ran fine without any source code modifications at all! Perhaps should add it as a board variant to Kconfig, but I'm too lazy/busy solving the other problems.
Hi Aaron, Mike,
On Mon, Jan 13, 2020 at 9:34 AM Mike Banon mikebdp2@gmail.com wrote:
On Mon, Jan 13, 2020 at 11:10 AM Aaron Garza iioliumenii@gmail.com wrote:
Does Coreboot work on every motherboard or does it have to be certain motherboards/PCs?
I have an old Intel Core 2 Quad and an ASUS P5K-E motherboard that I would love to set up with a coreboot BIOS replacement. Is it even possible?
The Asus P5K-E uses a P35 northbridge, for which there is no support. Getting coreboot to run on it would require adding support for this northbridge (which is a rather complex task).
About mainboard support: coreboot can run on anything as long as support for it is added. For example, porting (adding support for) LGA775 or LGA1155 desktop boards is not too hard, as long as the northbridge, southbridge and SuperIO are supported. Of course, flashing coreboot onto a supported board is easier, but you learn much more when doing a port. Laptops are harder to port, however. They have an EC (embedded controller), which is a microcontroller running some custom, undocumented firmware. coreboot does not replace the EC firmware, but has to interact with the EC to make things like keyboard, touchpad, fan control, lid switch, battery and power management function correctly. Adding support for the EC interface is the most time-consuming part of a laptop port.
As coreboot does the low level init of hardware, its' support is board-specific of course. If you'd look at coreboot supported boards ( i.e. those with a board status report here - https://coreboot.org/status/board-status.html ), there are some ASUS P5*** boards supported. Compare your P5K-E technical specification against these boards, take the most similar one, build a coreboot for it and (after a backup of previous chip contents just in case) try it on your PC - maybe it will work. I've done ASUS P2B build for my friend's ASUS P2B-B board, and it ran fine without any source code modifications at all! Perhaps should add it as a board variant to Kconfig, but I'm too lazy/busy solving the other problems.
Please don't suggest "cross-flashing". That it worked does not mean that it is a wise thing to do. Different boards have different settings, and some of these are critical. The worst case are GPIOs: configurable pins that can be either inputs or outputs. If a GPIO that is wired as an input is configured as an output, this will result in a shortcircuit when the logic levels conflict, which can damage something. Maybe some GPIOs control the RAM voltage regulators on some boards?
coreboot mailing list -- coreboot@coreboot.org To unsubscribe send an email to coreboot-leave@coreboot.org
Best regards,
Angel
Please don't suggest "cross-flashing". That it worked does not mean that it is a wise thing to do. Different boards have different settings, and some of these are critical. The worst case are GPIOs: configurable pins that can be either inputs or outputs. If a GPIO that is wired as an input is configured as an output, this will result in a shortcircuit when the logic levels conflict, which can damage something. Maybe some GPIOs control the RAM voltage regulators on some boards?
Sorry, I used to think that in worst case it simply won't boot... This makes a porting seem more dangerous to do, if there's a chance of damaging a board by simply flashing an incorrect build.