Building and installing a custom kernel for Samsung Arm Chromebook Fedora 18 * This is an outline of the steps, but is currently untested. It based off of information of https://plus.google.com/u/0/109993695638569781190/posts/34PYU79eUqP 1) Need a vboot-utils binaries on the machine. A rough version vboot-utils src rpm is available from: http://people.redhat.com/wcohen/chromebook/vboot-utils-20130129git68f54d4-4.fc17.src.rpm (Jon Disnard (masta) is working on a more official Fedora version listed in https://bugzilla.redhat.com/show_bug.cgi?id=893866) 1a) build vboot-utils: # yumbuild-deps ./vboot-utils-*.rpm $ rpm -Uvh ./vboot-utils-*.rpm $ cd ~/rpmbuild/SPECS/ $ rpmbuild -ba vboot-utils.spec 1b) install vboot-utils: # yum install ~/rpmbuild/RPMS/*/vboot-utils.*.rpm 1c) You will also need uboot-tools: # yum install uboot-tools 2) Get the source chrome book linux kernel: git clone https://git.chromium.org/git/chromiumos/third_party/kernel.git git checkout chromeos-3.4 3) Get the appropriate .config for the chromebook as a staring point: $ cd kernel $ ./chromeos/scripts/prepareconfig chromeos-exynos5 Modify the .config file to taste and then reconfigure: $ make oldconfig 4) Build the actual kernel AND the device tree: $ make -j2 $ make exynos5250-snow.dtb 5) Install the modules and : # export root= # make INSTALL_MOD_PATH=$root modules_install install # cp ./arch/arm/boot/exynos5250-snow.dtb arch/arm/boot/zImage ${root}/boot 6a) Get a kernel.its file: $ wget http://people.redhat.com/wcohen/chromebook/vboot-utils-20130129git68f54d4-4.fc17.src.rpm 6b) Create the kernel.itb file from kernel.its: $ wget http://people.redhat.com/wcohen/chromebook/kernel.its $ mkimage -f kernel.its kernel.itb 7) Create appropriate configure: $ export device=/dev/mmcblk1 $ export partition=3 $ export rootfs=${device}p${partition} $ echo "console=tty1 debug verbose root=$rootfs rootwait rw lsm.module_locking=0" > config.txt 8) Sign the kernel with the vboot-utils so the samsung chromebook: $ vbutil_kernel --pack /tmp/newkernel \ --keyblock /usr/share/vboot/devkeys/kernel.keyblock \ --version 1 \ --signprivate /usr/share/vboot/devkeys/kernel_data_key.vbprivk \ --config config.txt --vmlinuz kernel.itb --arch arm 9) Copy the kernel on appropriate partition (BE SURE TO GET CORRECT DEVICE AND PPARTITION): # export device=/dev/mmcblk1 # export partition=1 # dd if=/tmp/newkernel of=${device}p${partition} 10) Enable the partion to boot: # cgpt add -i ${partition} -P 15 -S 1 -T 1 ${device} 11) Shutdown and reboot machine.