[coreboot] x200s' nvram will reset to default value if last boot is a normal boot of debian.

Persmule persmule at gmail.com
Thu Jan 19 10:11:46 CET 2017


Hi all,

I recently built and flashed a coreboot image to my thinkpad x200s, with
an IFD generated by libreboot's ich9gen. After flashing, everything
seems okay, but if I let the Debian GNU/Linux installed on that machine
finish its booting, all the reasonable value inside NVRAM will be reset
to default during next boot (detected via nvrancui), whether I shut it
down properly or cut its power violently.

I have done several tests, whose result is listed below:

Boot mode
	NVRAM reset?
payload (reboot immediately) 	no
parted magic
	no
trisquel live
	no
kali live
	no
Debian recovery mode (reboot immediately)
	no
Debian installer
	no
Debian normal boot (with or without display manager)
	yes
Debian recovery mode (finish recovery and continue booting)
	yes
Debian normal boot with kernel of Debian installer 	yes


If I modify those value with nvramtool and reboot, they will be reset to
default. If I zero the nvram region in a normal booted Debian by running
"# nvramtool -B /dev/zero" and reboot, the content of NVRAM will keep
all zero, and will reset during next reboot.

Now in order to keep using my preferred value, I may have to write those
value to cmos.default, enable STATIC_OPTION_TABLE, and then build them
into the image.

The problem should be inside the Debian user land. Do you guys have any
clue how to locate it?

Best regards,

Persmule


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.coreboot.org/pipermail/coreboot/attachments/20170119/6ecea18e/attachment-0001.html>
-------------- next part --------------
# This image was built using coreboot 4.5-843-g404f8ef420
CONFIG_CCACHE=y
CONFIG_USE_OPTION_TABLE=y
CONFIG_COLLECT_TIMESTAMPS=y
CONFIG_BOOTBLOCK_NORMAL=y
CONFIG_VENDOR_LENOVO=y
CONFIG_CBFS_SIZE=0x7fd000
CONFIG_HAVE_IFD_BIN=y
CONFIG_MAINBOARD_DO_NATIVE_VGA_INIT=y
CONFIG_CONSOLE_POST=y
CONFIG_HAVE_GBE_BIN=y
CONFIG_BOARD_LENOVO_X200=y
CONFIG_USBDEBUG=y
CONFIG_UART_PCI_ADDR=0
CONFIG_CPU_MICROCODE_CBFS_NONE=y
CONFIG_ON_DEVICE_ROM_LOAD=y
CONFIG_FRAMEBUFFER_KEEP_VESA_MODE=y
CONFIG_USBDEBUG_DEFAULT_PORT=1
CONFIG_USBDEBUG_DONGLE_FTDI_FT232H=y
# CONFIG_DRIVERS_INTEL_WIFI is not set
CONFIG_CONSOLE_USB=y
CONFIG_PXE=y
CONFIG_BUILD_IPXE=y
CONFIG_PXE_ROM_ID="8086,10f5"
CONFIG_COREINFO_SECONDARY_PAYLOAD=y
CONFIG_MEMTEST_SECONDARY_PAYLOAD=y
CONFIG_NVRAMCUI_SECONDARY_PAYLOAD=y
CONFIG_TINT_SECONDARY_PAYLOAD=y
CONFIG_DEBUG_CBFS=y
CONFIG_DEBUG_RAM_SETUP=y
CONFIG_DEBUG_SMI=y
CONFIG_DEBUG_MALLOC=y
CONFIG_DEBUG_ACPI=y
CONFIG_DEBUG_USBDEBUG=y
-------------- next part --------------
A non-text attachment was scrubbed...
Name: cbmem-x200s.log
Type: text/x-log
Size: 100218 bytes
Desc: not available
URL: <http://www.coreboot.org/pipermail/coreboot/attachments/20170119/6ecea18e/attachment-0001.log>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: nvram-normal.bin
Type: application/octet-stream
Size: 256 bytes
Desc: not available
URL: <http://www.coreboot.org/pipermail/coreboot/attachments/20170119/6ecea18e/attachment-0002.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: nvram-recovery.bin
Type: application/octet-stream
Size: 256 bytes
Desc: not available
URL: <http://www.coreboot.org/pipermail/coreboot/attachments/20170119/6ecea18e/attachment-0003.bin>


More information about the coreboot mailing list