Debian-jessie-armel-odroidxu
Contents
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
Issues
# 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
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 # ...
Install a Window Manager
You can use the tasksel application and select desktop, for example to get a complete Gnome system -- or you and install something else. I installed lxde like this:
apt-get install xorg xorg-server xf86-video-fbdev lxde
Setup a X configuration
You need an /etc/X11/xorg.conf file. Copy and paste the following into a terminal on the odroid. This copy/paste technique is called a "Here Document". It creates a file called /etc/X11/xorg.conf
cat <<EOF >/etc/X11/xorg.conf Section "Device" identifier "FBDEV" Driver "fbdev" Option "fbdev" "/dev/fb0" EndSection Section "Screen" identifier "Default Screen" Device "FBDEV" DefaultDepth 24 EndSection EOF
Update boot.ini
There are two sections to edit in your boot.ini /boot/boot.ini is on the boot partition. debian-jessie-armel-base-7.1-odroidxu uses the up-to-date boot scripts and can be kept up-to-date with the kernel-update.sh kernel updater script (in the root directory on this image)
#------------------------------------------------------------------------------------------------------ # # Frame buffer size. # Example.. If you are on LCD Kit set the values bellow to: # x = 1280 and y = 800 # Otherwise please set this value below to your wanted resolution # Values: # LCD Kit: x = 1280 y = 800 # --------------------------- # HDMI: # 480: x = 720 y = 480 # 576: x = 720 y = 576 # 720: x = 1280 y = 720 # 1080: x = 1920 y = 1080 # #------------------------------------------------------------------------------------------------------ setenv fb_x_res "1920" setenv fb_y_res "1080"
#------------------------------------------------------------------------------------------------------ # # Forces a fixed resolution on the HDMI controller. Please make sure that your screen supports and # It matchs the resolution above! setted the X and Y # valid values are: 480p60hz 720p60hz 720p50hz 1080p60hz 1080i60hz 1080i50hz 1080p50hz # 1080p30hz 1080p25hz 1080p24hz # #------------------------------------------------------------------------------------------------------ setenv hdmi_phy_res "1080p60hz"