Thanks Scott, I've followed your instructions and everything seems to be working well on my x200. I'll let you know if I experience the period locking you mentioned. We both get this error:
error: [drm:pid0:intel_pipe_config_compare] *ERROR* mismatch in adjusted_mode.flags(DRM_MODE_FLAG_PHSYNC) (expected 0, found 1) pipe state doesn't match! Any idea what it is or how to solve it? I also tried the latest 6.1 snapshot, but it persists. I also get a "RTC BIOS diagnostic error 4<invalid_time>" I'm not sure what to make of, wondering if NTP sync will fix or not. On Tue, Feb 28, 2017 at 12:24 AM, Scott Bonds <sc...@ggr.com> wrote: > By popular demand (ok, just 2 people asked)...now with instructions on how > to do this yourself: https://ggr.com/how-to-install > -coreboot-on-your-x200.html > > > On 02/27, Scott Bonds wrote: > >> I flashed a Lenovo x200 with Coreboot with Intel microcode enabled, ME >> removed, and the gigabit ethernet firmware from libreboot. Everything seems >> to work. Unlike with Libreboot, which comes with a Grub2 payload, Coreboot >> uses the SeaBIOS payload by default and it can boot an encrypted OpenBSD >> volume. I'm encountering what seems to be a random lockup every few days, >> haven't had a chance to troubleshoot it yet. >> >> For those interested, here's the start of the thread on a similar attempt >> using Libreboot instead: >> https://marc.info/?l=openbsd-misc&m=147490313431099&w=2 >> >> The upshot of using Coreboot or Libreboot is that I'm no longer >> restricted to using mini pci-e cards that have been whitelisted by Lenovo. >> I can use the sweet, sweet umb cards for wwan access, I can upgrade to the >> latest iwm driver with MIMO, etc. And for those that haven't experienced an >> x200 yet, and you're wondering why anyone would voluntarily use a 10 year >> old laptop: the x200 is only $50 before upgrades (I like iwm, umb, an ssd, >> new battery, new power adapter, usb3 expresscard), has a great keyboard, >> solid build quality, good portability, good expandability (3 internal mini >> pci-e, 1 external expresscard slot, 3 USB2 ports), and its relatively easy >> to repair. >> >> Downsides are its limited to 8G of RAM and the CPU aren't as sprightly as >> the latest+greatest (I've shifted by heavy lifting to servers so not a big >> issue for me), extended battery only lasts about 3 hours (enough for how I >> roll, but I can understand if you've been spoiled by an all-day battery on >> a different laptop), VGA out instead of HDMI (can be solved by an adapter), >> audio quality sucks (can be solved by an adapter). >> >> I keep 3 x200s around right now...at $50 each, it doesn't break the bank >> to have some backups, and if one goes south its easy to just swap the hard >> drive and go. Harder to pull off if my laptop costs $2k. ;) >> >> My original goal was to see what a maximally open source setup might be >> like and got as close as I'm likely to get (for now) with >> Libreboot+OpenBSD+ral, etc. It was pretty good--I'm excited to see what the >> future holds as more of the stack becomes more hacker friendly. >> >> OpenBSD 6.0-stable (GENERIC.MP) #2: Wed Feb 15 17:18:06 PST 2017 >> r...@maybe.ggr.com:/usr/src/sys/arch/amd64/compile/GENERIC.MP >> real mem = 4239552512 (4043MB) >> avail mem = 4106588160 (3916MB) >> mpath0 at root >> scsibus0 at mpath0: 256 targets >> mainbus0 at root >> bios0 at mainbus0: SMBIOS rev. 2.7 @ 0x7db28020 (8 entries) >> bios0: vendor coreboot version "CBET4000 4.5-958-gd09dc6b" date 02/08/2017 >> bios0: LENOVO 745432U >> acpi0 at bios0: rev 2 >> acpi0: sleep states S0 S3 S4 S5 >> acpi0: tables DSDT FACP SSDT MCFG TCPA APIC DMAR HPET >> acpi0: wakeup devices HDEF(S4) USB1(S4) USB2(S4) USB3(S4) EHC1(S4) >> USB4(S4) USB5(S4) USB6(S4) EHC2(S4) SLT1(S4) SLT2(S4) SLT3(S4) SLT6(S4) >> LANC(S3) LANR(S3) SLPB(S3) [...] >> acpitimer0 at acpi0: 3579545 Hz, 24 bits >> acpimcfg0 at acpi0 addr 0xf0000000, bus 0-63 >> acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat >> cpu0 at mainbus0: apid 0 (boot processor) >> cpu0: Intel(R) Core(TM)2 Duo CPU P8700 @ 2.53GHz, 1600.30 MHz >> cpu0: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMO >> V,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE, >> SSE3,DTES64,MWAIT,DS-CPL,VMX,SMX,EST,TM2,SSSE3,CX16,xTPR, >> PDCM,SSE4.1,XSAVE,NXE,LONG,LAHF,PERF,SENSOR >> cpu0: 3MB 64b/line 8-way L2 cache >> cpu0: smt 0, core 0, package 0 >> mtrr: Pentium Pro MTRR support, 8 var ranges, 88 fixed ranges >> cpu0: apic clock running at 266MHz >> cpu0: mwait min=64, max=64, C-substates=0.2.2.2.2.1.3, IBE >> cpu1 at mainbus0: apid 1 (application processor) >> cpu1: Intel(R) Core(TM)2 Duo CPU P8700 @ 2.53GHz, 1600.06 MHz >> cpu1: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMO >> V,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE, >> SSE3,DTES64,MWAIT,DS-CPL,VMX,SMX,EST,TM2,SSSE3,CX16,xTPR, >> PDCM,SSE4.1,XSAVE,NXE,LONG,LAHF,PERF,SENSOR >> cpu1: 3MB 64b/line 8-way L2 cache >> cpu1: smt 0, core 1, package 0 >> ioapic0 at mainbus0: apid 2 pa 0xfec00000, version 20, 24 pins >> acpihpet0 at acpi0: 14318179 Hz >> acpiprt0 at acpi0: bus 0 (PCI0) >> acpiprt1 at acpi0: bus -1 (PEGP) >> acpiprt2 at acpi0: bus 1 (RP01) >> acpiprt3 at acpi0: bus 2 (RP02) >> acpiprt4 at acpi0: bus 3 (RP03) >> acpiprt5 at acpi0: bus 4 (RP04) >> acpiprt6 at acpi0: bus -1 (RP05) >> acpiprt7 at acpi0: bus -1 (RP06) >> acpiprt8 at acpi0: bus 5 (PCIB) >> acpiec0 at acpi0 >> acpicpu0 at acpi0 >> C1: bogo buffer >> C2: bogo buffer >> C3: bogo buffer: C1(@1 halt!), PSS >> acpicpu1 at acpi0 >> C1: bogo buffer >> C2: bogo buffer >> C3: bogo buffer: C1(@1 halt!), PSS >> acpitz0 at acpi0: critical temperature is 127 degC >> acpitz1 at acpi0: critical temperature is 99 degC >> acpithinkpad0 at acpi0 >> acpiac0 at acpi0: AC unit offline >> acpibat0 at acpi0: BAT0 model "COMPATIBLE" serial 18729 type LION oem >> "SANYO" >> acpibat1 at acpi0: BAT1 not present >> acpibtn0 at acpi0: SLPB >> acpibtn1 at acpi0: LID_ >> "PNP0303" at acpi0 not configured >> "PNP0F13" at acpi0 not configured >> "GOOGCB00" at acpi0 not configured >> acpidock0 at acpi0: DOCK not docked (0) >> acpivideo0 at acpi0: GFX0 >> acpivout0 at acpivideo0: LCD0 >> cpu0: Enhanced SpeedStep 1600 MHz: speeds: 2534, 2533, 1600, 800 MHz >> pci0 at mainbus0 bus 0 >> pchb0 at pci0 dev 0 function 0 "Intel GM45 Host" rev 0x07 >> inteldrm0 at pci0 dev 2 function 0 "Intel GM45 Video" rev 0x07 >> drm0 at inteldrm0 >> intagp0 at inteldrm0 >> agp0 at intagp0: aperture at 0xd0000000, size 0x10000000 >> inteldrm0: msi >> inteldrm0: 1280x800 >> error: [drm:pid0:intel_pipe_config_compare] *ERROR* mismatch in >> adjusted_mode.flags(DRM_MODE_FLAG_PHSYNC) (expected 0, found 1) >> pipe state doesn't match! >> wsdisplay0 at inteldrm0 mux 1: console (std, vt100 emulation) >> wsdisplay0: screen 1-5 added (std, vt100 emulation) >> "Intel GM45 Video" rev 0x07 at pci0 dev 2 function 1 not configured >> em0 at pci0 dev 25 function 0 "Intel ICH9 IGP M" rev 0x03: msi, address >> 00:1f:16:35:7d:5d >> uhci0 at pci0 dev 26 function 0 "Intel 82801I USB" rev 0x03: apic 2 int 16 >> uhci1 at pci0 dev 26 function 1 "Intel 82801I USB" rev 0x03: apic 2 int 17 >> uhci2 at pci0 dev 26 function 2 "Intel 82801I USB" rev 0x03: apic 2 int 18 >> ehci0 at pci0 dev 26 function 7 "Intel 82801I USB" rev 0x03: apic 2 int 18 >> usb0 at ehci0: USB revision 2.0 >> uhub0 at usb0 "Intel EHCI root hub" rev 2.00/1.00 addr 1 >> azalia0 at pci0 dev 27 function 0 "Intel 82801I HD Audio" rev 0x03: msi >> azalia0: codecs: Conexant CX20561 >> audio0 at azalia0 >> ppb0 at pci0 dev 28 function 0 "Intel 82801I PCIE" rev 0x03 >> pci1 at ppb0 bus 1 >> ppb1 at pci0 dev 28 function 1 "Intel 82801I PCIE" rev 0x03 >> pci2 at ppb1 bus 2 >> athn0 at pci2 dev 0 function 0 "Atheros AR9281" rev 0x01: apic 2 int 17 >> athn0: AR9280 rev 2 (2T2R), ROM rev 16, address 00:24:2b:c3:8c:9a >> ppb2 at pci0 dev 28 function 2 "Intel 82801I PCIE" rev 0x03 >> pci3 at ppb2 bus 3 >> ppb3 at pci0 dev 28 function 3 "Intel 82801I PCIE" rev 0x03 >> pci4 at ppb3 bus 4 >> xhci0 at pci4 dev 0 function 0 "NEC xHCI" rev 0x04: msi >> usb1 at xhci0: USB revision 3.0 >> uhub1 at usb1 "NEC xHCI root hub" rev 3.00/1.00 addr 1 >> uhci3 at pci0 dev 29 function 0 "Intel 82801I USB" rev 0x03: apic 2 int 16 >> uhci4 at pci0 dev 29 function 1 "Intel 82801I USB" rev 0x03: apic 2 int 17 >> uhci5 at pci0 dev 29 function 2 "Intel 82801I USB" rev 0x03: apic 2 int 18 >> ehci1 at pci0 dev 29 function 7 "Intel 82801I USB" rev 0x03: apic 2 int 16 >> usb2 at ehci1: USB revision 2.0 >> uhub2 at usb2 "Intel EHCI root hub" rev 2.00/1.00 addr 1 >> ppb4 at pci0 dev 30 function 0 "Intel 82801BAM Hub-to-PCI" rev 0x93 >> pci5 at ppb4 bus 5 >> pcib0 at pci0 dev 31 function 0 "Intel 82801IBM LPC" rev 0x03 >> ahci0 at pci0 dev 31 function 2 "Intel 82801I AHCI" rev 0x03: msi, AHCI >> 1.2 >> ahci0: port 0: 3.0Gb/s >> scsibus1 at ahci0: 32 targets >> sd0 at scsibus1 targ 0 lun 0: <ATA, KINGSTON SV300S3, 60AA> SCSI3 >> 0/direct fixed naa.50026b7668019677 >> sd0: 114473MB, 512 bytes/sector, 234441648 sectors, thin >> ichiic0 at pci0 dev 31 function 3 "Intel 82801I SMBus" rev 0x03: apic 2 >> int 18 >> iic0 at ichiic0 >> usb3 at uhci0: USB revision 1.0 >> uhub3 at usb3 "Intel UHCI root hub" rev 1.00/1.00 addr 1 >> usb4 at uhci1: USB revision 1.0 >> uhub4 at usb4 "Intel UHCI root hub" rev 1.00/1.00 addr 1 >> usb5 at uhci2: USB revision 1.0 >> uhub5 at usb5 "Intel UHCI root hub" rev 1.00/1.00 addr 1 >> usb6 at uhci3: USB revision 1.0 >> uhub6 at usb6 "Intel UHCI root hub" rev 1.00/1.00 addr 1 >> usb7 at uhci4: USB revision 1.0 >> uhub7 at usb7 "Intel UHCI root hub" rev 1.00/1.00 addr 1 >> usb8 at uhci5: USB revision 1.0 >> uhub8 at usb8 "Intel UHCI root hub" rev 1.00/1.00 addr 1 >> isa0 at pcib0 >> isadma0 at isa0 >> pckbc0 at isa0 port 0x60/5 irq 1 irq 12 >> pckbd0 at pckbc0 (kbd slot) >> wskbd0 at pckbd0: console keyboard, using wsdisplay0 >> pms0 at pckbc0 (aux slot) >> wsmouse0 at pms0 mux 0 >> pcppi0 at isa0 port 0x61 >> spkr0 at pcppi0 >> aps0 at isa0 port 0x1600/31 >> umodem0 at uhub2 port 4 configuration 1 interface 1 "Lenovo H5321 gw" rev >> 2.00/0.00 addr 2 >> umodem0: data interface 2, has CM over data, has break >> umodem0: status change notification available >> ucom0 at umodem0 >> umodem1 at uhub2 port 4 configuration 1 interface 3 "Lenovo H5321 gw" rev >> 2.00/0.00 addr 2 >> umodem1: data interface 4, has CM over data, has break >> umodem1: status change notification available >> ucom1 at umodem1 >> umb0 at uhub2 port 4 configuration 1 interface 6 "Lenovo H5321 gw" rev >> 2.00/0.00 addr 2 >> umodem2 at uhub2 port 4 configuration 1 interface 9 "Lenovo H5321 gw" rev >> 2.00/0.00 addr 2 >> umodem2: data interface 10, has CM over data, has break >> umodem2: status change notification available >> ucom2 at umodem2 >> ugen0 at uhub2 port 4 configuration 1 "Lenovo H5321 gw" rev 2.00/0.00 >> addr 2 >> ugen1 at uhub4 port 1 "AuthenTec Fingerprint Sensor" rev 2.00/17.03 addr 2 >> ugen2 at uhub4 port 2 "Lenovo Computer Corp ThinkPad Bluetooth with >> Enhanced Data Rate II" rev 2.00/3.99 addr 3 >> vscsi0 at root >> scsibus2 at vscsi0: 256 targets >> softraid0 at root >> scsibus3 at softraid0: 256 targets >> sd1 at scsibus3 targ 1 lun 0: <OPENBSD, SR CRYPTO, 006> SCSI2 0/direct >> fixed >> sd1: 98084MB, 512 bytes/sector, 200876232 sectors >> root on sd1a (45e734ea66d5f448.a) swap on sd1b dump on sd1b >> clock: unknown CMOS layout >> zeal(68553): mmap W^X violation >> hw.sensors.cpu0.temp0=38.00 degC >> hw.sensors.acpitz0.temp0=44.00 degC (zone temperature) >> hw.sensors.acpitz1.temp0=41.00 degC (zone temperature) >> hw.sensors.acpithinkpad0.temp0=44.00 degC >> hw.sensors.acpithinkpad0.temp1=41.00 degC >> hw.sensors.acpithinkpad0.temp2=41.00 degC >> hw.sensors.acpithinkpad0.temp3=41.00 degC >> hw.sensors.acpithinkpad0.temp4=41.00 degC >> hw.sensors.acpithinkpad0.temp5=41.00 degC >> hw.sensors.acpithinkpad0.temp6=41.00 degC >> hw.sensors.acpithinkpad0.temp7=41.00 degC >> hw.sensors.acpithinkpad0.fan0=0 RPM >> hw.sensors.acpiac0.indicator0=On (power supply) >> hw.sensors.acpibat0.volt0=10.80 VDC (voltage) >> hw.sensors.acpibat0.volt1=12.55 VDC (current voltage) >> hw.sensors.acpibat0.power0=3.61 W (rate) >> hw.sensors.acpibat0.watthour0=68.02 Wh (last full capacity) >> hw.sensors.acpibat0.watthour1=3.40 Wh (warning capacity) >> hw.sensors.acpibat0.watthour2=0.20 Wh (low capacity) >> hw.sensors.acpibat0.watthour3=66.45 Wh (remaining capacity), OK >> hw.sensors.acpibat0.watthour4=68.04 Wh (design capacity) >> hw.sensors.acpibat0.raw0=2 (battery charging), OK >> hw.sensors.acpibtn1.indicator0=On (lid open) >> hw.sensors.acpidock0.indicator0=Off (not docked), UNKNOWN >> hw.sensors.aps0.temp0=41.00 degC >> hw.sensors.aps0.temp1=41.00 degC >> hw.sensors.aps0.indicator0=On (Keyboard Active) >> hw.sensors.aps0.indicator1=On (Mouse Active) >> hw.sensors.aps0.indicator2=On (Lid Open) >> hw.sensors.aps0.raw0=498 (X_ACCEL) >> hw.sensors.aps0.raw1=489 (Y_ACCEL) >> hw.sensors.aps0.raw2=498 (X_VAR) >> hw.sensors.aps0.raw3=489 (Y_VAR) >> hw.sensors.softraid0.drive0=online (sd1), OK