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
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...
Maintainer of the linux-based open-source project Parapin.
More information about the coreboot