Al Hooton al at hootons.org
Fri Jan 21 06:50:01 CET 2005

On Fri, 2005-01-21 at 12:19 +0100, Stefan Reinauer wrote:
> But when changing the parameters to Normal, the next boot LinuxBIOS
> still says "Invalid CMOS LB checksum" and it sets "boot_option" back to
> Fallback.

	This isn't AMD64-specific, but Ron pointed me to the solution for
issues with invalid CMOS settings on my x86 box a few days ago, so
hopefully this will work for you too.  There's probably an
easier/shorter path, but after some time figuring out how to use the
tools, the following steps got me past my cmos checksum problems.  Note
that I extract an image to disk and manipulate that until it's correct,
then write it back to cmos.  If I understand the cmos_util tool
correctly, that isn't strictly necessary -- it could do the
manipulations directly on the cmos.  However, I want to see the results
of what I do before I actually write the changes to cmos.

- Grab the cmos_util package from

- Build the cmos_util package, it provides three executables:
cmos_to_file, cmos_util, file_to_cmos.  I put these in /usr/local/bin.

- Create a new working directory for doing cmos stuff, cd to it, and
copy over the cmos.layout file for your board from the LB distribution,
it should be in "src/mainboard/<mfr>/<board>/cmos.layout".  As long as
you don't change the name of this file, the cmos_util tool will use it

- Get an image of your current cmos in to a file: cmos_to_file image

- Extract the settings: cmos_util -d --image image > settings

- Edit the settings file the way you want it, it's pretty
self-explanatory.  Read the cmos.settings.5 manpage that comes with the
cmos_util package.  Note that you can tell in the comments at the top of
the file if the checksum is not correct.

- Apply the settings and create a new image: cmos_util -u --image image
--settings settings --output-image image.new

- Verify that the new image has your updated settings and the checksum
is correct: cmos_util -d --image image.new

- Write the new image out to cmos: file_to_cmos image.new

	In my case, every time my LB build doesn't work and I have to reboot a
board with the OEM bios, it borks the cmos checksum again.  I've learned
that in this situation, right before I shutdown to try a new LB build, I
repeat the last step above.  This pushes the updated image down to cmos,
so the checksum is correct when I boot with LB the next time around.

	Hope this helps...



Al Hooton

Maintainer of the linux-based open-source project Parapin.

More information about the coreboot mailing list