Skip to content
This repository has been archived by the owner on Dec 15, 2018. It is now read-only.

Commit

Permalink
first commit
Browse files Browse the repository at this point in the history
  • Loading branch information
akuster committed Apr 29, 2015
0 parents commit 1e9964e
Show file tree
Hide file tree
Showing 24 changed files with 4,735 additions and 0 deletions.
17 changes: 17 additions & 0 deletions COPYING.MIT
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
118 changes: 118 additions & 0 deletions README
Original file line number Diff line number Diff line change
@@ -0,0 +1,118 @@
This README file contains information on building the meta-odroid
BSP layer, and booting the images contained in the /binary directory.
Please see the corresponding sections below for details.


Dependencies
============

This layer depends on:

URI: git://git.openembedded.org/bitbake
branch: master

URI: git://git.openembedded.org/openembedded-core
layers: meta
branch: master

URI: git://git.yoctoproject.org/xxxx
layers: xxxx
branch: master


Patches
=======

Please submit any patches against this BSP to the Yocto mailing list
([email protected]) and cc: the maintainer:

Maintainer: XXX YYYYYY <[email protected]>

Please see the meta-xxxx/MAINTAINERS file for more details.


Table of Contents
=================

I. Building the meta-odroid BSP layer
II. Booting the images in /binary


I. Building the meta-odroid BSP layer
========================================

--- replace with specific instructions for your layer ---

In order to build an image with BSP support for a given release, you
need to download the corresponding BSP tarball from the 'Board Support
Package (BSP) Downloads' page of the Yocto Project website.

Having done that, and assuming you extracted the BSP tarball contents
at the top-level of your yocto build tree, you can build a
odroid image by adding the location of the meta-odroid
layer to bblayers.conf, along with any other layers needed (to access
common metadata shared between BSPs) e.g.:

yocto/meta-xxxx \
yocto/meta-xxxx/meta-odroid \

To enable the odroid layer, add the odroid MACHINE to local.conf:

MACHINE ?= "odroid"

You should then be able to build a odroid image as such:

$ source oe-init-build-env
$ bitbake core-image-sato

At the end of a successful build, you should have a live image that
you can boot from a USB flash drive (see instructions on how to do
that below, in the section 'Booting the images from /binary').

As an alternative to downloading the BSP tarball, you can also work
directly from the meta-xxxx git repository. For each BSP in the
'meta-xxxx' repository, there are multiple branches, one corresponding
to each major release starting with 'laverne' (0.90), in addition to
the latest code which tracks the current master (note that not all
BSPs are present in every release). Instead of extracting a BSP
tarball at the top level of your yocto build tree, you can
equivalently check out the appropriate branch from the meta-xxxx
repository at the same location.


II. Booting the images in /binary
=================================

--- replace with specific instructions for your platform ---

This BSP contains bootable live images, which can be used to directly
boot Yocto off of a USB flash drive.

Under Linux, insert a USB flash drive. Assuming the USB flash drive
takes device /dev/sdf, use dd to copy the live image to it. For
example:

# dd if=core-image-sato-odroid-20101207053738.hddimg of=/dev/sdf
# sync
# eject /dev/sdf

This should give you a bootable USB flash device. Insert the device
into a bootable USB socket on the target, and power on. This should
result in a system booted to the Sato graphical desktop.

If you want a terminal, use the arrows at the top of the UI to move to
different pages of available applications, one of which is named
'Terminal'. Clicking that should give you a root terminal.

If you want to ssh into the system, you can use the root terminal to
ifconfig the IP address and use that to ssh in. The root password is
empty, so to log in type 'root' for the user name and hit 'Enter' at
the Password prompt: and you should be in.

----

If you find you're getting corrupt images on the USB (it doesn't show
the syslinux boot: prompt, or the boot: prompt contains strange
characters), try doing this first:

# dd if=/dev/zero of=/dev/sdf bs=1M count=512
17 changes: 17 additions & 0 deletions README.sources
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
The sources for the packages comprising the images shipped with this
BSP can be found at the following location:

http://downloads.yoctoproject.org/mirror/sources/

The metadata used to generate the images shipped with this BSP, in
addition to the code contained in this BSP, can be found at the
following location:

http://www.yoctoproject.org/downloads/yocto-1.1/poky-edison-6.0.tar.bz2

The metadata used to generate the images shipped with this BSP, in
addition to the code contained in this BSP, can also be found at the
following locations:

git://git.yoctoproject.org/poky.git
git://git.yoctoproject.org/meta-xxxx
Empty file added binary/.gitignore
Empty file.
10 changes: 10 additions & 0 deletions conf/layer.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# We have a conf and classes directory, add to BBPATH
BBPATH .= ":${LAYERDIR}"

# We have a recipes-* directories, add to BBFILES
BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
${LAYERDIR}/recipes-*/*/*.bbappend"

BBFILE_COLLECTIONS += "odroid"
BBFILE_PATTERN_odroid = "^${LAYERDIR}/"
BBFILE_PRIORITY_odroid = "6"
35 changes: 35 additions & 0 deletions conf/machine/odroid-ux3.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
#@TYPE: Machine
#@NAME: odroid-ux3

#@DESCRIPTION: Machine configuration for odroid-ux3 systems

DEFAULTTUNE = "cortexa9hf-neon"
include conf/machine/include/tune-cortexa9.inc

PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg"
XSERVER ?= "xserver-xorg \
xf86-input-evdev \
xf86-input-mouse \
xf86-video-fbdev \
xf86-input-keyboard"

MACHINE_EXTRA_RRECOMMENDS = " kernel-modules kernel-devicetree"

EXTRA_IMAGEDEPENDS += "u-boot-odroidux3"

IMAGE_FSTYPES += "tar.bz2 ext4"

SERIAL_CONSOLE = "115200 ttySAC0"

PREFERRED_PROVIDER_virtual/kernel ?= "linux-odroid"
PREFERRED_VERSION_linux-odroid = "3.10%"

KERNEL_IMAGETYPE = "uImage"
KERNEL_DEVICETREE = "exynos5422-odroidxu3.dtb"
KERNEL_EXTRA_ARGS += "LOADADDR=${UBOOT_ENTRYPOINT}"

UBOOT_MACHINE = "odroid_config"
UBOOT_ENTRYPOINT = "0"
UBOOT_LOADADDRESS = "0"

MACHINE_FEATURES = "serial usbgadget usbhost vfat alsa"
3 changes: 3 additions & 0 deletions recipes-bsp/formfactor/formfactor/odroid/machconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Assume a USB mouse and keyboard are connected
HAVE_TOUCHSCREEN=n
HAVE_KEYBOARD=y
2 changes: 2 additions & 0 deletions recipes-bsp/formfactor/formfactor_0.0.bbappend
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"

30 changes: 30 additions & 0 deletions recipes-bsp/u-boot/u-boot-hardkernel.inc
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
require recipes-bsp/u-boot/u-boot.inc

DESCRIPTION = "U-Boot-Hardkernel - git repo"
HOMEPAGE = "http://hardkernel.com"
SECTION = "bootloaders"
PROVIDES = "virtual/bootloader"
LICENSE = "GPLv2"

LIC_FILES_CHKSUM = "file://../git/COPYING;md5=1707d6db1d42237583f50183a5651ecb"

# from where to fetch the u-boot
UBOOT_REPO_URI ??= "git://github.com/hardkernel/u-boot.git"

SRC_URI = " \
${UBOOT_REPO_URI};branch=${BRANCH} \
"

PR = "${PV}+git${SRCPV}"

UBOOT_SUFFIX = "bin"

do_deploy_append () {
install -d ${DEPLOYDIR}
cp -v ${WORKDIR}/*bl1* ${DEPLOYDIR}
cp -v ${WORKDIR}/*bl2* ${DEPLOYDIR}
cp -v ${WORKDIR}/*tzsw* ${DEPLOYDIR}
cp -v ${WORKDIR}/sd_fusing.sh ${DEPLOYDIR}
}

PACKAGE_ARCH = "${MACHINE_ARCH}"
Binary file not shown.
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
#
# Copyright (C) 2011 Samsung Electronics Co., Ltd.
# http://www.samsung.com/
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
####################################
echo "BL1 fusing"
sudo fastboot flash fwbl1 bl1.HardKernel
echo "BL2 fusing"
sudo fastboot flash bl2 bl2.HardKernel
echo "u-boot fusing"
sudo fastboot flash bootloader ../u-boot.bin
echo "TrustZone S/W fusing"
sudo fastboot flash tzsw tzsw.HardKernel
echo "U-boot image is fused successfully."
70 changes: 70 additions & 0 deletions recipes-bsp/u-boot/u-boot-odroidux3-2012.07/sd_fusing.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
#
# Copyright (C) 2011 Samsung Electronics Co., Ltd.
# http://www.samsung.com/
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
####################################

if [ -z $1 ]
then
echo "usage: ./sd_fusing.sh <SD Reader's device file>"
exit 0
fi

if [ -b $1 ]
then
echo "$1 reader is identified."
else
echo "$1 is NOT identified."
exit 0
fi

if [ -d /sys/block/${1##*/}boot0 ]; then
echo "$1 is an eMMC card, disabling ${1##*/}boot0 ro"
if ! echo 0 > /sys/block/${1##*/}boot0/force_ro; then
echo "Enabling r/w for $1boot0 failed"
exit 1
fi
emmc=1
fi

####################################
# fusing images

if [ -n "$emmc" ]; then
signed_bl1_position=0
bl2_position=30
uboot_position=62
tzsw_position=2110
device=$1boot0
else
signed_bl1_position=1
bl2_position=31
uboot_position=63
tzsw_position=2111
device=$1
fi

#<BL1 fusing>
echo "BL1 fusing"
sudo dd iflag=dsync oflag=dsync if=./bl1.HardKernel of=$device seek=$signed_bl1_position

#<BL2 fusing>
echo "BL2 fusing"
sudo dd iflag=dsync oflag=dsync if=./bl2.HardKernel of=$device seek=$bl2_position

#<u-boot fusing>
echo "u-boot fusing"
sudo dd iflag=dsync oflag=dsync if=../u-boot.bin of=$device seek=$uboot_position

#<TrustZone S/W fusing>
echo "TrustZone S/W fusing"
sudo dd iflag=dsync oflag=dsync if=./tzsw.HardKernel of=$device seek=$tzsw_position

####################################
#<Message Display>
echo "U-boot image is fused successfully."
echo "Eject $1 and insert it again."
Binary file not shown.
Binary file not shown.
16 changes: 16 additions & 0 deletions recipes-bsp/u-boot/u-boot-odroidux3_2012.07.bb
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
require u-boot-hardkernel.inc

DESCRIPTION = "u-boot bootloader for Odroid UX3 devices supported by the hardkernel product"

FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}-${PV}:"
#DEFAULT_PREFERENCE = "-1"

SRCREV = "d80b05d5624ecba99c15ee2a7b3f59ebf6f8f1e8"
BRANCH = "odroidxu3-v2012.07"

SRC_URI += " \
file://sd_fusing.sh \
file://bl1.HardKernel \
file://bl2.HardKernel \
file://tzsw.HardKernel \
"
33 changes: 33 additions & 0 deletions recipes-graphics/xorg-xserver/xserver-xf86-config/odroid/xorg.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
Section "Module"
Load "extmod"
Load "dbe"
Load "glx"
Load "freetype"
Load "type1"
Load "record"
Load "dri"
EndSection

Section "Monitor"
Identifier "Builtin Default Monitor"
EndSection

Section "Device"
Identifier "Builtin Default fbdev Device 0"
Driver "omapfb"
EndSection

Section "Screen"
Identifier "Builtin Default fbdev Screen 0"
Device "Builtin Default fbdev Device 0"
Monitor "Builtin Default Monitor"
EndSection

Section "ServerLayout"
Identifier "Builtin Default Layout"
Screen "Builtin Default fbdev Screen 0"
EndSection

Section "ServerFlags"
Option "DontZap" "0"
EndSection
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
Loading

0 comments on commit 1e9964e

Please sign in to comment.