I tried to trace the code to understand what is happening. I will post it in case it is useful, or maybe someone is reading this and has an idea.
The `--fmap` option that you have on the command line tells flashrom to find fmap on the flash, and construct layout from it. fmap is like a map, it contains info and addresses of layout regions. Which is needed, because you are asking to process a region with the name COREBOOT (`-i COREBOOT`), so we need a map to get the address of the COREBOOT region. Without a map, we don't know where the region is. I don't know why fmap is not found on the flash. Especially since I understand you have an image which is on the device that has been working for years (not just some random image). You technically could read the image and look at whether it has fmap - but that's what flashrom is doing anyway. There is another command line option `--fmap-file` where you can provide a file which contains fmap (with address of COREBOOT region). Also possibly, if you can get a whole valid image, you could write the whole image without needing fmap. But I don't know if any of these options are realistic for you. And making a mistake, for example writing a wrong image can brick the device. On Thu, Sep 25, 2025 at 8:34 AM Victor Camacho <[email protected]> wrote: > > Hi Anastasia, > > I looked at the information in: > > https://flashrom.org/release_notes/devel.html#known-issues > > I do not believe that I have a larger than 16MB BIOS flash. > Below is the output from lshw which shows 8MB BIOS. > I did see that the AMD GX-412TC SOC does integrate the Fusion Controller Hub. > > I did run the flashrom command with the -vv and -vvv options, output where > the failure is below. > > If anything is relevant to fixing the issue let me know. > Otherwise, I am willing to close this issue unless you have a reason to keep > it open. > These computers are end of life and I will use them for as long as they last. > My goal was to just get them to the last BIOS update I could find. > > Thank you again for your assistance, > Victor > > > > > ======== -VV ======================== > > read_flash: region (00000000..0x7fffff) is readable, reading range > (0x7ffd00..0x7ffd07). > read_flash: region (00000000..0x7fffff) is readable, reading range > (0x7fff00..0x7fff07). > Binary search failed, trying linear search... > Skipping writeprotect-based unlocking for read/verify operations. > Block protection is disabled. > read_flash: region (00000000..0x7fffff) is readable, reading range > (00000000..0x7fffff). > Unable to find fmap in provided buffer. > Failed to read fmap from ROM. > root@pce04:/home/victorc# > > > =============== -VVV ================================= > > Executing... done > Reading buffer: > [00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00] > spi100_spi_send_command, cmd=0x03, writecnt=3, readcnt=60 > Filling buffer: [7f][ff][c4] > Executing... done > Reading buffer: > [00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][e9][7d][fc][ff][ff][00][00][00][e9][df][fc][ff][50][fc][ff][ff] > Unable to find fmap in provided buffer. > page_size=1000 > pre-rounding: start=0x00007f5b88e00000, len=0x800000, end=0x00007f5b89600000 > post-rounding: start=0x00007f5b88e00000, len=0x800000, end=0x00007f5b89600000 > master_unmap_flash_region: unmapped 0x00007f5b88e00000 > Failed to read fmap from ROM. > root@pce04:/home/victorc# > > > ================= lshw =========================== > > pce04 > description: Desktop Computer > product: apu4 (4 GB) > vendor: PC Engines > version: 1.0 > serial: 1359036 > width: 64 bits > capabilities: smbios-2.7 dmi-2.7 smp vsyscall32 > configuration: boot=normal chassis=desktop sku=4 GB > *-core > description: Motherboard > product: apu4 > vendor: PC Engines > physical id: 0 > version: 1.0 > serial: 1359036 > *-firmware > description: BIOS > vendor: coreboot > physical id: 0 > version: v4.0.24 > date: 02/04/2019 > size: 1MiB > capacity: 8MiB > capabilities: pci pcmcia upgrade bootselect acpi > *-cpu:0 DISABLED > description: CPU [empty] > vendor: AuthenticAMD > physical id: 4 > version: AMD GX-412TC SOC > configuration: cores=4 > *-memory > description: System memory > physical id: 1 > size: 4GiB > > > > > -----Original Message----- > > From: Anastasia Klimchuk <[email protected]> > > Sent: Saturday, September 13, 2025 3:54 AM > > To: Victor Camacho <[email protected]> > > Cc: [email protected] > > Subject: Re: [flashrom] Ver1.6 -p internal not available > > > > [You don't often get email from [email protected]. Learn why this is > > important at https://aka.ms/LearnAboutSenderIdentification ] > > > > I have a suspicion that maybe you are hitting a known issue, can you check > > if > > this applied to you: > > https://flashrom.org/release_notes/devel.html#known-issues ? > > sorry if this is your case :( > > > > If not, then you can run the same thing again with adding verbose mode, by > > appending -VV at the end of the command line. It will print a lot, but there > > could be more detailed messages which help to identify the issue. > > > > On Sat, Sep 13, 2025 at 10:52 AM Victor Camacho <victorc@your-it- > > group.com> wrote: > > > > > > Hi Anastasia, > > > Thank you for the information. > > > You were correct. > > > The terminal output showed: > > > Non active: internal (dependency libpci not found) Along with a long > > > list of other non active programmers. > > > > > > You were also correct that I had not installed the dependencies. > > > Thank you for the link. > > > That fixed the issue, and the internal programmer was available and > > > worked. > > > > > > Unfortunately, I am back to "Failed to read fmap from ROM" > > > If you have any thoughts on that error, I would appreciate hearing them. > > > Below are the 2 times I tried to flash with the 2 chip names that were > > detected when running without the -c option. > > > Thank you again for your help, > > > Victor > > > > > > > > > > > > ================= > > > root@pce04:/home/victorc# /usr/local/sbin/flashrom -p internal -w > > > apu4_v4.17.0.3.rom -c W25Q64JV-.Q --fmap -i COREBOOT flashrom v1.6.0 > > > on Linux 6.12.43+deb13-amd64 (x86_64) flashrom is free software, get > > > the source code at https://flashrom.org > > > > > > coreboot table found at 0xdffce000. > > > Found chipset "AMD FCH". > > > Enabling flash write... OK. > > > Found Winbond flash chip "W25Q64JV-.Q" (8192 kB, SPI) mapped at > > physical address 0x00000000ff800000. > > > Failed to read fmap from ROM. > > > > > > ========================= > > > root@pce04:/home/victorc# /usr/local/sbin/flashrom -p internal -w > > > apu4_v4.17.0.3.rom -c W25Q64BV/W25Q64CV/W25Q64FV --fmap -i > > COREBOOT > > > flashrom v1.6.0 on Linux 6.12.43+deb13-amd64 (x86_64) flashrom is free > > > software, get the source code at https://flashrom.org > > > > > > coreboot table found at 0xdffce000. > > > Found chipset "AMD FCH". > > > Enabling flash write... OK. > > > Found Winbond flash chip "W25Q64BV/W25Q64CV/W25Q64FV" (8192 kB, > > SPI) mapped at physical address 0x00000000ff800000. > > > Failed to read fmap from ROM. > > > > > > root@pce04:/home/victorc# > > > > > > > > > > > > > -----Original Message----- > > > > From: Anastasia Klimchuk <[email protected]> > > > > Sent: Thursday, September 11, 2025 8:21 PM > > > > To: Victor Camacho <[email protected]> > > > > Cc: [email protected] > > > > Subject: Re: [flashrom] Ver1.6 -p internal not available > > > > > > > > Hello Victor, > > > > > > > > On the first look, your environment probably missing libpci which is > > > > required for the internal programmer. For lots of others too, that's > > > > why the list of available programmers is very small. > > > > > > > > For Debian, you need to install libpci-dev (see here > > > > https://flashrom.org/dev_guide/building_from_source.html#linux) > > > > > > > > You can check the theory before installing the library, if you still > > > > have terminal output from building flashrom. Meson prints the info > > > > about all dependencies which it found / or not found, also it prints > > > > the list of all programmers that are enabled on the environment. You > > > > can check the status of pci dependency, and see if internal was enabled. > > > > > > > > On Fri, Sep 12, 2025 at 6:02 AM Victor Camacho <victorc@your-it- > > > > group.com> wrote: > > > > > > > > > > Hi, > > > > > > > > > > First, thank to developers for all their hard work. > > > > > > > > > > > > > > > > > > > > Short background, I have a few PC Engines computer 2x apu2 and 2 x > > > > > apu4 > > > > > > > > > > Working on updating all to recommended v4.17. > > > > > > > > > > TinyCore on old PC engines did not work for me. > > > > > > > > > > Install Debian 13, apt install flashrom which installed flashrom 1.4. > > > > > > > > > > I was able to update the 2 apu2 devices. > > > > > > > > > > Install Debian 13 on apu4. > > > > > > > > > > Install flashrom and received error about failed to read fmap. > > > > > > > > > > Research implied using updated flashrom 1.6. > > > > > > > > > > Build and install flashrom 1.6 > > > > > > > > > > (your instructions are simple and spot on, thank you) > > > > > > > > > > > > > > > > > > > > Used command that I used on apu2 > > > > > > > > > > flashrom -p internal -w apu4_v4.17.0.3.rom -c W25Q64JV-.Q --fmap > > > > > -i COREBOOT > > > > > > > > > > > > > > > > > > > > ==== > > > > > > > > > > /usr/local/sbin/flashrom -p internal -w apu4_v4.17.0.3.rom -c > > > > > W25Q64JV-.Q --fmap -i COREBOOT > > > > > > > > > > flashrom v1.6.0 on Linux 6.12.43+deb13-amd64 (x86_64) > > > > > > > > > > flashrom is free software, get the source code at > > > > > https://flashrom.org > > > > > > > > > > > > > > > > > > > > Error: Unknown programmer "internal". Valid choices are: > > > > > > > > > > dummy, serprog, buspirate_spi, rayer_spi, pony_spi, linux_mtd, > > > > > linux_spi, > > > > > > > > > > spidriver. > > > > > > > > > > Please run "flashrom --help" for usage info. > > > > > > > > > > === > > > > > > > > > > I could not figure out what programmer to use. > > > > > > > > > > Any advice would be appreciated, > > > > > > > > > > Victor > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > _______________________________________________ > > > > > flashrom mailing list -- [email protected] To unsubscribe send > > > > > an email to [email protected] > > > > > > > > > > > > > > > > -- > > > > Anastasia. > > > > > > > > -- > > Anastasia. -- Anastasia. _______________________________________________ flashrom mailing list -- [email protected] To unsubscribe send an email to [email protected]
