X1
Thinkpad X1 Carbon

These are the instructions for the 2016 X1 Carbon 4th Gen with i7-6600U + vPro
- setup windows (a cmd window appears for a brief second?)
- resize partition ("Disk management") -- reclaim up to 384 GB of space (393216 KB)
-
setup BIOS
- Supervisor password (can not contain any special characters, which is suspicious, but 0-9 are ok)
- Discrete TPM
- Enable Virtualization and VT-d
- Bottom Cover Tamper Detection - Enabled (YES!)
- Computrace - Disabled
- SGX - Enabled
- Secure Boot - Enabled (this will break windows7; UEFI mode is not supported?)
- Leave legacy boot option if you want to use windows
-
Linux install
- To get to the boot device selection, hit F12 when the Lenovo screen is displayed
- Something is wrong in the video setup? Black screen with a flashing cursor in the upper left corner.
- Reboot, select "Option optoins" (Fn-F6) and select all of
acpi=off - This will not find the WiFi card
- "Instal Ubuntu alongside Windows 7" doesn't let you encrypt.
- Encrypt home directory instead
- System won't reboot since
noacpiwas set. - And reboot doesn't find the grub menu
next try... turn on secure boot, force efi and reinstall edit command line to add 'acpi=off' to the boot list
notes:
- realtek 525a is a PCIe card reader (the MicroSD)
- Validity Sensors is the fingerprint scanner
- Skylake Gaussian Mixture Model?
- 4.6 has Intel wifi drivers and fixes power management: http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.6-rc4-wily/
- run
apt-get updateafter wards - iwlwifi power save isn't enabled, causing very high power draw (3W?). Add this to
/etc/modprobe.d/iwlwifi.conf:
options iwlwifi power_save=Y
other packages to install:
sudo apt-get install git openssh-server gnupg2 vim powertop gnome-tweak-tool
Flashrom
That is the older motherboard model; haven't taken a new photo yet.
sudo apt-get install subversion libpci-dev libusb-dev make CONFIG_ENABLE_LIBUSB1_PROGRAMMERS=no
Doesn't work:
sudo ./flashrom -v --programmer internal flashrom v0.9.9-r1954 on Linux 4.6.0-040600rc4-generic (x86_64) flashrom is free software, get the source code at https://flashrom.org Error: Extra parameter found. Please run "flashrom --help" for usage info. *diamond:~/build/flashrom/trunk: sudo ./flashrom --programmer internal flashrom v0.9.9-r1954 on Linux 4.6.0-040600rc4-generic (x86_64) flashrom is free software, get the source code at https://flashrom.org Calibrating delay loop... OK. No DMI table found. Found chipset "Intel Sunrise Point (Skylake-U Premium)". ERROR: This chipset is not supported yet. Error: Programmer initialization failed.
Coreboot
sudo apt-get install libncurses-dev golang pciutils dmidecode acpidump git clone http://review.coreboot.org/coreboot.git cd coreboot make # take a break while stuff checks out kill it when it gets to "General setup"
Build the autotool:
cd utils/autoport make -C ../ectool make -C ../inteltool go build
At this point autoport can try to build a source tree for this machine:
sudo ./autoport --input_log=logs --make_logs --coreboot_dir=../..
Unsupported PCI device 8086:1904
Unsupported PCI device 8086:1916
Unsupported PCI device 8086:1911
Unsupported PCI device 8086:9d35
Unsupported PCI device 8086:9d2f
Unsupported PCI device 8086:9d31
Unsupported PCI device 8086:9d3a
Unsupported PCI device 8086:9d03
Unsupported PCI device 8086:9d10
Unsupported PCI device 8086:9d12
Unsupported PCI device 8086:9d48
Unsupported PCI device 8086:9d21
Unsupported PCI device 8086:9d70
Unsupported PCI device 8086:9d23
Unsupported PCI device 8086:156f
Unknown PCI device 10ec:525a, assuming removable
Unknown PCI device 8086:24f3, assuming removable
panic: runtime error: invalid memory address or nil pointer dereference
[0xb code=0x1 addr=0x20 pc=0x40ac2c](signal)
goroutine 1 [running](running):
main.LenovoEC(0xc82015c9e0, 0x1d, 0xc82015b320, 0x23, 0xc8200db4ef, 0x6, 0xc8200db52a, 0x16, 0xc82000b440, 0x31, ...)
/home/hudson/build/coreboot/util/autoport/ec_lenovo.go:20 +0x1c8c
main.ScanRoot(0xc82015c9e0, 0x1d, 0xc82015b320, 0x23, 0xc8200db4ef, 0x6, 0xc8200db52a, 0x16, 0xc82000b440, 0x31, ...)
/home/hudson/build/coreboot/util/autoport/root.go:33 +0x6b0
main.main()
/home/hudson/build/coreboot/util/autoport/main.go:727 +0x7e8
But the ACPI tables are known to be screwy and appear to make the script crash. Commenting out stuff that deals with the Southbridge allows it to finish, although things are pretty messed up (and there are no PCI devices available, etc).