Project

General

Profile

Actions

Bug #436

closed

Berknip doesn't want to boot with the built image

Added by Balazs Vinarz about 2 years ago. Updated almost 2 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
-
Category:
-
Target version:
Start date:
11/01/2022
Due date:
% Done:

0%

Estimated time:
Affected versions:
Needs backport to:
Affected hardware:
Google Berknip (Zork)
Affected OS:
NA

Description

I was trying to flash the build 4.18 Coreboot image for my HP c645, as only RW_LEGACY image was available for this machine at MrChromebox.
Now the machine, heat's the CPU if I plug in the USB-C adapter or the battery, but shows no image at all.
I can manage to flash back the original image, I just wanted to highlight this.
Build logs are added as attachments.
I compared the CBFS regions side by side and it seems:

  • Google build only 1 microcode blob, while I have 3 and
  • the VBGFX.bin is missing at my build, however however the optionroms for the iGP is added.
apu/amdfw                      0x5aafc0   raw           13155 | apu/amdfw                      0x5aafc0   amdfw         12574
bootblock                      0x77afc0   bootblock       655 | build_info                     0x27e00    raw                
cbfs master header             0x0        cbfs header         | cbfs_master_header             0x0        cbfs header        
config                         0x2b840    raw               8 | config                         0x27940    raw               4
cpu_microcode_blob.bin         0xd5c0     microcode        96 | cpu_microcode_8180.bin         0x7a80     microcode        32
(empty)                        0x48280    null             33 | cpu_microcode_8181.bin         0x8740     microcode        32
(empty)                        0x52d3c0   null           5150 | cpu_microcode_8201.bin         0x9400     microcode        32
(empty)                        0x6ec300   null           5848 | (empty)                        0x6de000   null           7085
fallback/dsdt.aml              0x2bf00    raw             157 | (empty)                        0x81c00    null          54117
fallback/payload               0x511a00   simple elf     1129 | fallback/dsdt.aml              0x27ec0    raw             155
fallback/ramstage              0xfbc0     (unknown)      1136 | fallback/payload               0x6fac0    simple elf      718
fallback/romstage              0x80       (unknown)       545 | fallback/ramstage              0xa0c0     stage          1208
                                  > fallback/romstage              0x80       stage           310
FMAP REGION: COREBOOT                       FMAP REGION: COREBOOT
font.bin                       0x4e4a80   raw              50 | fspm.bin                       0x2bc00    fsp             996
fspm.bin                       0x2fcc0    fsp             994 | fsps.bin                       0x44180    fsp             697
fsps.bin                       0x48fc0    fsp             692 | header_pointer                 0x78afc0   cbfs header        
locale_ar.bin                  0x46dcc0   raw             789 <
locale_bg.bin                  0x157d40   raw            1109 <
locale_bn.bin                  0x1185c0   raw             981 <
locale_ca.bin                  0x1d9e40   raw             969 <
locale_cs.bin                  0x42c980   raw             954 <
locale_da.bin                  0x1f1980   raw             938 <
locale_de.bin                  0x9e1c0    raw            1121 <
locale_el.bin                  0xf95c0    raw            1269 <
locale_en.bin                  0x4fd040   raw             843 <
locale_es-419.bin              0x2b1200   raw            1058 <
locale_es.bin                  0x4145c0   raw             991 <
locale_et.bin                  0x269400   raw             858 <
locale_fa.bin                  0x4b0900   raw             787 <
locale_fi.bin                  0x2cb000   raw             902 <
locale_fil.bin                 0x1a8500   raw            1005 <
locale_fr.bin                  0x24ee40   raw            1078 <
locale_gu.bin                  0x3e8f40   raw             824 <
locale_he.bin                  0xd1340    raw             559 <
locale_hi.bin                  0x221780   raw             796 <
locale_hr.bin                  0x38a380   raw             970 <
locale_hu.bin                  0xdee00    raw            1084 <
locale_id.bin                  0x3a1f00   raw             924 <
locale_it.bin                  0x372a00   raw             965 <
locale_ja.bin                  0x297e40   raw            1032 <
locale_kn.bin                  0x33f1c0   raw            1190 <
locale_ko.bin                  0x443ec0   raw             646 <
locale_lt.bin                  0x3fd1c0   raw             951 <
locale_lv.bin                  0x4e5e40   raw             946 <
locale_ml.bin                  0x4c3d40   raw            1343 <
locale_mr.bin                  0x318700   raw             733 <
locale_ms.bin                  0x35c340   raw             917 <
locale_nb.bin                  0x747c0    raw             898 <
locale_nl.bin                  0x481140   raw             969 <
locale_pl.bin                  0x2e1100   raw            1092 <
locale_pt-BR.bin               0x3d0580   raw            1006 <
locale_pt-PT.bin               0x208840   raw            1021 <
locale_ro.bin                  0x498c40   raw             973 <
locale_ru.bin                  0x234f00   raw            1062 <
locales                        0x48180    raw               1 <
locale_sk.bin                  0x3b88c0   raw             974 <
locale_sl.bin                  0xb9840    raw             969 <
locale_sr.bin                  0x453bc0   raw            1066 <
locale_sv.bin                  0x172f40   raw             951 <
locale_ta.bin                  0x18a380   raw            1231 <
locale_te.bin                  0x27e3c0   raw            1049 <
locale_th.bin                  0x146d00   raw             695 <
locale_tr.bin                  0x302ec0   raw             880 <
locale_uk.bin                  0x1c0e40   raw            1023 <
locale_vi.bin                  0x130580   raw             919 <
locale_zh-CN.bin               0x8a700    raw             804 <
locale_zh-TW.bin               0x32a5c0   raw             849 <
Name                           Offset     Type           Size   Name                           Offset     Type           Size
pci1002,15d8,c1.rom            0x59ec0    optionrom       542 | payload_config                 0x81400    raw              16
pci1002,15dd,c4.rom            0x67340    optionrom       542 | payload_revision               0x81ac0    raw               2
revision                       0x2bc00    raw               6 | pci1002,15d8,c1.rom            0x55240    optionrom       542
vbgfx.bin                      0x2fbc00   raw             292 | pci1002,15dd,c4.rom            0x62680    optionrom       542
                                  > revision                       0x27b00    raw               7

Files

build_berknip_20221031.log (58.6 KB) build_berknip_20221031.log Balazs Vinarz, 11/01/2022 05:57 AM
google_berknip.conf (887 Bytes) google_berknip.conf factory image config Balazs Vinarz, 11/01/2022 02:16 PM
coreboot_berknip.conf (30.7 KB) coreboot_berknip.conf coreboot config Balazs Vinarz, 11/01/2022 02:18 PM
Actions #1

Updated by Balazs Vinarz about 2 years ago

I used the 4ed38e55a098024166f8cdbef24239bce453c2e5 commit as the version for amd_blobs repo.

Actions #2

Updated by Nico Huber about 2 years ago

Hi, just one quick question (I'm not an expert on AMD builds). Did you enable vboot in your build?

AIUI, the PSP binaries that come with the Chromebooks only boot if there is a verstage embedded. I'm not sure about the binaries in the blobs repo. There was a patch to build a psp-verstage without vboot, alas abandoned.

Updated by Balazs Vinarz about 2 years ago

Nico Huber wrote in #note-2:

Hi, just one quick question (I'm not an expert on AMD builds). Did you enable vboot in your build?

AIUI, the PSP binaries that come with the Chromebooks only boot if there is a verstage embedded. I'm not sure about the binaries in the blobs repo. There was a patch to build a psp-verstage without vboot, alas abandoned.

No, I tried to build the vanilla configuration for Berknip. That's pretty much the case for the version 4.17.
Couple of minutes ago I was looking at the configuration for the backup and there are some other configurations for this board, which the vanilla configuration doesn't have, like:
CONFIG_FRAMEBUFFER_VESA_MODE_USER=y
CONFIG_FRAMEBUFFER_VESA_MODE=0x1D4
The VBOOT was not enabled at all.
Unfortunately the flash chip can be burned if I remove it from the board.

Actions #4

Updated by Matt DeVillier about 2 years ago

here is the correct defconfig for berknip, boot tested w/4.18 tag

CONFIG_USE_AMD_BLOBS=y
CONFIG_VENDOR_GOOGLE=y
CONFIG_NO_POST=y
# CONFIG_CONSOLE_SERIAL is not set
CONFIG_VBOOT=y
CONFIG_BOARD_GOOGLE_BERKNIP=y
CONFIG_FRAMEBUFFER_SET_VESA_MODE=y
CONFIG_FRAMEBUFFER_VESA_MODE_USER=y
CONFIG_FRAMEBUFFER_VESA_MODE=0x1d4
# CONFIG_SMMSTORE is not set
CONFIG_PAYLOAD_EDK2=y
CONFIG_EDK2_BOOT_MANAGER_ESCAPE=y
CONFIG_EDK2_FOLLOW_BGRT_SPEC=y
# CONFIG_EDK2_FULL_SCREEN_SETUP is not set
CONFIG_EDK2_CUSTOM_BUILD_PARAMS=""

vboot is required, the PSP will not release x86 from reset without it.

Actions #5

Updated by Raul Rangel about 2 years ago

You can try pinging the following bug: https://issuetracker.google.com/issues/235109717

Actions #6

Updated by Balazs Vinarz about 2 years ago

Matt DeVillier wrote in #note-4:

here is the correct defconfig for berknip, boot tested w/4.18 tag

CONFIG_USE_AMD_BLOBS=y
CONFIG_VENDOR_GOOGLE=y
CONFIG_NO_POST=y
# CONFIG_CONSOLE_SERIAL is not set
CONFIG_VBOOT=y
CONFIG_BOARD_GOOGLE_BERKNIP=y
CONFIG_FRAMEBUFFER_SET_VESA_MODE=y
CONFIG_FRAMEBUFFER_VESA_MODE_USER=y
CONFIG_FRAMEBUFFER_VESA_MODE=0x1d4
# CONFIG_SMMSTORE is not set
CONFIG_PAYLOAD_EDK2=y
CONFIG_EDK2_BOOT_MANAGER_ESCAPE=y
CONFIG_EDK2_FOLLOW_BGRT_SPEC=y
# CONFIG_EDK2_FULL_SCREEN_SETUP is not set
CONFIG_EDK2_CUSTOM_BUILD_PARAMS=""

vboot is required, the PSP will not release x86 from reset without it.

Doesn't seem to work either, I assume some kind of restart noise from the coil whines and the fan get's rotated some spins at 10 seconds now.

Actions #7

Updated by Balazs Vinarz about 2 years ago

Balazs Vinarz wrote in #note-6:

Matt DeVillier wrote in #note-4:

here is the correct defconfig for berknip, boot tested w/4.18 tag

CONFIG_USE_AMD_BLOBS=y
CONFIG_VENDOR_GOOGLE=y
CONFIG_NO_POST=y
# CONFIG_CONSOLE_SERIAL is not set
CONFIG_VBOOT=y
CONFIG_BOARD_GOOGLE_BERKNIP=y
CONFIG_FRAMEBUFFER_SET_VESA_MODE=y
CONFIG_FRAMEBUFFER_VESA_MODE_USER=y
CONFIG_FRAMEBUFFER_VESA_MODE=0x1d4
# CONFIG_SMMSTORE is not set
CONFIG_PAYLOAD_EDK2=y
CONFIG_EDK2_BOOT_MANAGER_ESCAPE=y
CONFIG_EDK2_FOLLOW_BGRT_SPEC=y
# CONFIG_EDK2_FULL_SCREEN_SETUP is not set
CONFIG_EDK2_CUSTOM_BUILD_PARAMS=""

vboot is required, the PSP will not release x86 from reset without it.

Doesn't seem to work either, I assume some kind of restart noise from the coil whines and the fan get's rotated some spins at 10 seconds now.

I gave it another try, because I wasn't able to read back the content I wrote to the SPI chip previously.
So I restored the original factory firmware and updated the Coreboot image with flashrom's internal programmer.
So it's working not, there are some minor glitches like the amdgpu kernel driver doesn't want to work just like the acpi poweroff.
Can we update the default config for Berknip to contain the VBOOT?

Actions #8

Updated by Martin Roth almost 2 years ago

  • Status changed from New to Resolved

This is actually a much bigger question than just berknip. Many of the coreboot "default" configs are not bootable, either due to requiring binaries that are not redistributable.

I've added that question to the next coreboot leadership meeting.

Since the berknip board is working and the problem was a config issue, I'm marking this as resolved.

Actions

Also available in: Atom PDF