Debian-jessie-armel-odroidxu

From odroid US
Revision as of 01:57, 26 January 2014 by Osterluk (Talk | contribs)

Jump to: navigation, search

Image Files

First a reminder about my images. *.img.xz means it is a compressed multi-partition image. You need to use xz to decompress it before writing it to SD Card.

  • .rootfs.tgz is just the root file system partition contents. Only needed to quickly get back to the original flash contents
  • .boot.tgz is just the boot partition contents. Only needed in case you wreck something and can no longer boot.
  • .md5sum are md5 checksum files you <should> use to make sure the associated file was downloaded properly.

debian-jessie-armel-base-7.1-odroidxu

Features

  • Runs only on odroidxu
  • Debian Jessie. soft-floating point only (armel)
  • linux-3.4.75 from HK
  • Follows layout of HK supported Debian images

    Issues

  • Do not run kernel-update.sh. It wrecks the /boot/uInitrd file. (I saved a copy in /root/boot-backup)
    # Install this missing package so kernel-update.sh will work
    apt-get install initramfs-tools
    # Mount the boot partition as read/write to let kernel-update.sh write files
    mount -o remount,rw /boot
    
  • There are kernel complaints on initialization:
    s5p_mfc_load_firmware:179: Firmware is not present in the /lib/firmware directory nor compiled in kernel.
    

    Files

    Look for the files here: http://odroid.us/odroid/odroidxu/debian/

    Details on how the image was built are here: debian-jessie-armel-7.1-odroidxu Build Notes

    Kernel Build

    There is some issue with the default default config from github, it will not compile. Here is a snippet showing how I worked around it

    // Fetch kernel source
    mkdir -p /usr/src 2>/dev/null
    cd /usr/src/
    git clone --depth 1 https://github.com/hardkernel/linux.git -b odroidxu-3.4.y linux-3.4.y
    #
    cd linux-3.4.y
    # pick up configuration that will build
    wget http://odroid.us/odroid/odroidxu/patches/odroidxu_ubuntu_more_netfilter_stuff 
    cp odroidxu_ubuntu_more_netfilter_stuff  arch/arm/configs
    # Use the new config
    make odroidxu_ubuntu_more_netfilter_stuff 
    # make it
    make -j8
    # ...
    
    

    Add-ons

    This section is for items added on to the base image

    hwcomposer

    We need a daemon to take care of making video data in the framebuffer show up on the HDMI output. This is called exynos5-hwcomposer. I built it natively on the odroidxu and created a Debian package that others can use. (this package is only for odroidxu and only for armel -- soft floating point). The as-built tarball is in the same directory in case you want to rebuild from source.

    Get and install the package as root user on the odroidxu:

    wget http://odroid.us/odroid/odroidxu/debian/packages/exynos5-hwcomposer-3.4.75-1_armel.deb
    dpkg -i exynos5-hwcomposer-3.4.75-1_armel.deb
    <pre>
    
    === Steps ===
    You don't need to go through these steps if you are able to use the package mentioned above (exynos5-hwcomposer-3.4.75-1_armel.deb)
    I found mdjr's instructions on how to build hwcomposer on the forum: [http://forum.odroid.com/viewtopic.php?f=61&t=2207 http://forum.odroid.com/viewtopic.php?f=61&t=2207]
    
    This is what I did:
    <pre>
    # Get latest version
    git clone --depth 0 https://github.com/hardkernel/linux.git -b odroidxu-3.4.y odroidxu-3.4.y
    cd odroidxu-3.4.y/tools/hardkernel/exynos5-hwcomposer
    sh autogen.sh
    ./configure --prefix=/usr
    make -j5
    
    

    Edit /etc/rc.local so it starts exynos5-hwcomposer at boot, The sleep is necessary to give a chance for other startup processing to be done. I was finding that sometimes hwcomposer would not start -- or I would be nothing on the HDMI

    # ...
    # By default this script does nothing.
    
    sleep 5
    # Start hwcomposer to route framebuffer output to HDMI
    /usr/bin/exynos5-hwcomposer & 
    
    # Mount the boot partition 
    mount -o ro /dev/mmcblk0p1 /boot
    # ...