Finally, I solved my problem. The following tutorial I made explains how to get custom 3.4.0 kernel headers installed and working on your Samsung Series 5 Chromebook. Note: You must have a non-ARM processor for this to work. Also, use this tutorial to install Chrubuntu 12.04 to your Samsung Series 5 if you haven't done so already: http://chromeos-cr48.blogspot.com/2012/04/chrubuntu-1204-now-with-double-bits.html
Make sure before you run through the script to log in as root.
1. Run this script that I modified from the Acer C7 tutorials(NOTE: DO NOT overwrite the kernel when you get the message. Just hit yes. If you overwrite the kernel, it may cause your Chrubuntu installation to malfunction):
#!/bin/bash
#Edited 11/27/2013
#Fixes the old_bins directory not found error
set -x
#
# Grab verified boot utilities from ChromeOS.
#
mkdir -p /usr/share/vboot
#
#Make a new directory called old_bins
#
mkdir -p /usr/bin/old_bins
mount -o ro /dev/sda3 /mnt
#
#copy the vbutil_* commands to the old_bins directory
#
cp /mnt/usr/bin/vbutil_* /usr/bin/
cp /mnt/usr/bin/vbutil_* /usr/bin/old_bins
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.git
cd kernel
git checkout origin/chromeos-3.4
#
# 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.8.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.4.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
2. It should not complete the first run. You'll get an error about fstack-protector-strong
. Navigate to /usr/src/kernel/arch/x86/Makefile
and edit Line 78 from stackp-y := -fstack-protector-strong
to stackp-y := -fstack-protector-all
3. Run the script again with the newly modified Makefile. Again, do not overwrite the kernel.
4. You should get some more errors, but don't worry. Now it is time to open up VMware Workstation. When you get the Kernel 3.4.0 headers are missing prompt, point the prompt box to: /usr/src/linux-headers-3.4.0/include
5. You're done! Everything should be working now. Credit goes to michaela_elise(Reddit) for creating the original script and pointing out the -fstack-protector-strong
problem. (NOTE: You may need to reboot after running the script for the second and last time. I had a glitch with VMware Workstation right after I ran the script a second time.)