Skip to content

Fused platforms have unreadable regions, this needs to be included in documentation #1772

@wiktormowinski

Description

@wiktormowinski

Component

Dasharo documentation

Device

NovaCustom V54 14th Gen

Dasharo version

1.0.1

Dasharo Tools Suite version

2.7.4

Test case ID

DCU003.201

Brief summary

On fused platform, when trying to read the whole chip you will encounter an error, but to operations such as changing boot logo, we don't need to read a whole chip to add modifications. The documentation should get an update to suit well the new configuration (fused platforms)

How reproducible

100%

How to reproduce

try to read the whole chip results in a fail
falshrom -p internal -r DUMP.rom:

flashrom v1.2-1039-ga961af7a on Linux 6.6.21-yocto-standard (x86_64)
flashrom is free software, get the source code at https://flashrom.org

Using clock_gettime for delay loops (clk_id: 1, resolution: 1ns).
coreboot table found at 0x497fb000.
Found chipset "Intel Meteor Lake-P/M".
Enabling flash write... Warning: Setting BIOS Control at 0xdc from 0x8b to 0x89 failed.
New value is 0x8b.
SPI Configuration is locked down.
FREG0: Flash Descriptor region (0x00000000-0x00003fff) is read-only.
FREG1: BIOS region (0x01000000-0x01ffffff) is read-write.
FREG2: Management Engine region (0x00006000-0x0088cfff) is read-only.
FREG3: Gigabit Ethernet region (0x00004000-0x00005fff) is read-write.
Not all flash regions are freely accessible by flashrom. This is most likely
due to an active ME. Please see https://flashrom.org/ME for details.
At least some flash regions are write protected. For write operations,
you should use a flash layout and include only writable regions. See
manpage for more details.
OK.
Found Programmer flash chip "Opaque flash chip" (32768 kB, Programmer-specific) on internal.
Reading flash... Transaction error between offset 0x0088d000 and 0x0088d03f (= 0x0088d000 + 63)!
Read operation failed!
FAILED.

targeting only bios region solves this case:
falshrom -p internal --ifd -i bios -r DUMP.rom:

flashrom v1.2-1039-ga961af7a on Linux 6.6.21-yocto-standard (x86_64)
flashrom is free software, get the source code at https://flashrom.org

Using clock_gettime for delay loops (clk_id: 1, resolution: 1ns).
coreboot table found at 0x497fb000.
Found chipset "Intel Meteor Lake-P/M".
Enabling flash write... Warning: Setting BIOS Control at 0xdc from 0x8b to 0x89 failed.
New value is 0x8b.
SPI Configuration is locked down.
FREG0: Flash Descriptor region (0x00000000-0x00003fff) is read-only.
FREG1: BIOS region (0x01000000-0x01ffffff) is read-write.
FREG2: Management Engine region (0x00006000-0x0088cfff) is read-only.
FREG3: Gigabit Ethernet region (0x00004000-0x00005fff) is read-write.
Not all flash regions are freely accessible by flashrom. This is most likely
due to an active ME. Please see https://flashrom.org/ME for details.
At least some flash regions are write protected. For write operations,
you should use a flash layout and include only writable regions. See
manpage for more details.
OK.
Found Programmer flash chip "Opaque flash chip" (32768 kB, Programmer-specific) on internal.
Reading ich descriptor... done.
Using region: "bios".
Reading flash... done.

Expected behavior

updated documentation, maybe add warning here:https://docs.dasharo.com/guides/logo-customization/ or somewhere else where reading chip content of a fused laptop can happen

Actual behavior

there is no info about that so somebody might not read the correct region:

Image

Screenshots

No response

Additional context

No response

Solutions you've tried

correct order would be:

  1. (prepare for flashing: disabling locks and secure boot then boot DTS)
  2. flashrom -p internal --ifd -i bios -r DUMP.rom
  3. copy/download your desired logo onto your DTS
  4. dcu logo DUMP.rom -l logo.bmp
  5. flashrom -p internal --ifd -i bios -w DUMP.rom --noverify-all

after that, logo.bmp will be the new boot logo on a fused platform

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions