Hello
Here is the dmesg, and the kernel .config. Kernel boot comes down to 1.54s indeed during a simple test with just the bzimage (I have to setup again an optimized distribution for these tests)
The command-line I now suggest is : i915.fastboot=1 i915.lvds_downclock=1 i915.i915_enable_rc6=7 nohz=on nmi_watchdog=0 pcie_aspm=force thinkpad_acpi.force_load=1 thinkpad_acpi.brightness_enable=0 thinkpad_acpi.fan_control=1 snd-hda-intel.index=0 snd_hda_intel.power_save=10 snd_hda_intel.model=thinkpad snd-hda-intel.probe_mask=0x103 snd-pcsp.index=1 btusb.reset=1
i915.i915_enable_fbc=1 is not safe : it causes screen corruption on resume
PS: I was told that these 2 patches allowed fastboot with a "close enough" mode, even if timings didn't match:
http://lists.freedesktop.org/archives/intel-gfx/2014-October/053501.html http://lists.freedesktop.org/archives/intel-gfx/2014-October/053502.html
I haven't used them though, so I can't comment on that, but they are a more elegant solution for sure :-)
On Fri, Dec 5, 2014 at 2:44 AM, Charles Devereaux coreboot@guylhem.net wrote:
Hello
i915.fastboot can be made to work on the x60, shaving about 0.8s from boot (and removing the annoying blinking screen)
Since coreboot doesn't select the same video mode the kernel does, the easiest way to make that work is to comment out request for a mode change when the modes are different: in linux-3.14.25/drivers/gpu/drm/i915/intel_display.c comment out on line 9879: config->mode_changed = true; so that it looks like: if (set->mode && !drm_mode_equal(set->mode, &set->crtc->mode)) { DRM_DEBUG_KMS("modes are different, full mode set\n"); drm_mode_debug_printmodeline(&set->crtc->mode); drm_mode_debug_printmodeline(set->mode); // config->mode_changed = true; }
It's hackish, but the results are worth it!
It was tested with a vanilla kernel 3.14.25 with the following kernel options: i915.lvds_downclock=1 i915.semaphores=1 i915.i915_enable_rc6=7 i915.i915_enable_fbc=1 nohz=on nmi_watchdog=0 pcie_aspm=force thinkpad_acpi.force_load=1 thinkpad_acpi.brightness_enable=0 thinkpad_acpi.fan_control=1 snd-hda-intel.index=0 snd_hda_intel.power_save=10 snd_hda_intel.model=thinkpad snd-hda-intel.probe_mask=0x103 snd-pcsp.index=1 btusb.reset=1 i915.fastboot=1
I'm also using the latest libreboot without ACPI brightness (coreboot head 8ffc085e1affaabbe3dca8ac6a89346b71dfc02e with patches 6725 7048 5345 7050 7051) with CONFIG_MAINBOARD_DO_NATIVE_VGA_INIT and CONFIG_FRAMEBUFFER_KEEP_VESA_MODE.
Grub.cfg has: set gfxpayload=keep terminal_output --append gfxterm
The first results I posted on the list were a kernel boot in about 2.2s. I should now be around 1.5s. I will prepare a static kernel and post the .config and dmesg for precise measurements in case anyone is interested in replicating the results.
I believe further improvements could be made to go below the psychological 1 second mark: now that I have received my 128 MB SPI chips (25Q128FVSG : cf http://www.ebay.com/itm/New-WINBOND-IC-Chip-FLASH-128M-BIT-25Q128FVSG-W25Q12...) , I'll see if fitting a bzImage is helpful.
Charles