Add Google kano (Mr Chromebox) support#2133
Conversation
tlaurion
left a comment
There was a problem hiding this comment.
first review as I was there and saw work on this PR :)
|
I suggest you tart a thread under Matrix Heads channel. You must rebase the old PR on linuxboot/heads master, an dthen adapt coreboot config to your board. Following https://osresearch.net/Porting/ @cwiggs otherwise your experience might be really frustrating. |
Started a thread here: https://matrix.to/#/!eMLMv62wAMCW1V-ufL_bJ_JDngDhrpSOSEQBLzX8aTg/$eepAush4kVo93Zxqtw59P6NX9g6AG7FZFplc2Fu6tyo?via=matrix.org&via=tchncs.de&via=unredacted.org |
|
@cwiggs I saw you left the room? |
|
|
||
| # Since the TPM 2.0 implementation in the CR50 is not complete | ||
| # we are disabling TPM Disk Unlock | ||
| CONFIG_TPM_NO_LUKS_DISK_UNLOCK=y |
There was a problem hiding this comment.
that is not true anymore hypothetically; cr50 implementation should support this since #2055 was merged
Looks like the Matrix homeserver decided to delete my account for some reason, I'll look into getting it reactivated. |
|
@cwiggs check https://github.com/tlaurion/heads/tree/cwiggs-google_kano which now builds locally with blobs paths corrected and blobs submodules synced per mrchromebox gitsubmodules sync override in modules/coreboot |
Okay, great, should I rebase this branch off that one then? |
Absolutely. It builds from CI. I pushed progress forward since the last base (coreboot 4.22) was old and not trivial to adapt. Let me know how the testing goes. Feel free to cherry pick all commits or if you agree i can push the changes here but that would make us both co-authors of the port. CircleCI builds at https://app.circleci.com/pipelines/github/tlaurion/heads/4040/workflows/d7699b2f-feca-423f-b0f5-187ebf94e886 |
|
Thanks! I got it downloaded. The suzyq cable should arrive this weekend or Monday and I'll give it a try. I also rebased off your branch here. |
@cwiggs : This branch doesn't include all the needed changes, nor CircleCI config. I can push here too, if needed. Let me know. |
I just rebased off your branch, let me know if it looks good from that point of view. Looks like I also will need to rebase off main. As far as flashing goes: I got the Suzy-Q "cable" (It's really just a small board with a male and female usb-c, you then use your own usb-c cable). And I have some good news and some bad news (I think?). I was able to get the suzy-q cable to read the rom, but verifying the backup seems to fail. I've been using this mrchromebox guide to get the suzy-q device working with flashrom and then this heads wiki as well. Below are some notes I put together while I was attempting the flash: Use Suzy-Q cable for flashing
Questions:
Anyway I think next steps are to disconnect the battery and try these flashrom commands again. I don't want to proceed until the verify step works without error. |
|
Well I disconnected the battery and am getting the same response from flashrom. Should I just continue with flashing heads? Here are my notes:
* Use a smudger to take the back cover off.
* Disconnect battery cable.
|
Signed-off-by: Matthew Drobnak <matthew@drobnak.com> Signed-off-by: Thierry Laurion <insurgo@riseup.net>
Signed-off-by: Matthew Drobnak <matthew@drobnak.com> Signed-off-by: Thierry Laurion <insurgo@riseup.net>
Signed-off-by: Chris Wiggins <chris@cwiggs.com> Signed-off-by: Thierry Laurion <insurgo@riseup.net>
Signed-off-by: Thierry Laurion <insurgo@riseup.net>
…t/linux helpers to modify and save in oldconfig Signed-off-by: Thierry Laurion <insurgo@riseup.net>
…-musl-compat.patch: fix build error against musl Signed-off-by: Thierry Laurion <insurgo@riseup.net>
…place to put in defconfig to remove irrelevant omnigul things Signed-off-by: Thierry Laurion <insurgo@riseup.net>
Signed-off-by: Thierry Laurion <insurgo@riseup.net>
…onfig_in_place to put in oldconfig Signed-off-by: Thierry Laurion <insurgo@riseup.net>
The MrChromebox blobs repository nests IFD and ME blobs under baseboard/variant subdirectories and uses flashdescriptor.bin instead of descriptor.bin. Update CONFIG_IFD_BIN_PATH and CONFIG_ME_BIN_PATH to match the actual file locations. - Add CONFIG_BASEBOARD_DIR/CONFIG_VARIANT_DIR directory nesting - Rename descriptor.bin -> flashdescriptor.bin Signed-off-by: Thierry Laurion <insurgo@riseup.net>
The MrChromebox coreboot fork sets update=none in .gitmodules for 3rdparty/blobs, which causes git submodule update to skip populating the working tree. Coreboot's own Makefile.mk tries to init the submodule but update=none blocks it silently. Add a .blobs-init target for mrchromebox boards that overrides the local config and runs git reset --hard in the submodule to force the checkout. The commit is pinned by the coreboot fork's tree entry for 3rdparty/blobs. Signed-off-by: Thierry Laurion <insurgo@riseup.net>
Add kano as the first x86_coreboot seed for the MrChromebox coreboot fork (coreboot-mrchromebox). Future Chromebook boards using the same fork can be added as downstream build jobs. Update the seed list comment in the x86_coreboot job definition and document the new seed in doc/circleci.md. Closes #XXX Signed-off-by: Thierry Laurion <insurgo@riseup.net>
Backported from: patches/coreboot-25.09/0003-soc-intel-lockdown-Allow-locking-down-SPI-and-LPC-in.patch (gerrit 85278, adapted for MrChromebox 26.03) Config generated via: make BOARD=kano coreboot.save_in_oldconfig_format_in_place Board config: - CONFIG_IO386=y (for SMI-based PR0 lockdown before kexec) - CONFIG_FINALIZE_PLATFORM_LOCKING=y Coreboot config: - BOOTMEDIA_LOCK_NONE -> BOOTMEDIA_LOCK_CONTROLLER + WHOLE_RO - SOC_INTEL_COMMON_SPI_LOCKDOWN_SMM=y Signed-off-by: Thierry Laurion <insurgo@riseup.net>
Update with frequency counts from all config/coreboot-*.config_defconfig files. Add Chromebook defconfig section and Heads-common options section. Remove kano-specific references. Signed-off-by: Thierry Laurion <insurgo@riseup.net>
Replace Make variable references ($(MAINBOARDDIR), $(CONFIG_BASEBOARD_DIR), $(CONFIG_VARIANT_DIR)) with fixed paths to avoid shell expansion conflicts in validation scripts. Resolved paths: 3rdparty/blobs/mainboard/google/brya/brya/kano/flashdescriptor.bin 3rdparty/blobs/mainboard/google/brya/brya/kano/me.bin Signed-off-by: Thierry Laurion <insurgo@riseup.net>
- Expand CBFS from 0xBE0000 (12160 KiB) to 0x1000000 (16384 KiB) to utilize available IFD BIOS region space while respecting the Intel 16 MiB SPI decode window limit - Fix hex comparison bug in validate_cbfs_ifd_fit.sh that bypassed the 16 MiB cap (POSIX test doesn't handle 0x prefix) - Expand blob paths from Make variable references to real paths so validation scripts can resolve IFD_BIN_PATH Config regenerated via: make BOARD=kano coreboot.save_in_oldconfig_format_in_place make BOARD=kano coreboot.save_in_defconfig_format_backup Signed-off-by: Thierry Laurion <insurgo@riseup.net>
…omebox fork Signed-off-by: Thierry Laurion <insurgo@riseup.net>
…-musl-compat.patch: place include at same position as working coreboot-25.09 fix Signed-off-by: Thierry Laurion <insurgo@riseup.net>
Clone with full history so git describe --tags can find version tags for artifact filenames. Repair shallow clones with: git fetch --unshallow origin git fetch --tags origin Signed-off-by: Thierry Laurion <insurgo@riseup.net>
Signed-off-by: Chris Wiggins <chris@cwiggs.com>


No description provided.