Tag / Exynos

  • The Light Display Manager doesn’t start on Odroid XU4 on the recent mainline kernels with exynos_defconfig. I first noticed this problem during the Linux 4.8 rc testing and this problem persists in 4.9-rc1. I want to share the root-cause, and a work-around in this post. I’m running kernel 4.9.0-rc1 with exynos_defconfig on Ubuntu 16.04 with HDMI. Light Display Manager (lightdm) fails with the following errors.

    This block repeats a few times until systemd gives up on starting lightdm. The system is operational with functioning serial console and networking, however the display doesn’t work. What Causes this problem? The following sequence of events is what leads to this problem The user space calls exynos_drm_gem_create_ioctl() with the EXYNOS_BO_NONCONTIG request to allocate GEM buffers. exynos_drm_gem_create() creates non-contiguous GEM buffers as requested. exynos_user_fb_create() comes along later and validates the GEM buffers to associate them to frame-buffer. The validation in check_fb_gem_memory_type() detects non-contiguous buffers […]

    Read More
  • March 24, 2016 - Javier Martinez Canillas

    Use a mainline U-Boot and non-signed kernels on Exynos Chromebooks

    In a previous post, I explained how to boot a mainline Linux Kernel to use a standard distribution on a Samsung Chromebook by installing it in the unused KERN-C and ROOT-C partitions of the internal eMMC. The kernel binary was contained in a signed FIT image since the read-only vendor bootloader can only boot signed images. The Many Ways to Boot Linux This is only one of the approaches that can be used to boot a mainline kernel. Another technique is to boot a signed u-boot image instead of a kernel, this process is called chain loading since the bootloader loads another bootloader rather than an operating system kernel. Non-signed kernels can be booted by chain loading a signed u-boot; this makes development easier and is more aligned with the development process on ARM platforms that don’t require verified boot. Another option would be to replace the stock vendor bootloader […]

    Read More
  • September 28, 2015 - Javier Martinez Canillas

    How to Install a Linux Mainline Kernel and Distro on Exynos Chromebooks

    Over the last year I spent some time improving the mainline support for the Exynos based Chromebooks. This blog post explains how to install a Linux mainline kernel and distribution on these machines. The first half covers some background information that explains what needs to be done to the Chromebook to make this happen, and the second half is a step-by-step guide to complete the process. A Bit of Background Information Chromebooks use a fairly unique boot system to improve reliability during upgrades and provide better hardware security. This makes the process of installing a different Linux distro on the device a bit more challenging than most consumer devices. ChromeOS Verified Boot Chromebooks use a technique called verified boot (vboot) to ensure all binaries are safe to be executed. The Chromebook comes with firmware (a vendor u-boot in the case of Samsung Chromebooks) that has vboot support and is composed […]

    Read More