[coreboot] #123: layout file

Joseph Smith joe at settoplinux.org
Wed Mar 4 13:35:20 CET 2009




On Wed, 04 Mar 2009 10:54:42 -0000, "coreboot" <svn at coreboot.org> wrote:
> #123: layout file
>
-------------------------------------+--------------------------------------
>    Reporter:  vivanov@…              |          Owner:  somebody     
>        Type:  defect                 |         Status:  new          
>    Priority:  major                  |      Milestone:  flashrom v1.0
>   Component:  flashrom               |        Version:  v2           
>    Keywords:  layout address offset  |   Dependencies:               
> Patchstatus:  there is no patch      |  
>
-------------------------------------+--------------------------------------
>  Hello,
> 
>  I am trying to update the BIOS "ST M50FW080" and get the following
>  incomprehensibility - layout file works in a strange way
>  1) saved the current BIOS
> 
>  {{{
>  $ flashrom --read flash18_saved.rom
>  }}}
> 
>  2) then I filled first 512K of this file with zeros (it is needed
> because
>  new BIOS will have 512K size)
>  3) then I created rom.layout file to use the normal image only:
> 
>  {{{
>  00000000:0007ffff stuff
>  00080000:000fffff normal
>  }}}
> 
>  4) and started to upgrade BIOS
> 
>  {{{
>  $ flashrom --write --layout rom.layout --image flash18_saved.rom
>  }}}
> 
>  And get the following:
> 
>  {{{
>  Looking for "normal"... found.
>  Calibrating delay loop... OK.
>  No coreboot table found.
>  Found chipset "Intel ICH4/ICH4-L", enabling flash write... OK.
>  Found chip "ST M50FW080" (1024 KB) at physical address 0xfff00000.
>  ===
>  This flash part has status UNTESTED for operations: PROBE READ ERASE
> WRITE
>  Please email a report to flashrom at coreboot.org if any of the above
>  operations
>  work correctly for you with this flash part. Please include the full
>  output
>  from the program, including chipset found. Thank you for your help!
>  ===
>  Flash image seems to be a legacy BIOS. Disabling checks.
>  Programming page:
>  0000 at address: 0x00000000SKIPPED
>  0001 at address: 0x00010000SKIPPED
>  0002 at address: 0x00020000SKIPPED
>  0003 at address: 0x00030000SKIPPED
>  0004 at address: 0x00040000SKIPPED
>  0005 at address: 0x00050000SKIPPED
>  0006 at address: 0x00060000SKIPPED
>  '''0007 at address: 0x00070000DONE BLOCK 0x70000'''
>  0008 at address: 0x00080000SKIPPED
>  0009 at address: 0x00090000SKIPPED
>  0010 at address: 0x000a0000SKIPPED
>  0011 at address: 0x000b0000SKIPPED
>  0012 at address: 0x000c0000SKIPPED
>  0013 at address: 0x000d0000SKIPPED
>  0014 at address: 0x000e0000SKIPPED
>  0015 at address: 0x000f0000SKIPPED
>  }}}
> 
>  '''Next'''
> 
>  I changed the rom.layout file like follows:
> 
>  {{{
>  # cat rom.layout
>  00000000:00080000 stuff
>  00080000:000fffff normal
>  }}}
> 
>  and get the '''right''' behaviour:
> 
>  {{{
>  # flashrom --write --layout rom.layout --image normal --verify
>  flash18_saved.rom
>  Looking for "normal"... found.
>  Calibrating delay loop... OK.
>  No coreboot table found.
>  Found chipset "Intel ICH4/ICH4-L", enabling flash write... OK.
>  Found chip "ST M50FW080" (1024 KB) at physical address 0xfff00000.
>  ===
>  This flash part has status UNTESTED for operations: PROBE READ ERASE
> WRITE
>  Please email a report to flashrom at coreboot.org if any of the above
>  operations
>  work correctly for you with this flash part. Please include the full
>  output
>  from the program, including chipset found. Thank you for your help!
>  ===
>  Flash image seems to be a legacy BIOS. Disabling checks.
>  Programming page:
>  0000 at address: 0x00000000SKIPPED
>  0001 at address: 0x00010000SKIPPED
>  0002 at address: 0x00020000SKIPPED
>  0003 at address: 0x00030000SKIPPED
>  0004 at address: 0x00040000SKIPPED
>  0005 at address: 0x00050000SKIPPED
>  0006 at address: 0x00060000SKIPPED
>  0007 at address: 0x00070000SKIPPED
>  0008 at address: 0x00080000SKIPPED
>  0009 at address: 0x00090000SKIPPED
>  0010 at address: 0x000a0000SKIPPED
>  0011 at address: 0x000b0000SKIPPED
>  0012 at address: 0x000c0000SKIPPED
>  0013 at address: 0x000d0000SKIPPED
>  0014 at address: 0x000e0000SKIPPED
>  0015 at address: 0x000f0000SKIPPED
> 
>  Verifying flash... VERIFIED.
>  }}}
> 
>  Please explain me which rom layout I should use to update the last 512K
> of
>  1M BIOS?
> 
I don't get it? The M50FW080 is a 1024k chip? Why just flash the last 512k?
If your trying to flash a 512k image to a 1024k chip just make your image
1024k by "cat 512k.bin 512k.bin > 1024k.bin". Start with a fresh flash by
erasing your chip first, then flash it.

-- 
Thanks,
Joseph Smith
Set-Top-Linux
www.settoplinux.org





More information about the coreboot mailing list