If you all get this take it to FOSDEM!
BTW I need a tiny kernel for u-root, how small can you get it at this point?
ron
On Fri Dec 12 2014 at 9:51:46 PM Charles Devereaux coreboot@guylhem.net wrote:
On Wed, Jul 2, 2014 at 10:48 AM, ron minnich rminnich@gmail.com wrote:
This is great. We've gotten an acer c720 down to 1.7 seconds from power button to chromeos login screen. I've always wanted to get it done in under a second. I hope you can get there!
It looks quite possible.
I couldn't sleep much last night, so I burned the midnight oil to achieve my goal of a *real fast* boot, building on the i915.fastboot improvements.
It may have taken 4 months, but I could finally trim the kernel boot time to about 0.8s after further hackish fixes - like starting the scsi and sata drivers before the tty and char drivers, enabling paralllel probe for ahci, making psmouse a module because it was delaying boot too much, etc.
If you use systemd with the configuration files I suggested before, your system should now be ready 1.4s after coreboot started grub.
If you trim further (ex: turning more things into modules, removing the initrd) you can get the kernel ready in about 0.6s, so that'll mean about 1.2 seconds.
It should be possible to beat the c720 boot time if coreboot could finish in about 0.5s on the x60, but I don't know how plausible this is. Ideas or suggestions would be welcome.
If anyone is interested in replicating or improving these results, please use the following kernel patch on a vanillla 3.14.25 to compile a kernel using x60.config, then use the following command line in grub: libahci.ignore_sss=1 raid=noautodetect i915.fastboot=1 i915.lvds_downclock=1 i915.i915_enable_rc6=7 nohz=on nmi_watchdog=0 pcie=aspm thinkpad_acpi.brightness_enable=0 thinkpad_acpi.force_load=1 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 ath9k.ps_enable=1 ath9k.btcoex_enable=1 swap=/dev/sda2 tpm_tis.force=1 tpm_tis.interrupts=0 tpm_tis.hid=PNP0C31 quiet systemd.unit=graphical.target
Turning say alsa and firewire into modules you can shave another 0.1 to 0.2s. I just tested that before posting. However, I'm not sure it's worth the trouble for now. Coreboot takes more time than the kernel+systemd, so it has become the limiting factor for further improvements.
BTW, to demonstrate other optimisations (ex: obtaining a dhcp lease quickly) I will try to upload a minimal distribution based on debian-testing but making heavy use of clean systemd scripts, for those who want to have the quick boot without wasting too much time on configuration.
Enjoy, Charles