|This work is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or any later version. This work is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.|
Lxbios is a utility for reading/writing coreboot parameters and displaying information from the coreboot table in CMOS.
The program works only on x86-based Linux systems that use coreboot.
It can be downloaded from http://www.llnl.gov/linux/lxbios/lxbios.html.
Running lxbios on a system running coreboot would yield a result like this:
# ./lxbios -a boot_option = Fallback last_boot = Fallback ECC_memory = Disable baud_rate = 115200 hw_scrubber = Enable interleave_chip_selects = Enable max_mem_clock = 100Mhz dual_core = Enable power_on_after_fail = Enable debug_level = Spew boot_first = HDD boot_second = Network boot_third = Floppy boot_index = 0xe boot_countdown = 0xfa slow_cpu = off nmi = Enable iommu = Enable lxbios: Can not read coreboot parameter user_data because layout info specifies CMOS area that is too wide.
Things to know
- coreboot will ignore the CMOS table if the checksum is incorrect, and will fallback to its hardcoded defaults.
- coreboot does not initialize the CMOS/NVRAM to default values. In other words, until you set values with the lxbios tool, your CMOS table will have an incorrect checksum, and will simply be ignored.
- Not all of the fields that lxbios can set are used by coreboot on every mainboard.
- Some of the fields are used by payloads - for instance all the fields that start with 'boot_' in the list above. FILO does not use those fields currently, but Etherboot does (someone confirm this please!).