Rebuild chromebook repack chrubuntu kernel to fix sleep issue

Hello
I was having exactly the same issue on my Samsung 550 chromebook. I managed to solve it by looking at /proc/cmdline in chromeos and repacking the kernel in chrubuntu accordingly.

So - this has worked for me:

# dd if=/dev/sda6 of=kernel-3.4.0-stock
# vbutil_kernel --verify kernel-3.4.0-stock --verbose | tail -1 > config-3.4.0-stock.txt

# echo "console=tty1 debug verbose root=/dev/sda7 rootwait rw lsm.module_locking=0
noinitrd add_efi_memmap boot=local noresume noswap i915.modeset=1 tpm_tis.force=1 tpm_tis.interrupts=0 nmi_watchdog=panic,lapic" > config-3.4.0-new.txt

# vbutil_kernel --repack kernel-3.4.0-new --config config-3.4.0-new.txt --signprivate /usr/share/vboot/devkeys/kernel_data_key.vbprivk --oldblob kernel-3.4.0-stock
# dd if=kernel-3.4.0-new of=/dev/sda6

# reboot

Notes:

My kernel is on sda6, ubuntu on sda7 -- change accordingly if otherwise.

The difference between the kernel command lines before&after is "noinitrd add_efi_memmap boot=local noresume noswap i915.modeset=1 tpm_tis.force=1 tpm_tis.interrupts=0 nmi_watchdog=panic,lapic" -- I didn't try to find out which options have made the difference.

Though suspend/resume now works, there is still the issue of wake-on-lid-close, mentioned here:

http://www.mail-archive.com/chromebook-arm@lists.launchpad.net/msg00007.html

I installed Robie Basak's chromebook-snooze-hack (which replaces ubuntu's acpi-support) linked from the next page, but still got random wakeups when the lid was closed.

What's worked for me in the end is having neither packages; my screen doesn't lock itself when suspending but I can live with that.

My system is ubuntu 12.04; desktop (incl the power manager) is XFCE from ppa:xubuntu-dev/xfce-4.10 and ppa:xubuntu-dev/xfce-4.12

Hope this helps.


last updated july 2013