Hello,
On Thu, Jul 30, 2020 at 1:53 PM Jonathan Neuschäfer j.neuschaefer@gmx.net wrote:
On Tue, Jul 28, 2020 at 07:54:33PM +0530, Nihar Khuntia wrote:
Hi Developers,
my laptop has hardwares details as attached in this email. will it support coreboot ?
At present time, no. As you can see in the coreboot source code[1] or menuconfig, this laptop (Dell Vostro 1014) is currently not supported in coreboot.
While it is possible to change that, it involes weeks or months of programming and testing work ("porting").
According to the internet, this machine has a Mobile 4 Series (e.g. GM45) northbridge with DDR2, an ICH9M southbridge, and an ITE IT8502E embedded controller. There's some coreboot support for this northbridge and southbridge, but support for DDR2 memory is missing. There are some WIP patches on review.coreboot.org which are good enough to boot, but other things like S3 suspend and resume don't work well yet.
The embedded controller is another problem: it runs mainboard-specific firmware. There's a datasheet for it on the internet, which should help understand some things. However, making all laptop features work correctly (e.g. keyboard, touchpad, special function keys, lid open/close detection, fan control, backlight control, power management...) will require some reverse engineering work.
Another thing I saw on schematics (yes, there's schematics on the internet for this mainboard): on this mainboard, the flash chip is connected to the EC, so it contains both the BIOS and the EC firmware. This complicates coreboot porting (e.g. one usually can't use a chip clip to reflash externally, because the EC gets powered through the programmer and turns on). However, this board has some testpads, so it is possible to solder a second flash chip directly to the ICH9M southbridge. There's a pin on the ICH9M to choose the Boot BIOS location, which can then be wired to a switch (e.g. the Wi-Fi switch) to select between the two flash chips. Yes, this involves soldering very small things onto even smaller testpads, but it would only need to be done once. And since the original vendor firmware would be untouched, the laptop would then be pretty much unbrickable.
I've added a second flash chip to a Toshiba A300-1ME, and I've used it to test the GM45 DDR2 initialization code. I call it a "portable coreboot development system": if coreboot doesn't boot, I can always power off, switch to vendor BIOS, boot to Linux and reflash with `flashrom -p internal`. No tools, no disassembly needed. :)
In short: there's currently no coreboot support for it. However, if you're really adventurous, adding a second flash chip is a very reasonable option: soldering small components requires some skills, but once it's done, switching between the vendor BIOS and coreboot is just a matter of flipping a switch. Not having to worry about recovering from a non-booting coreboot.rom greatly simplifies development.
Best regards, Jonathan Neuschäfer
coreboot mailing list -- coreboot@coreboot.org To unsubscribe send an email to coreboot-leave@coreboot.org
Best regards, Angel