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
Hello Persmule,
Please, forgive for my ignorance regarding X200 HW. No clue how it really looks inside (except normal, usual configuration).
I have looked into the log, and I do not understand the romstage phase, namely this:
Memory configured in dual-channel asymmetric mode. Memory map: TOM = 512MB TOLUD = 512MB TOUUD = 512MB REMAP: base = 65535MB limit = 0MB usedMEsize: 0MB *Performing Jedec initialization at address 0x00000000.* *Performing Jedec initialization at address 0x08000000.* *Performing Jedec initialization at address 0x10000000.* *Performing Jedec initialization at address 0x18000000.*
Seems that you have somewhere in X200 128MB NVRAM as four banks (gives total of 512MB NVRAM). So, if this repeats every time, regardless how you shutdown Linux, you need to skip this depending upon the shutdown conditions.
I repeat, I have no idea what this NVRAM is for? And where/how it is located? Anyway, 512MB of NVRAM for booting Coreboot, or BIOS (for keeping postmortem boot-loader or OS parameters) seems too much (at least to me), don't you think?
Zoran
On Thu, Jan 19, 2017 at 10:11 AM, Persmule persmule@gmail.com wrote:
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
-- coreboot mailing list: coreboot@coreboot.org https://www.coreboot.org/mailman/listinfo/coreboot