[RESPONDED] Coreboot on the Framework Laptop

Always the more open the better. If you guys manage to get open firmware solutions I will change my stance from “well, I don’t endorse anything at this point except for Framework” to “absolutely don’t get anything but Framework,” when people ask me what laptop to get. A whole lot of people ask their technologist family or friend what laptop to get - I tend to be that guy for a whole lot of people. Now I can tell them that I will only support working on it if they get Framework.
Seriously though, I just ordered one for my mother. As a datasec professional, I want to cast a strong, strong vote for open firmware. I will continuing voting with my wallet and suggesting others do as well.

13 Likes

I think a possible future enhancement that would suit this is having dual bios onboard. This is a fairly common feature on motherboards intended to facilitate novel use (like ln2 overclocking).

3 Likes

I think for the end user thats only helpful when they have an eeprom programmer to put the bios image on the new chip unless framworks starts to sell pre-programmed chips. There is also the danger that a DAU would remove the chip for an extended period of time which would reset the enitre bios and system clock. If the boot order gets messed up because of the reset then you might look at a laptop that refuses to boot :sweat_smile:.

Also dual bios for overclocking puposes only makes sense when you have a physical bios switch. Looking a desktop motherboards maybe a feature like a clear CMOS and bios flashback button would be useful. Being able to save your bios setings in a safe profile in case of a reset would also be nice

5 Likes

My thinking with regard to this thread specifically would be for those who seek to modify their open source BIOS. If they were tinkering with the source, adding/changing things, they’d be at substantially less risk of ending up with a bricked system and be substantially easier to test changes.

It’s also interesting to consider novel applications for framework hardware that aren’t a laptop configuration - some kind of custom device that needs an onboard computer. There’s really no way to predict how these components could be used or configured, so leaving the door open as wide as possible with as few tradeoffs as possible to satisfy the intended laptop only makes sense. In a situation where the motherboard/cpu combo is being used in a device, the bios switch could be used to change states of the device, for example - especially with open source bios.

2 Likes

I would love it when the bios is modifiable without the use of a eeprom programer or an method that requires an functional bios. It would make my own modding atempts with laptops bioses easier though i usually only enable hidden bios settings. For a coreboot developer this would probably be a dream feature

1 Like

Not exactly, if SPI controller is supported by flashing tool e.g. flashrom one can hot swap chips. It would work as follows:

  • boot your platform to OS with functional BIOS storage
  • while system booted remove BIOS storage
  • place second chip (spare one) in socket
  • flash development/debug version of coreboot/BIOS/UEFI
  • reboot the platform and gather logs
  • modify you coreboot/BIOS/UEFI code and repeat until you get working firmware

I will teach that technique in free OST2 training called Architecture 4032: coreboot Hands-On

1 Like

Interesting, so far i used a eeprom programer with a SOIC-CLIP for flashing. It has the upside that it ignores the flashing protection that most laptops have and you can always reflash a corrupted bios. Its a rather dangerous method though since using the wrong programing voltage will destroy the chip. Trying to create a somewhat working coreboot image is definetly something i might try in the future even though i still lack a lot of experience and knowladge on this topic

1 Like

Yeah, you are right this is one of the most popular methods while developing or modding firmware. What I’m saying is that there are different methods and not all of them make sense for all hardware. Clipping hundreds of time a day, while you develop/debug coreboot or other Open Source Firmware can be really annoying and eventually can destroy something. coreboot developers in some situation repalce the chip with socket and make it swappable, what gives ability to hot swap, of course if you can leverage SPI controller. Some intresting notes can be found on old coreboot wiki

2 Likes

HEADS support would be so awesome!

2 Likes

Any idea whether the Fn key status in the EC? RWEverything doesn’t seem to show any useful changes, but I thought I’d ask the hive. =)

Just got my Framework and started messing around with it.

It does look like the EC is really something Chromium based, like claimed earlier in this thread by @nrp . The EC image can be found in the AP SPI flash at offset 0x01400000 and has size 512 KB. Running strings on it I see plenty of strings that indicate the firmware came from the chromium EC and is using the MEC1701 chip, and an ISL9241 charger. Curiously, the board is named “hx20” (perhaps this is an internal codename?) However, attempting to send cros_ec host commands over eSPI using ectool isn’t going anywhere, this interface appears to be neutered.

It would be great to see if Framework can mail their patches upstream to the Chromium gerrit. This way we can modify the EC to our heart’s content.

In terms of debugging, there’s two headers of curiosity: JSWDB and JECDB, both come unpopulated. I haven’t messed with them to see if I can get a UART or connect a J-link via SWD.

The AP firmware is just Insyde H20 BIOS. Coreboot porting time anyone?

4 Likes

Where would one find the required copyright information required by the use of the chrome EC codebase? It’s just the standard 3 clause BSD license, but that requires that the license and copyright be included with the distribution.

I’m not trying to lawyer or complain here, I’m just trying to make sure that everything is in compliance so that there isn’t a bigger problem later.

Maybe a list of opensource projects used along with their licenses could be an added page in the BIOS? If you open a chrome browser and go to chrome://credits/ you’ll see what I’m suggesting. This is automatically generated from the build, which is nice, but even a manually managed list would be good.

1 Like

@Martin_Roth The little “user manual” that came with my laptop says

Software Licenses
For information on software licenses for embedded firmware or included software in the product, check the software licenses page at the following link: https://frame.work/software-licenses

3 Likes

Is this topic the best place to track for updates to framework’s BIOS and privacy?

1 Like

There are threads dedicated to beta bios revisions

That would be a better thread I think

I’m on mobile so linking is hard but the search function should bring you straight to the relevant thread

2 Likes

Adding another user wanting support for Coreboot.

5 Likes

same here, currently the only thing that holds me from buying is boot guard enabled/locked cpu on board.

in my opinion frame.work don’t need to port coreboot to their laptops - just make version of the board which is unlocked - and opensource community will do the rest and port coreboot by themselves. there are alot of firmware hackers (like myself) who would certainly put some of my private time to make it happen.

6 Likes

Here’s another vote for more open firmware. I truly believe open source and transparency is the best way forward for humanity.

8 Likes

Adding another vote for open bios even though I would probably never flash it, I said the same thing about my phone before running CyanogenMod for a few years. Openness and hackability are things I appreciate.

5 Likes

I wonder if we could get an estimate on the ec source release timeline? I am dying to try out some esoteric keyboard layouts.

2 Likes