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,CMOV,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,CMOV,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