-
-
Notifications
You must be signed in to change notification settings - Fork 196
Add support for Acer Chromebook 515 Plus (CB515-2H) / Google Omnigul Platform #1658
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
@mdrobnak nice!
We will move from there? You can also join matrix channel and ping me from there, while I prefer PR to be examples for boards porting. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for this contribution! now let's make this build! Put as draft this PR until ready to be tested by others and to prevent people from bricking their laptop until ready!
Ok I'll get this going shortly. |
@mdrobnak please merge master in this branch and keep this PR updated with the most verbose trail of what your state is, others might chime in and make your progress less lonely :) |
a291bcf
to
0edf836
Compare
CONFIG_TPM_GOOGLE=y | ||
CONFIG_TPM_GOOGLE_CR50=y | ||
CONFIG_TPM_GOOGLE_IMMEDIATELY_COMMIT_FW_SECDATA=y | ||
CONFIG_GOOGLE_TPM_IRQ_TIMEOUT_MS=100 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Might be too small. Is there timeouts in dmesg?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not that I've seen. I can try modifying that.
Disk Unlock:
Attaching debug.log as that's larger. |
As written under matrix thread for this updated PR at https://matrix.to/#/!pAlHOfxQNPXOgFGTmo:matrix.org/$VKP1ynETRMavsOqy3SqUf_nadPUgyoSC9H_13y8Dpjo?via=matrix.org&via=nitro.chat&via=fairydust.space The white rabbit to be followed is why CR50 TPM refuses to to add TPM DUK nv region into TPM which doesn't seem supported on CR50 not sure why:
|
Attached are two files: debug_after_reboot_attempt_duk_seal.log Tlaurion edit: fail/success notes in parenthesis |
TLDR: Chromebooks have a fTPM which differs from dTPM (documentation and understanding is missing to be supported correctly from the TPM toolstack), correct @mdrobnak ? Putting this as draft until this is worked seperately. |
@mdrobnak revisiting because interest at https://matrix.to/#/!pAlHOfxQNPXOgFGTmo:matrix.org/$E4N2td-clfQq3IP4F4v_04oSLABpj-Kcm5rNVvDgi30?via=matrix.org&via=nitro.chat&via=envs.net Not all boards support TPM DUK, and can today be deactivated as a possibility through heads/initrd/bin/kexec-save-default Line 190 in b28c257
Until TPM DUK (seperate secret sealing nvram region issue figured out), Chromebooks could be supported with this bfeature missing? Thoughts? |
I think that makes perfect sense to do this. I am updating my PR as I just rebased it off master a few minutes ago, and it seems fine at first glance. -Matt |
aad0461
to
7388cab
Compare
@mdrobnak sorry for the delay. If you could rebase this on master, I think that could be reviewed and merged! |
@mdrobnak ping |
@tlaurion Sorry, meant to respond earlier. It's been a bit hectic here - I have it on my To-Do list for this week. |
Board configuration from: nitropad-nv41. Linux configuration from: linux-nitropad-x.config Coreboot configuration from: MrChromeBox EDK2 configuration for omnigul. Signed-off-by: Matthew Drobnak <[email protected]>
Signed-off-by: Matthew Drobnak <[email protected]>
Signed-off-by: Matthew Drobnak <[email protected]>
Signed-off-by: Matthew Drobnak <[email protected]>
Signed-off-by: Matthew Drobnak <[email protected]>
I rebased the bracnh, haven't tested a new flash yet. Should be able to do that tomorrow at some point. |
Use MrChromeBox Coreboot and Linux 6.6.30. Add CircleCI Board config. Signed-off-by: Matthew Drobnak <[email protected]>
Pushed changes in branch https://github.com/tlaurion/heads/tree/mdrobnak-google_omnigul revert linux to 6.1.8, bump mrchromebox to 24.02, add patches of 24.02.01, uniformize board config, add PR0 requirements (to be tested) @mdrobnak cherry-pick, amend merge after testing. |
Initial test build met with error, I haven't gotten back to it yet.
-Matt |
Input for linuxboot#1658 (Sorry but bitrot is a thing. 24.12 is 2024/12 coreboot, which is already old. Nobody supports old versions of things. So if things break, this needs to be at least reported on a recent branch upstream, where here, upstream is MrChromebox coreboot fork) make -C "/home/user/heads/build/x86/coreboot-mrchromebox/omnigul" -C /home/user/heads/build/x86/coreboot-mrchromebox obj=/home/user/heads/build/x86/coreboot-mrchromebox/omnigul DOTCONFIG=/home/user/heads/build/x86/coreboot-mrchromebox/omnigul/.config XGCCPATH=/home/user/heads/build/x86/coreboot-24.02.01/util/crossgcc/xgcc/bin/ BUILD_TIMELESS=1 -j1 --load-average=1 make[1]: Entering directory '/home/user/heads/build/x86/coreboot-mrchromebox' Updating git submodules. Skipping submodule '3rdparty/amd_blobs' Skipping submodule '3rdparty/blobs' Skipping submodule '3rdparty/cmocka' Skipping submodule '3rdparty/fsp' Skipping submodule '3rdparty/intel-microcode' Skipping submodule '3rdparty/qc_blobs' fatal: remote error: upload-pack: not our ref 7fd3d98a73e64f628c730e079769f0737e00ebc3 fatal: Fetched in submodule path '3rdparty/vboot', but it did not contain 7fd3d98a73e64f628c730e079769f0737e00ebc3. Direct fetching of that commit failed. Then make in debug 'reset && ./docker_repro.sh make -d BOARD=omnigul V=1 CPUS=1' excerpt: [...] FIRMWARE_ARCH=x86 CC="/home/user/heads/build/x86/coreboot-24.02.01/util/crossgcc/xgcc/bin/i386-elf-gcc" CFLAGS="-I/home/user/heads/build/x86/coreboot-mrchromebox/src -I/home/user/heads/build/x86/coreboot-mrchromebox/src/include -I/home/user/heads/build/x86/coreboot-mrchromebox/src/commonlib/include -I/home/user/heads/build/x86/coreboot-mrchromebox/src/commonlib/bsd/include -I/home/user/heads/build/x86/coreboot-mrchromebox/3rdparty/vboot/firmware/include -include /home/user/heads/build/x86/coreboot-mrchromebox/src/include/kconfig.h -include /home/user/heads/build/x86/coreboot-mrchromebox/src/include/rules.h -include /home/user/heads/build/x86/coreboot-mrchromebox/src/commonlib/bsd/include/commonlib/bsd/compiler.h -I/home/user/heads/build/x86/coreboot-mrchromebox/3rdparty -D__BUILD_DIR__=\"omnigul\" -D__TIMELESS__ -I/home/user/heads/build/x86/coreboot-mrchromebox/src/soc/intel/alderlake -I/home/user/heads/build/x86/coreboot-mrchromebox/src/soc/intel/alderlake/include -I/home/user/heads/build/x86/coreboot-mrchromebox/src/drivers/intel/fsp2_0/include -I/home/user/heads/build/x86/coreboot-mrchromebox/"3rdparty/fsp/RaptorLakeFspBinPkg/Client/RaptorLakeP/Include/" -I/home/user/heads/build/x86/coreboot-mrchromebox/src/mainboard/google/brya/variants/baseboard/include -I/home/user/heads/build/x86/coreboot-mrchromebox/src/mainboard/google/brya/variants/baseboard/brya/include -I/home/user/heads/build/x86/coreboot-mrchromebox/src/mainboard/google/brya/variants/omnigul/include -I/home/user/heads/build/x86/coreboot-mrchromebox/src/soc/intel/common/basecode/include/ -I/home/user/heads/build/x86/coreboot-mrchromebox/src/soc/intel/common/block/include/ -I/home/user/heads/build/x86/coreboot-mrchromebox/src/soc/intel/common/pch/include/ -I/home/user/heads/build/x86/coreboot-mrchromebox/src/vendorcode/intel/edk2/edk2-stable202005/MdePkg/Include -I/home/user/heads/build/x86/coreboot-mrchromebox/src/vendorcode/intel/edk2/edk2-stable202005/IntelFsp2Pkg/Include -I/home/user/heads/build/x86/coreboot-mrchromebox/src/vendorcode/intel/edk2/edk2-stable202005/MdeModulePkg/Include -I/home/user/heads/build/x86/coreboot-mrchromebox/src/soc/intel/common/block/fast_spi -I/home/user/heads/build/x86/coreboot-mrchromebox/src/arch/x86/include -I/home/user/heads/build/x86/coreboot-mrchromebox/src/vendorcode/intel/edk2/edk2-stable202005/MdePkg/Include/Ia32 -D__ARCH_x86_32__ -pipe -g -nostdinc -std=gnu11 -nostdlib -Wall -Wundef -Wstrict-prototypes -Wmissing-prototypes -Wwrite-strings -Wredundant-decls -Wno-trigraphs -Wimplicit-fallthrough -Wshadow -Wdate-time -Wtype-limits -Wvla -Wold-style-definition -Wdangling-else -Wmissing-include-dirs -fno-common -ffreestanding -fno-builtin -fomit-frame-pointer -fstrict-aliasing -ffunction-sections -fdata-sections -fno-pie -Wold-style-declaration -Wno-packed-not-aligned -fconserve-stack -Wnull-dereference -Wlogical-op -Wduplicated-cond -Wno-array-compare -Werror -Os -Wno-address-of-packed-member --param=min-pagesize=1024 -m32 -fuse-ld=bfd -fno-stack-protector -Wl,--build-id=none -fno-delete-null-pointer-checks -Wlogical-op -march=i686 -mno-mmx -mno-sse -D__ROMSTAGE__ -I/home/user/heads/build/x86/coreboot-mrchromebox/omnigul -Wno-missing-prototypes -DVBOOT_DEBUG" VBOOT2="y" EC_EFS="" X86_SHA_EXT="" VB2_X86_RSA_ACCELERATION="" ARMV8_CRYPTO_EXT="" make -C 3rdparty/vboot BUILD=/home/user/heads/build/x86/coreboot-mrchromebox/omnigul/external/vboot_reference-romstage V=1 USE_FLASHROM=0 fwlib Live child 0x18606460 (omnigul/external/vboot_reference-romstage/vboot_fw.a) PID 2751 GNU Make 4.4.1 Built for x86_64-pc-linux-gnu Copyright (C) 1988-2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Reading makefiles... Updating makefiles.... Considering target file 'GNUmakefile'. File 'GNUmakefile' does not exist. Looking for an implicit rule for 'GNUmakefile'. No implicit rule found for 'GNUmakefile'. Finished prerequisites of target file 'GNUmakefile'. Must remake target 'GNUmakefile'. Failed to remake target file 'GNUmakefile'. Considering target file 'makefile'. File 'makefile' does not exist. Looking for an implicit rule for 'makefile'. No implicit rule found for 'makefile'. Finished prerequisites of target file 'makefile'. Must remake target 'makefile'. Failed to remake target file 'makefile'. Considering target file 'Makefile'. File 'Makefile' does not exist. Looking for an implicit rule for 'Makefile'. No implicit rule found for 'Makefile'. Finished prerequisites of target file 'Makefile'. Must remake target 'Makefile'. Failed to remake target file 'Makefile'. Updating goal targets.... Considering target file 'fwlib'. File 'fwlib' does not exist. Looking for an implicit rule for 'fwlib'. No implicit rule found for 'fwlib'. Finished prerequisites of target file 'fwlib'. Must remake target 'fwlib'. make[2]: *** No rule to make target 'fwlib'. Stop. Reaping losing child 0x18606460 PID 2751 make[1]: *** [src/security/vboot/Makefile.mk:52: omnigul/external/vboot_reference-romstage/vboot_fw.a] Error 2 Seems like something is wrong with mrchromebox + 24.02.04/24.12. Reporting to MrChromebox would help Signed-off-by: Thierry Laurion <[email protected]>
Input for linuxboot#1658 (Sorry but bitrot is a thing. 24.12 is 2024/12 coreboot, which is already old. Nobody supports old versions of things. So if things break, this needs to be at least reported on a recent branch upstream, where here, upstream is MrChromebox coreboot fork) make -C "/home/user/heads/build/x86/coreboot-mrchromebox/omnigul" -C /home/user/heads/build/x86/coreboot-mrchromebox obj=/home/user/heads/build/x86/coreboot-mrchromebox/omnigul DOTCONFIG=/home/user/heads/build/x86/coreboot-mrchromebox/omnigul/.config XGCCPATH=/home/user/heads/build/x86/coreboot-24.02.01/util/crossgcc/xgcc/bin/ BUILD_TIMELESS=1 -j1 --load-average=1 make[1]: Entering directory '/home/user/heads/build/x86/coreboot-mrchromebox' Updating git submodules. Skipping submodule '3rdparty/amd_blobs' Skipping submodule '3rdparty/blobs' Skipping submodule '3rdparty/cmocka' Skipping submodule '3rdparty/fsp' Skipping submodule '3rdparty/intel-microcode' Skipping submodule '3rdparty/qc_blobs' fatal: remote error: upload-pack: not our ref 7fd3d98a73e64f628c730e079769f0737e00ebc3 fatal: Fetched in submodule path '3rdparty/vboot', but it did not contain 7fd3d98a73e64f628c730e079769f0737e00ebc3. Direct fetching of that commit failed. Then make in debug 'reset && ./docker_repro.sh make -d BOARD=omnigul V=1 CPUS=1' excerpt: [...] FIRMWARE_ARCH=x86 CC="/home/user/heads/build/x86/coreboot-24.02.01/util/crossgcc/xgcc/bin/i386-elf-gcc" CFLAGS="-I/home/user/heads/build/x86/coreboot-mrchromebox/src -I/home/user/heads/build/x86/coreboot-mrchromebox/src/include -I/home/user/heads/build/x86/coreboot-mrchromebox/src/commonlib/include -I/home/user/heads/build/x86/coreboot-mrchromebox/src/commonlib/bsd/include -I/home/user/heads/build/x86/coreboot-mrchromebox/3rdparty/vboot/firmware/include -include /home/user/heads/build/x86/coreboot-mrchromebox/src/include/kconfig.h -include /home/user/heads/build/x86/coreboot-mrchromebox/src/include/rules.h -include /home/user/heads/build/x86/coreboot-mrchromebox/src/commonlib/bsd/include/commonlib/bsd/compiler.h -I/home/user/heads/build/x86/coreboot-mrchromebox/3rdparty -D__BUILD_DIR__=\"omnigul\" -D__TIMELESS__ -I/home/user/heads/build/x86/coreboot-mrchromebox/src/soc/intel/alderlake -I/home/user/heads/build/x86/coreboot-mrchromebox/src/soc/intel/alderlake/include -I/home/user/heads/build/x86/coreboot-mrchromebox/src/drivers/intel/fsp2_0/include -I/home/user/heads/build/x86/coreboot-mrchromebox/"3rdparty/fsp/RaptorLakeFspBinPkg/Client/RaptorLakeP/Include/" -I/home/user/heads/build/x86/coreboot-mrchromebox/src/mainboard/google/brya/variants/baseboard/include -I/home/user/heads/build/x86/coreboot-mrchromebox/src/mainboard/google/brya/variants/baseboard/brya/include -I/home/user/heads/build/x86/coreboot-mrchromebox/src/mainboard/google/brya/variants/omnigul/include -I/home/user/heads/build/x86/coreboot-mrchromebox/src/soc/intel/common/basecode/include/ -I/home/user/heads/build/x86/coreboot-mrchromebox/src/soc/intel/common/block/include/ -I/home/user/heads/build/x86/coreboot-mrchromebox/src/soc/intel/common/pch/include/ -I/home/user/heads/build/x86/coreboot-mrchromebox/src/vendorcode/intel/edk2/edk2-stable202005/MdePkg/Include -I/home/user/heads/build/x86/coreboot-mrchromebox/src/vendorcode/intel/edk2/edk2-stable202005/IntelFsp2Pkg/Include -I/home/user/heads/build/x86/coreboot-mrchromebox/src/vendorcode/intel/edk2/edk2-stable202005/MdeModulePkg/Include -I/home/user/heads/build/x86/coreboot-mrchromebox/src/soc/intel/common/block/fast_spi -I/home/user/heads/build/x86/coreboot-mrchromebox/src/arch/x86/include -I/home/user/heads/build/x86/coreboot-mrchromebox/src/vendorcode/intel/edk2/edk2-stable202005/MdePkg/Include/Ia32 -D__ARCH_x86_32__ -pipe -g -nostdinc -std=gnu11 -nostdlib -Wall -Wundef -Wstrict-prototypes -Wmissing-prototypes -Wwrite-strings -Wredundant-decls -Wno-trigraphs -Wimplicit-fallthrough -Wshadow -Wdate-time -Wtype-limits -Wvla -Wold-style-definition -Wdangling-else -Wmissing-include-dirs -fno-common -ffreestanding -fno-builtin -fomit-frame-pointer -fstrict-aliasing -ffunction-sections -fdata-sections -fno-pie -Wold-style-declaration -Wno-packed-not-aligned -fconserve-stack -Wnull-dereference -Wlogical-op -Wduplicated-cond -Wno-array-compare -Werror -Os -Wno-address-of-packed-member --param=min-pagesize=1024 -m32 -fuse-ld=bfd -fno-stack-protector -Wl,--build-id=none -fno-delete-null-pointer-checks -Wlogical-op -march=i686 -mno-mmx -mno-sse -D__ROMSTAGE__ -I/home/user/heads/build/x86/coreboot-mrchromebox/omnigul -Wno-missing-prototypes -DVBOOT_DEBUG" VBOOT2="y" EC_EFS="" X86_SHA_EXT="" VB2_X86_RSA_ACCELERATION="" ARMV8_CRYPTO_EXT="" make -C 3rdparty/vboot BUILD=/home/user/heads/build/x86/coreboot-mrchromebox/omnigul/external/vboot_reference-romstage V=1 USE_FLASHROM=0 fwlib Live child 0x18606460 (omnigul/external/vboot_reference-romstage/vboot_fw.a) PID 2751 GNU Make 4.4.1 Built for x86_64-pc-linux-gnu Copyright (C) 1988-2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Reading makefiles... Updating makefiles.... Considering target file 'GNUmakefile'. File 'GNUmakefile' does not exist. Looking for an implicit rule for 'GNUmakefile'. No implicit rule found for 'GNUmakefile'. Finished prerequisites of target file 'GNUmakefile'. Must remake target 'GNUmakefile'. Failed to remake target file 'GNUmakefile'. Considering target file 'makefile'. File 'makefile' does not exist. Looking for an implicit rule for 'makefile'. No implicit rule found for 'makefile'. Finished prerequisites of target file 'makefile'. Must remake target 'makefile'. Failed to remake target file 'makefile'. Considering target file 'Makefile'. File 'Makefile' does not exist. Looking for an implicit rule for 'Makefile'. No implicit rule found for 'Makefile'. Finished prerequisites of target file 'Makefile'. Must remake target 'Makefile'. Failed to remake target file 'Makefile'. Updating goal targets.... Considering target file 'fwlib'. File 'fwlib' does not exist. Looking for an implicit rule for 'fwlib'. No implicit rule found for 'fwlib'. Finished prerequisites of target file 'fwlib'. Must remake target 'fwlib'. make[2]: *** No rule to make target 'fwlib'. Stop. Reaping losing child 0x18606460 PID 2751 make[1]: *** [src/security/vboot/Makefile.mk:52: omnigul/external/vboot_reference-romstage/vboot_fw.a] Error 2 Seems like something is wrong with mrchromebox + 24.02.04/24.12. Reporting to MrChromebox would help Signed-off-by: Thierry Laurion <[email protected]>
Input for linuxboot#1658 (Sorry but bitrot is a thing. 24.12 is 2024/12 coreboot, which is already old. Nobody supports old versions of things. So if things break, this needs to be at least reported on a recent branch upstream, where here, upstream is MrChromebox coreboot fork) make -C "/home/user/heads/build/x86/coreboot-mrchromebox/omnigul" -C /home/user/heads/build/x86/coreboot-mrchromebox obj=/home/user/heads/build/x86/coreboot-mrchromebox/omnigul DOTCONFIG=/home/user/heads/build/x86/coreboot-mrchromebox/omnigul/.config XGCCPATH=/home/user/heads/build/x86/coreboot-24.02.01/util/crossgcc/xgcc/bin/ BUILD_TIMELESS=1 -j1 --load-average=1 make[1]: Entering directory '/home/user/heads/build/x86/coreboot-mrchromebox' Updating git submodules. Skipping submodule '3rdparty/amd_blobs' Skipping submodule '3rdparty/blobs' Skipping submodule '3rdparty/cmocka' Skipping submodule '3rdparty/fsp' Skipping submodule '3rdparty/intel-microcode' Skipping submodule '3rdparty/qc_blobs' fatal: remote error: upload-pack: not our ref 7fd3d98a73e64f628c730e079769f0737e00ebc3 fatal: Fetched in submodule path '3rdparty/vboot', but it did not contain 7fd3d98a73e64f628c730e079769f0737e00ebc3. Direct fetching of that commit failed. Then make in debug 'reset && ./docker_repro.sh make -d BOARD=omnigul V=1 CPUS=1' excerpt: [...] FIRMWARE_ARCH=x86 CC="/home/user/heads/build/x86/coreboot-24.02.01/util/crossgcc/xgcc/bin/i386-elf-gcc" CFLAGS="-I/home/user/heads/build/x86/coreboot-mrchromebox/src -I/home/user/heads/build/x86/coreboot-mrchromebox/src/include -I/home/user/heads/build/x86/coreboot-mrchromebox/src/commonlib/include -I/home/user/heads/build/x86/coreboot-mrchromebox/src/commonlib/bsd/include -I/home/user/heads/build/x86/coreboot-mrchromebox/3rdparty/vboot/firmware/include -include /home/user/heads/build/x86/coreboot-mrchromebox/src/include/kconfig.h -include /home/user/heads/build/x86/coreboot-mrchromebox/src/include/rules.h -include /home/user/heads/build/x86/coreboot-mrchromebox/src/commonlib/bsd/include/commonlib/bsd/compiler.h -I/home/user/heads/build/x86/coreboot-mrchromebox/3rdparty -D__BUILD_DIR__=\"omnigul\" -D__TIMELESS__ -I/home/user/heads/build/x86/coreboot-mrchromebox/src/soc/intel/alderlake -I/home/user/heads/build/x86/coreboot-mrchromebox/src/soc/intel/alderlake/include -I/home/user/heads/build/x86/coreboot-mrchromebox/src/drivers/intel/fsp2_0/include -I/home/user/heads/build/x86/coreboot-mrchromebox/"3rdparty/fsp/RaptorLakeFspBinPkg/Client/RaptorLakeP/Include/" -I/home/user/heads/build/x86/coreboot-mrchromebox/src/mainboard/google/brya/variants/baseboard/include -I/home/user/heads/build/x86/coreboot-mrchromebox/src/mainboard/google/brya/variants/baseboard/brya/include -I/home/user/heads/build/x86/coreboot-mrchromebox/src/mainboard/google/brya/variants/omnigul/include -I/home/user/heads/build/x86/coreboot-mrchromebox/src/soc/intel/common/basecode/include/ -I/home/user/heads/build/x86/coreboot-mrchromebox/src/soc/intel/common/block/include/ -I/home/user/heads/build/x86/coreboot-mrchromebox/src/soc/intel/common/pch/include/ -I/home/user/heads/build/x86/coreboot-mrchromebox/src/vendorcode/intel/edk2/edk2-stable202005/MdePkg/Include -I/home/user/heads/build/x86/coreboot-mrchromebox/src/vendorcode/intel/edk2/edk2-stable202005/IntelFsp2Pkg/Include -I/home/user/heads/build/x86/coreboot-mrchromebox/src/vendorcode/intel/edk2/edk2-stable202005/MdeModulePkg/Include -I/home/user/heads/build/x86/coreboot-mrchromebox/src/soc/intel/common/block/fast_spi -I/home/user/heads/build/x86/coreboot-mrchromebox/src/arch/x86/include -I/home/user/heads/build/x86/coreboot-mrchromebox/src/vendorcode/intel/edk2/edk2-stable202005/MdePkg/Include/Ia32 -D__ARCH_x86_32__ -pipe -g -nostdinc -std=gnu11 -nostdlib -Wall -Wundef -Wstrict-prototypes -Wmissing-prototypes -Wwrite-strings -Wredundant-decls -Wno-trigraphs -Wimplicit-fallthrough -Wshadow -Wdate-time -Wtype-limits -Wvla -Wold-style-definition -Wdangling-else -Wmissing-include-dirs -fno-common -ffreestanding -fno-builtin -fomit-frame-pointer -fstrict-aliasing -ffunction-sections -fdata-sections -fno-pie -Wold-style-declaration -Wno-packed-not-aligned -fconserve-stack -Wnull-dereference -Wlogical-op -Wduplicated-cond -Wno-array-compare -Werror -Os -Wno-address-of-packed-member --param=min-pagesize=1024 -m32 -fuse-ld=bfd -fno-stack-protector -Wl,--build-id=none -fno-delete-null-pointer-checks -Wlogical-op -march=i686 -mno-mmx -mno-sse -D__ROMSTAGE__ -I/home/user/heads/build/x86/coreboot-mrchromebox/omnigul -Wno-missing-prototypes -DVBOOT_DEBUG" VBOOT2="y" EC_EFS="" X86_SHA_EXT="" VB2_X86_RSA_ACCELERATION="" ARMV8_CRYPTO_EXT="" make -C 3rdparty/vboot BUILD=/home/user/heads/build/x86/coreboot-mrchromebox/omnigul/external/vboot_reference-romstage V=1 USE_FLASHROM=0 fwlib Live child 0x18606460 (omnigul/external/vboot_reference-romstage/vboot_fw.a) PID 2751 GNU Make 4.4.1 Built for x86_64-pc-linux-gnu Copyright (C) 1988-2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Reading makefiles... Updating makefiles.... Considering target file 'GNUmakefile'. File 'GNUmakefile' does not exist. Looking for an implicit rule for 'GNUmakefile'. No implicit rule found for 'GNUmakefile'. Finished prerequisites of target file 'GNUmakefile'. Must remake target 'GNUmakefile'. Failed to remake target file 'GNUmakefile'. Considering target file 'makefile'. File 'makefile' does not exist. Looking for an implicit rule for 'makefile'. No implicit rule found for 'makefile'. Finished prerequisites of target file 'makefile'. Must remake target 'makefile'. Failed to remake target file 'makefile'. Considering target file 'Makefile'. File 'Makefile' does not exist. Looking for an implicit rule for 'Makefile'. No implicit rule found for 'Makefile'. Finished prerequisites of target file 'Makefile'. Must remake target 'Makefile'. Failed to remake target file 'Makefile'. Updating goal targets.... Considering target file 'fwlib'. File 'fwlib' does not exist. Looking for an implicit rule for 'fwlib'. No implicit rule found for 'fwlib'. Finished prerequisites of target file 'fwlib'. Must remake target 'fwlib'. make[2]: *** No rule to make target 'fwlib'. Stop. Reaping losing child 0x18606460 PID 2751 make[1]: *** [src/security/vboot/Makefile.mk:52: omnigul/external/vboot_reference-romstage/vboot_fw.a] Error 2 Seems like something is wrong with mrchromebox + 24.02.04/24.12. Reporting to MrChromebox would help Signed-off-by: Thierry Laurion <[email protected]>
…hes, cp Pr0 patch from 24.12, save coreboot config Input for linuxboot#1658 Repro: echo "bogus" | sudo tee build/x86/coreboot-mrchromebox/.canary #make sure coreboot witches to proper fork+commit+applies patch ./docker_repro.sh make BOARD=omnigul #Builds 24.12 shared crossgcc buildstack + clone + patch + builds with previous coreboot config ./docker_repro.sh make BOARD=omnigul coreboot.modify_defconfig_in_place # review defconfig: remove things deviating on default on which we are unsure ./docker_repro.sh make BOARD=omnigul coreboot.modify_and_save_oldconfig_in_place # review changes. ./docker_repro.sh make BOARD=omnigul # check if builds Builds locally. Todo: - review changes of config - easy to do with './docker_repro.sh make BOARD=omnigul coreboot.modify_defconfig_in_place' which shows deviation from boards defaults. Signed-off-by: Thierry Laurion <[email protected]>
Sorry about bitrotting things once more. T480 and all other board bumped to coreboot 24.12, so I did so and left commit log notes for you to review under tlaurion@c03aeaf which should build (it built locally).
So if we act somehow fast here (not another 6 months) maintaining this board once merged should be easy enough. Please see testing notes under pending for merge doc per linuxboot/heads-wiki#184
Extract here for testing TODOs:
CC @mdrobnak |
(As for reason of why vboot failed: it was because the commit searched by coreboot fork used commit to be used for vboot submodule didn't exist. Cannot report bug for old version, but modules/coreboot 24.12, reusing 24.12 buildstack for all most Heads used boards upstream were bumped to 24.12 under #1908 so I invested time moving this forward instead of reporting bug for 24.02.01 which is now more than year old (Coreboot release versioning scheme changed to YY.MM: 24.02 is Feb 2024, 24.12 is December 24.12: most downstream coreboot forks used into Heads are either under 24.12 or will be soon, so it was logical for me to do this instead of fixing what doen't work in downstream forks, patching etc). Sorry again for PR bitrotting side effects. We shouldbe good to merge soon if all is good on your side testing wise @mdrobnak |
Good news is that initial testing with your updated items does seem to work just fine. I'm hoping to get things cleaned up and run through yout test checklist next week. |
These are the only options when going through Coreboot that caught my eye, not sure if they are as desired:
Aside from the version string...that's really the only thing I changed. As far as that testing guide...I'll re-do the stuff that doesn't require me to takt this thing aapart and re-instrall stuff... I have tested those items in the past and they did work as expected.. -Matt |
Will reverify the configs against other boards when I have a chance. Cannot merge if untested. Cannot test if unsure of configs. Not fresh in my mind anymore, will try to find time to check in the next days. |
I will leave my branch on my fork up, but at this point I do not have the resources to dedicate to this. It was slightly over a year ago I opened this PR. I appreciate all that has been done on this project, but to me this exercise felt like a constantly changing target. I wish you success with the project. At this time, I'm closing this PR. |
@mdrobnak if I do a superseeding PR with changes needed, is there a date forward you would be willing to test Circleci rom with readiness to revert to backup in chance of a brick or are we willing to leave this work go to waste? Sorry for the feeling of this being a moving target. I'll try to find time to update the porting guide with timely testing requirements for pull requests to not bitrot otherwise yes, this is a moving target until I can version bump merged stuff all at once across all boards. If there is no interest in testing this in a timely manner it's OK as well, I'll make sure there is common understanding in the porting guide as well. |
I tested the initial flash procedures the last time around. I am not reverting the box back to ChromeOS and doing all of this again. I will not re-test that. That is not a small time investment. Sorry. The main reason for the time delay was the lack of doing disk unlock with the CR50. Had we said "this is OK without this" we would have been done significantly sooner, and we would not be in this spot. Again, I like the project, I wish you the best, but I'm out. -Matt |
Implementation of Issue #1663.
This is implemented using the @MrChromebox Coreboot. Linux 6.1.90, Linux 6.5.13, 6.6.30 all work to recognize the UFS storage. This PR uses 6.6.30.
Version 4.22.01 of Coreboot does not have the Intel ME, VBT, or Flash Descriptor, thus MrChromeBox is used.
Items tested:
Issues:
Configuration Sources:
Linux Configuration based on linux-nitropad-x.config
Coreboot Configuration based on MrChromeBox UEFI configuration. Modified to have Linux payload as per the wiki's instructions.