Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I have an Acer C7 Chromebook with an Intel CPU, and I had installed there ChrUbuntu. I updated (Chr)Ubuntu to 13.04 daily version using dist-upgrade. But I found that I still use Google v.3.4.0 Linux kernel, not Canonical v.3.8.0. So how can I change kernel?

I found how to do it on normal computers with GRUB, but it is Chromebook, so there is no Grub.

share|improve this question
    
for what it's worth - there may be drivers in Google's kernel that aren't available in Canonical's vanilla 3.8.0. things could break/stop working if the kernel is changed. –  ncdownpat Apr 15 '13 at 21:39
    
Acer C7 Chromebook has hardware that is typical for Acer Aspire netbooks, so there is no unique drivers in kernel. –  Ivan Zelenskyy Apr 15 '13 at 23:35

1 Answer 1

up vote 5 down vote accepted

I followed the instructions from the following link

(http://velvet-underscore.blogspot.com/2013/01/chrubuntu-virtualbox-with-kvm.html)

and updated the script for Kernel 3.8.0 for Acer C7 running on Chrubuntu:

#!/bin/bash

set -x

#
# Grab verified boot utilities from ChromeOS.
#
mkdir -p /usr/share/vboot
mount -o ro /dev/sda3 /mnt
cp /mnt/usr/bin/vbutil_* /usr/bin
cp /mnt/usr/bin/dump_kernel_config /usr/bin
rsync -avz /mnt/usr/share/vboot/ /usr/share/vboot/
umount /mnt

#
# On the Acer C7, ChromeOS is 32-bit, so the verified boot binaries need a
# few 32-bit shared libraries to run under ChrUbuntu, which is 64-bit.
#
apt-get install libc6:i386 libssl1.0.0:i386

#
# Fetch ChromeOS kernel sources from the Git repo.
#
apt-get install git-core
cd /usr/src
git clone  https://git.chromium.org/git/chromiumos/third_party/kernel-next.git
cd kernel-next
git checkout origin/chromeos-3.8

#
# Configure the kernel
#
# First we patch ``base.config`` to set ``CONFIG_SECURITY_CHROMIUMOS``
# to ``n`` ...
cp ./chromeos/config/base.config ./chromeos/config/base.config.orig
sed -e \
  's/CONFIG_SECURITY_CHROMIUMOS=y/CONFIG_SECURITY_CHROMIUMOS=n/' \
  ./chromeos/config/base.config.orig > ./chromeos/config/base.config
./chromeos/scripts/prepareconfig chromeos-intel-pineview
#
# ... and then we proceed as per Olaf's instructions
#
yes "" | make oldconfig

#
# Build the Ubuntu kernel packages
#
apt-get install kernel-package
make-kpkg kernel_image kernel_headers

#
# Backup current kernel and kernel modules
#
tstamp=$(date +%Y-%m-%d-%H%M)
dd if=/dev/sda6 of=/kernel-backup-$tstamp
cp -Rp /lib/modules/3.4.0 /lib/modules/3.4.0-backup-$tstamp

#
# Install kernel image and modules from the Ubuntu kernel packages we
# just created.
#
dpkg -i /usr/src/linux-*.deb

#
# Extract old kernel config
#
vbutil_kernel --verify /dev/sda6 --verbose | tail -1 > /config-$tstamp-orig.txt
#
# Add ``disablevmx=off`` to the command line, so that VMX is enabled (for VirtualBox & Co)
#
sed -e 's/$/ disablevmx=off/' \
  /config-$tstamp-orig.txt > /config-$tstamp.txt

#
# Wrap the new kernel with the verified block and with the new config.
#
vbutil_kernel --pack /newkernel \
  --keyblock /usr/share/vboot/devkeys/kernel.keyblock \
  --version 1 \
  --signprivate /usr/share/vboot/devkeys/kernel_data_key.vbprivk \
  --config=/config-$tstamp.txt \
  --vmlinuz /boot/vmlinuz-3.8.0 \
  --arch x86_64

#
# Make sure the new kernel verifies OK.
#
vbutil_kernel --verify /newkernel

#
# Copy the new kernel to the KERN-C partition.
#
dd if=/newkernel of=/dev/sda6
share|improve this answer
    
Thank you! Also, did you tried to pack in same way an Canonical's "3.8.0-xx-generic" kernel? –  Ivan Zelenskyy May 13 '13 at 6:01
1  
The kernel source that is built using the script mentioned above includes a regression bug, which will cause the C7 display back-light to fail to come on when it comes back from suspend. This effectively makes suspend useless when using the internal display, since it will not wake to the point that you can use the display and you must hard-boot to get it back. See here: bugs.launchpad.net/ubuntu/+source/linux/+bug/1156306 I am working on a patch to fix the issue. I will post it here once I have something working. –  user224791 May 16 '13 at 15:03

protected by Community Aug 19 '13 at 3:02

Thank you for your interest in this question. Because it has attracted low-quality answers, posting an answer now requires 10 reputation on this site.

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.