ARM Chromebook/Mainline Linux kernel

From Linux Exynos
Revision as of 00:02, 21 January 2015 by Swabbles (Talk | contribs)

Jump to: navigation, search

At the moment only the Samsung Chromebook XE303C12 and the HP Chromebook 11 are being supported, of which only the prior has been thoroughly tested. If you want to help, you can send an e-mail to our mailing list, or you can visit #linux-exynos.


This is the status as of version 3.13:


  • SD and eMMC.
  • EHCI (USB 2.0).
  • Framebuffer display via simplefb.
  • RTC.
  • Marvell WiFi (requires a modified DTS).
  • Backlight (requires a modified DTS).
  • Battery (monitoring).

Not working:

  • XHCI (USB 3.0).
  • Audio.
  • Camera.
  • Exynos DRM.


These instructions assume that you'll already set up nv u-boot.

Even though the mainline kernel does support the aforementioned features, the DTS-files and config files haven't been updated yet. Therefore a branch with updated DTS-files and config files is available within our repository. [AF: 3.16 work-in-progress for Spring, including keyboard support, can be found here.]

git clone --depth 1 -b dts-config linux
cd linux

To configure the kernel, use exynos_defconfig as a base:

make exynos_defconfig

Then use make menuconfig or edit the .config file to further configure the kernel configuration:

make menuconfig

After that you can build the kernel image, the modules and the device tree:

make -j3 uImage dtbs modules

Mount the boot partition, and copy arch/arm/boot/uImage and the appropriate dtb-file (either arch/arm/boot/dts/exynos5250-snow.dtb or arch/arm/boot/dts/exynos5250-spring.dtb) to that partition (you may want to configure U-Boot to load the right DTB-file as well):

mount /dev/mmcblk1p2 /mnt/extern
cp arch/arm/boot/{uImage,dts/exynos5250-snow.dtb} /mnt/extern
umount /mnt/extern

Mount the root partition, and install the modules:

mount /dev/mmcblk1p3 /mnt/extern
INSTALL_MOD_PATH=/mnt/extern make modules_install
umount /mnt/extern