229 Commits

Author SHA1 Message Date
Jonathan Liu
f2cff839f5 README: Fix documentation to disable overscan
To disable overscan, DISABLE_OVERSCAN should be set to 1 rather than 0.

Signed-off-by: Jonathan Liu <net147@gmail.com>
2015-12-02 23:05:16 +01:00
Andrei Gherzan
a967c15d75 patch: Delete useless file
This file has been wrongly introduced in commit 72ea51f.

Gianfranco Costamagna <costamagnagianfranco@yahoo.it>
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2015-12-02 23:00:23 +01:00
Gary Thomas
bc0d788b47 rpi-config: SPI bus support
With the newer kernels that use device tree, the SPI bus is only
enabled by a device tree setting.  This is now supported by adding
  ENABLE_SPI_BUS = "1"
in local.conf

Signed-off-by: Gary Thomas <gary@mlbassoc.com>
2015-12-02 15:33:43 +01:00
Jonathan Liu
0776b86c66 rpi-base.inc: add i2c-rtc overlay
The update of the kernel in 10a5bace87 to
3.18.16 missed the separate rtc overlays being replaced by the i2c-rtc
overlay.

Signed-off-by: Jonathan Liu <net147@gmail.com>
2015-10-25 19:50:19 +01:00
Khem Raj
58806f6552 userland: Adjust include location for pthreads-headers
vcos headers include headers like "vcos_platform.h" "vcos_futex_mutex.h"
"vcos_platform_types.h" and these headers are different based on
platform/OSes. e.g. OS targets that support pthreads these headers
should come from pthreads/ folder but not for others. So one would add
right -I option for every package that accesses them directly or
indirectly. so if a software does #include <EGL/egl.h> then it will
break

| In file included from
/mnt/home/kraj/work/angstrom/build/tmp-angstrom-glibc/sysroots/raspberrypi2/usr/include/interface/vcos/vcos_assert.h:149:0,
|                  from
/mnt/home/kraj/work/angstrom/build/tmp-angstrom-glibc/sysroots/raspberrypi2/usr/include/interface/vcos/vcos.h:114,
|                  from
/mnt/home/kraj/work/angstrom/build/tmp-angstrom-glibc/sysroots/raspberrypi2/usr/include/interface/vmcs_host/vc_dispmanx.h:33,
|                  from
/mnt/home/kraj/work/angstrom/build/tmp-angstrom-glibc/sysroots/raspberrypi2/usr/include/EGL/eglplatform.h:110,
|                  from
/mnt/home/kraj/work/angstrom/build/tmp-angstrom-glibc/sysroots/raspberrypi2/usr/include/EGL/egl.h:36,
|                  from
/mnt/home/kraj/work/angstrom/build/tmp-angstrom-glibc/work/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/weston/1.8.0-r0/weston-1.8.0/clients/../shared/platform.h:29,
|                  from
/mnt/home/kraj/work/angstrom/build/tmp-angstrom-glibc/work/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/weston/1.8.0-r0/weston-1.8.0/clients/window.h:33,
|                  from
/mnt/home/kraj/work/angstrom/build/tmp-angstrom-glibc/work/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/weston/1.8.0-r0/weston-1.8.0/clients/eventdemo.c:40:
|
/mnt/home/kraj/work/angstrom/build/tmp-angstrom-glibc/sysroots/raspberrypi2/usr/include/interface/vcos/vcos_types.h:38:33:
fatal error: vcos_platform_types.h: No such file or directory
|  #include "vcos_platform_types.h"
|                                  ^
| compilation terminated.

This is wrong, it should not happen since doing simple #include
<EGL/egl.h> should not demand manual addition of some internal paths
tobe added to -I flags.

This patch fixes the headers which refer to headers inside pthreads/
folder to prefix them with pthreads/ so we dont have to specify
additional paths

This fixes weston on rpi and I believe there are more patches now to

recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_%.bbappend
recipes-multimedia/omxplayer/omxplayer_git.bb

which can be removed as well

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2015-10-24 22:00:48 +02:00
Khem Raj
dba20cbb0a userland: Fix install prefix and generate pkgconfigs
several userspace libraries like libepoxy poke for pkgconfigs ( .pc )
files to detect egl support, and comes out to fail in configure stage,
one of the patches now adds support to generate .pc files for some known
cases. it could be further extended if needed for other libraries too

Secondly, the default CMAKE_INSTALL_PREFIX is /opt/vc but in OE we use
proper /usr so lets make this change as well, it simplifies do_install()

.so are not versioned so we need to grapple with OE's defaults of
expecting versioned .so files.

Adjust packages for -dev package such that it can automatically package
pkgconfig files and inherit pkgconfig because in cmake code we are not
looking for pkgconfig so we need the dependency also put in place for
consistent builds

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2015-10-24 21:51:51 +02:00
Alex J Lennon
7cff0a0a9e README: Add section on audio routing
See http://redmine.gherzan.com/issues/55

Signed-off-by: Alex J Lennon <ajlennon@dynamicdevices.co.uk>
2015-10-24 21:45:56 +02:00
Andrei Gherzan
50a7710718 pi-blaster: Bump revision
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2015-10-21 22:58:54 +02:00
Andrei Gherzan
fcbb1e6e91 userland: Bump revision
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2015-10-21 22:58:40 +02:00
Andrei Gherzan
7d2249a2e2 rpi-mkimage: Bump revision
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2015-10-21 22:58:19 +02:00
Andrei Gherzan
7f043ab724 omxplayer: Bump revision
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2015-10-21 22:56:44 +02:00
Andrei Gherzan
aaf8e2e738 firmware: Bump revision
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2015-10-21 22:55:43 +02:00
Andrei Gherzan
a7d629e569 bcm2835: Update to v1.46
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2015-10-21 22:55:18 +02:00
Andrei Gherzan
c0563670d3 rpi-default-versions: Default kernel on 4.1.%
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2015-10-21 20:49:04 +02:00
Andrei Gherzan
5546748231 linux-raspberrypi: Remove old 3.12 version
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2015-10-21 20:48:45 +02:00
Andrei Gherzan
0d7f01df10 linux-raspberrypi: Update 4.1 recipe to 4.1.10
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2015-10-21 20:48:11 +02:00
Alex J Lennon
36c2501130 linux-raspberrypi: support kernel 4.1.3
Signed-off-by: Alex J Lennon <ajlennon@dynamicdevices.co.uk>
2015-10-21 14:44:27 +02:00
Alex J Lennon
10a5bace87 linux-raspberrypi: Update kernel to 3.18.16
This requires some changes to KERNEL_DEVICETREE as the dtb
layout has changed to support overlays. This change also
makes us ready to support kernel 4.x series

Signed-off-by: Alex J Lennon <ajlennon@dynamicdevices.co.uk>
2015-10-21 14:44:26 +02:00
Jonathan Liu
20c8e6a5bc gstreamer1.0-plugins-bad: remove unrecognized configure option
The --with-egl-window-system=rpi configure option is not recognized
in the current version.

Signed-off-by: Jonathan Liu <net147@gmail.com>
2015-10-13 21:02:57 +02:00
Jonathan Liu
f22ecc425c linux-raspberrypi.inc: use SRCPV instead of SRCREV for PV
SRCPV is intended to be used by PV. Using SRCREV for PV is incorrect.

Signed-off-by: Jonathan Liu <net147@gmail.com>
2015-10-13 19:33:03 +02:00
Andrei Gherzan
72ea51f87b wiringPi: Bump to 2.29
The patch was rebased to apply on the updated version.

Signed-off-by: Gianfranco Costamagna <gianfranco.costamagna@abinsula.com>
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2015-10-13 19:20:00 +02:00
Tom Doehring
4dfa633d23 userland: Fix multiple inline issues while building with gcc 5.x
Building userland source with gcc 5.x causes multiple issues such as:

vcos_thread.h:186:15: warning: inline function 'vcos_thread_get_affinity' declared but never defined
|  VCOS_UNSIGNED vcos_thread_get_affinity(VCOS_THREAD_T *thread);

The following patches fixes these issues and allows building userland on the current
poky master branch.

Signed-off-by: Tom Doehring <toolmmy@googlemail.com>
2015-10-02 23:26:14 +02:00
Jonathan Liu
c6f7ec52cf rpi-config: fix setting decode_WVC1 in config.txt
Signed-off-by: Jonathan Liu <net147@gmail.com>
2015-09-24 01:40:38 +03:00
Petter Mabäcker
bdbe28d7f3 pi-blaster: Bump SRCREV
Update to latest revision in order to get rid of the integration patch
'0001-handle-install-data-hook-when-cross-compile.patch' that has been
submitted upstream.

Changes since cd318cd63031a30249a4c08435b97263fa76d7b7:
  bce7c1b Merge pull request #45 from Technux/dev/technux
  74510ff Display an error message if unable to open mbox
  53197ca handle install-data-hook when cross compile

Signed-off-by: Petter Mabäcker <petter@technux.se>
2015-09-24 01:28:59 +03:00
Jonathan Liu
16718000cf sdcard_image-rpi.bbclass: use existing ROOTFS_SIZE variable
The ROOTFS_SIZE variable is already set to the aligned root filesystem size.

Signed-off-by: Jonathan Liu <net147@gmail.com>
2015-09-23 23:02:58 +03:00
Khem Raj
17dad9328b README: Add extra iformation on creating/sending patches using git
Current instructions could be improvised to help user in creating
properly formatted patches with some command help on git format-patch
and git send-email

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2015-08-10 23:37:14 +02:00
Andrei Gherzan
ade923f17d rpi-default-providers: Let users overwrite the default providers
[Feature #65]

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Signed-off-by: Pierre FICHEUX <pierre.ficheux@gmail.com>
2015-08-10 23:16:08 +02:00
Petter Mabäcker
4c06098563 packagegroup-rpi-test: Add pi-blaster
Ensure that pi-blaster is built and included by default when building
'rpi-test-image'.

Signed-off-by: Petter Mabäcker <petter@technux.se>
2015-08-10 01:50:08 +02:00
Mauro Carvalho Chehab
b47cbb6996 linux-raspberrypi.inc: Make kgdboc kernel param optional
The kernel debugger over console (kgdboc) parameter is being added
unconditionally to the kernel command line but this means that the
kernel will stop and wait for gdb to attach in case of a exception
or when sending a sysrq-g key. This behaviour may not be what most
users wants that are not remotely debugging the kernel over serial
console so make it optional by adding a ENABLE_KGDB config option.

Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
[javier: Extended commit message and made it conditional]
Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com>
2015-08-10 00:36:20 +02:00
Derek Foreman
bfe2307cc4 sdcard_image-rpi.bbclass: Allocate more space for boot partition
The boot partition currently has a size of 20 MiB but just the start elf
binaries account almost 12 MiB, which means that only 8 MiB is left for
the kernel image. A recent kernel with many of its options built-in can
easily be more than 4 MiB so let's double the boot partition size to 40
MiB to make sure that it has enough room for the kernel image, the DTBs
and possible even a backup kernel.

Signed-off-by: Derek Foreman <derekf@osg.samsung.com>
[javier: Extended the commit message]
Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com>
2015-08-09 23:55:55 +02:00
Gary Thomas
d676d54f04 sdcard_image: Fix sdcard image generation
Recent updates to the MSDOS tools (OE-core is now at 3.0.28) have made
it an error to overwrite an image using mkfs.vfat.  This patch fixes
that problem by removing any old/stale images, thus starting from scratch.

Signed-off-by: Gary Thomas <gary@mlbassoc.com>
2015-08-09 23:51:06 +02:00
Khem Raj
f188f3d756 userland: Fix POSIX compliance expectation
We have errors like below with glibc 2.22+

net_sockets_common.c:139:20: error: storage size of 'hints' isn't known
    struct addrinfo hints, *info, *p;
                        ^

newer glibc has now fixed the definitions of getaddrinfo and ilk to be
enabled with correct posix version.

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2015-08-09 23:02:30 +02:00
Petter Mabäcker
7457bf182c wiringpi: Bump SRCREV
Update wiringpi to latest revision. Due to a refactoring of the build
procedure in wiringpi the integration patch 'makefile-install.patch'
didn't apply anymore. While migrating that patch it was simplified and
generated using 'git format-patch' instead, to make it easier to maintain
the patch in the future.

[Support #60]

Signed-off-by: Petter Mabäcker <petter@technux.se>
Acked-by: Andrei Gherzan <andrei@gherzan.ro>
2015-07-19 14:53:27 +02:00
Petter Mabäcker
b78459f260 omxplayer: Bump SRCREV
[Support #60]

Signed-off-by: Petter Mabäcker <petter@technux.se>
Acked-by: Andrei Gherzan <andrei@gherzan.ro>
2015-07-19 14:52:37 +02:00
Petter Mabäcker
83c9ed7dc7 userland: bump SRCREV
Update to latest version of userland for rpi.

[Support #60]

Signed-off-by: Petter Mabäcker <petter@technux.se>
Acked-by: Andrei Gherzan <andrei@gherzan.ro>
2015-07-19 14:52:19 +02:00
Petter Mabäcker
9182a217c9 rpi-gpio: update version to 0.5.11
[Support #60]

Signed-off-by: Petter Mabäcker <petter@technux.se>
Acked-by: Andrei Gherzan <andrei@gherzan.ro>
2015-07-19 14:52:00 +02:00
Petter Mabäcker
27a8acecf5 pi-blaster: bump to latest version
Removed 'enable-autotools-support.patch' since it is included in latest
upstream. Also fix a cross compiling issue.

[Support #60]

Signed-off-by: Petter Mabäcker <petter@technux.se>
Acked-by: Andrei Gherzan <andrei@gherzan.ro>
2015-07-19 14:51:35 +02:00
Petter Mabäcker
5f057d9343 bcm2835: update version to 1.44
[Support #60]

Signed-off-by: Petter Mabäcker <petter@technux.se>
Acked-by: Andrei Gherzan <andrei@gherzan.ro>
2015-07-19 14:48:31 +02:00
Petter Mabäcker
3eafe9d57a rpi-mkimage: Bump SRCREV
Update to latest version of rpi-mkimg

[Support #60]

Signed-off-by: Petter Mabäcker <petter@technux.se>
Acked-by: Andrei Gherzan <andrei@gherzan.ro>
2015-07-19 14:47:58 +02:00
Petter Mabäcker
25d8f0b8d8 bcm: Bump SRCREV
Update to latest version of firmware.git

[Support #60]

Signed-off-by: Petter Mabäcker <petter@technux.se>
Acked-by: Andrei Gherzan <andrei@gherzan.ro>
2015-07-19 14:46:02 +02:00
Thomas Perrot
c8532df1c2 If SERIAL_CONSOLE is already define by another layer, this value may not be good.
Signed-off-by: Thomas Perrot <thomas.perrot@tupi.fr>
2015-06-05 16:38:14 +02:00
Trevor Woerner
0fc2b1c3ac bcm2835: update SRC_URI
It appears as though the location of this tarball has changed. The current
SRC_URI works but is redirected to this new location.

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
2015-06-05 16:32:38 +02:00
Petter Mabäcker
bfd50c24a2 README: fix outdated device tree info
After '6392a63 rpi-base.inc: Use KERNEL_DEVICETREE by default' was
introduced, the default value for 3.18+ kernels was changed. Ensure this
is reflected in the README.

Signed-off-by: Petter Mabäcker <petter@technux.se>
2015-06-05 14:49:47 +02:00
Petter Mabäcker
4a4373c02d devicetree: auto-disable dts for old kernels
After '6392a63 rpi-base.inc: Use KERNEL_DEVICETREE by default' was
introduced, kernel versions < 3.18 might not be buildable. Since full
device tree support was introduced in 3.18 this change ensures that all
kernel < 3.18 will automatically disable device tree.

Signed-off-by: Petter Mabäcker <petter@technux.se>
2015-06-05 14:49:46 +02:00
Petter Mabäcker
6ef9d94a2c linux-raspberrypi: Update 3.12 branch to latest
Update linux-raspberrypi_3.12 to latest revision.

Remove sl030raspberrypii2ckernel.patch since it will not apply anymore
and its content seems to be obsolite after
'558d0bf Fix grabbing lock from atomic context in i2c driver' was
merged to 3.12.

[Support #60]

Signed-off-by: Petter Mabäcker <petter@technux.se>
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2015-05-18 00:48:49 +02:00
Petter Mabäcker
bcae58ba84 linux-raspberrypi: Drop support for old kernel versions
meta-raspberrypi currently supports too many versions in order to ensure
that all of them are frequently tested and updated. Change to only
support latest stable + 2 long term versions.

[Support #59]

Signed-off-by: Petter Mabäcker <petter@technux.se>
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2015-05-18 00:48:49 +02:00
Petter Mabäcker
e1c5efc658 linux-raspberrypi: Add 3.14 support
Add basic support for Linux 3.14, cherry-pick changes from 3.18.y in
order to solve some debugfs warnings and get better support
for i2s for BCM2708.

- 3.14 lacks BCM2709 support and will not by default be able to use for
raspberry pi 2.

Below warnings still exists they are harmless and exists due to that
snd_soc_pcm512x is triggered to be loaded twice. The problem is solved
after device tree support for the driver was introduced in 3.18.y and no
easy solution exists to solve this problem on older kernel versions (see
https://github.com/raspberrypi/linux/issues/662 for more info).

   pcm512x 1-004c: Failed to reset device: -5
   pcm512x: probe of 1-004c failed with error

Remove sl030raspberrypii2ckernel.patch since it will not apply anymore
and its content seems to be obsolite after cherry-picking
'558d0bf Fix grabbing lock from atomic context in i2c driver'.

[Support #57]

Signed-off-by: Petter Mabäcker <petter@technux.se>
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2015-05-18 00:48:49 +02:00
Petter Mabäcker
c9f29df249 linux-raspberrypi: Update 3.18 branch to 3.18.11
Update linux-raspberrypi_3.18 to latest version.
Remove sl030raspberrypii2ckernel.patch since it will not apply anymore
and its content seems to be obsolite in later kernel versions.

[Support #56]

Change-Id: I91e57f4e65d9c1c9d12014f5d11b0acd950e2d1d
Signed-off-by: Petter Mabäcker <petter@technux.se>
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2015-04-30 21:55:02 +02:00
Andrei Gherzan
b896a7da70 .gitignore: Ignore some stuff
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2015-03-12 22:20:51 +01:00
Andrei Gherzan
a7ce059274 rpi-basic-image: Define rpi SPLASH specific package
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2015-03-12 22:20:51 +01:00
Andrei Gherzan
d1fa1c0b75 vc-graphics: Move to recipes-graphics
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2015-03-12 22:20:51 +01:00
Andrei Gherzan
ddd1f03373 firmware.inc: Move to recipes-bsp
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2015-03-12 22:20:51 +01:00
Andrei Gherzan
5810be737d bootfiles: Move to recipes-bsp
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2015-03-12 22:20:51 +01:00
Andrei Gherzan
c0ee9c7641 bcm2835: More recipe to devtools
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2015-03-12 22:20:51 +01:00
Petter Mabäcker
df7eeb6f86 xserver-xf86-config: add rpi2 awareness
Use a MACHINEOVERRIDE that is visible for both raspberrypi
and raspberrypi2.

[Bug #52]

Signed-off-by: Petter Mabäcker <petter@technux.se>
2015-03-12 22:20:51 +01:00
Andrei Gherzan
57c8e6bffb rpi-base.inc: Include the RPI2 DTB
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2015-03-01 22:43:40 +01:00
Andrei Gherzan
4e59c28f70 README: Layer now depends on meta-oe too
Samba is a build dependency for omxplayer.

Signed-off-by: Andrei Gherzan <andrei@resin.io>
2015-03-01 01:28:28 +01:00
Andrei Gherzan
23add242bc README: Remove info about gerrit server
We are not using the gerrit server anymore.
Send patches using the mailing list.

Signed-off-by: Andrei Gherzan <andrei@resin.io>
2015-03-01 01:21:06 +01:00
Petter Mabäcker
7146e12374 layer.conf: set high layer priority
Set a high layer prio to ensure that meta-raspberrypi addons
are always prioritized above the depended layers.

Signed-off-by: Petter Mabäcker <petter@technux.se>
2015-03-01 01:13:43 +01:00
Andrei Gherzan
1350ba8acf raspberrypi.conf: Use arm1176jzfshf as default tune
Reformat the tune-arm1176jzf-s.inc file.
There is not 'PACKAGE_EXTRA_ARCHS_tune-armv6hf-vfp'. Replace it by
'PACKAGE_EXTRA_ARCHS_tune-armv6hf'.

Change-Id: I0dd63b1dd3e1ebc7fe0600e93fb9d27a6a833cd9
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2015-03-01 00:59:51 +01:00
Andrei Gherzan
6392a63985 rpi-base.inc: Use KERNEL_DEVICETREE by default
We already switched to kernel v3.18 by default so we can activate
KERNEL_DEVICETREE by default too.

Change-Id: I69612be72f8254d462421112cf851e17a1ef24f8
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2015-03-01 00:59:50 +01:00
Andrei Gherzan
1949a0d5ba userland: Fix build for armv7
[Bug #49]

Change-Id: I340b4134ae4227f315c1c3df1345b04ebd4b874b
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2015-03-01 00:59:48 +01:00
Andrei Gherzan
ba383ecd35 linux-raspberrypi: Refactor kernel recipes
We use this to simplify the update process. Updating a kernel version will not
require renaming the recipe but only tweaking LINUX_VERSION.

Update kernel version:
        - bump SRCREV
        - bump LINUX_VERSION if needed

[Support #26]

Change-Id: I7565ddd1f03cc34c34aa5da92664a0057b415c9a
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2015-03-01 00:48:34 +01:00
Andrei Gherzan
4147bd7214 userland: Bump SRCREV
Change-Id: If1d2608322749db4baa445ba94bc471a0ac86a5c
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2015-03-01 00:43:33 +01:00
Andrei Gherzan
fde4b34aa2 bcm2835: Update to v1.38
Change-Id: Iebac94415602454dd4e2808c8e02d0083f804029
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2015-03-01 00:43:31 +01:00
Andrei Gherzan
72c43866c1 rpi-gpio: Update to v0.5.9
Change-Id: Ifc455b9106f07583ccaf3fe82723baaeb5e04d2e
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2015-03-01 00:43:29 +01:00
Andrei Gherzan
b7c3a935cc omxplayer: Bump SRCREV
Add a patch to fix the pkg-config mechanism in ffmpeg.

Change-Id: Ib506bb4e26a8a0c5c294ed55da0a0da8dc67a2d7
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2015-03-01 00:43:26 +01:00
Andrei Gherzan
d8bf60ce6c README: Github repo changed
Change-Id: If16b5a782d7154c05f6502554a03d215774e4c07
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2015-02-14 02:00:57 +01:00
Andrei Gherzan
463d0e2d7d README: As users asked - bitbucket mirror
Change-Id: I240e5686d4740a84c35e5063ba08bff363b1b91e
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2015-02-11 21:19:40 +01:00
Andrei Gherzan
54c5451a04 Add support for Raspberry PI 2
Add machine configuration file.
Change the kernel image name on SD card.
Use the defconfig for this machine (bcm2709_defconfig).

Change-Id: I6549d5f49b1ed32ef4d44aca6f7af4234618c1a8
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2015-02-08 14:46:42 +02:00
Andrei Gherzan
dedd45f4f8 Use variable for kernel image deployed name on SD card
Change-Id: I4a55b53d337930aae3351629a902dbac832ac958
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2015-02-08 00:30:40 +02:00
Andrei Gherzan
8c8a5cd64c linux-raspberrypi.inc: Make KERNEL_DEFCONFIG machine specific
Change-Id: I241a8adead67717f31d1b2e66a71bd5c3edfa9fd
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2015-02-08 00:28:37 +02:00
Andrei Gherzan
318f1b3994 firmware: Update to HEAD
Change-Id: I682365b514f233616ac7eb07667edc4ca6afcdfa
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2015-02-08 00:19:54 +02:00
Andrei Gherzan
7089e6a891 linux-raspberrypi.inc: Remove machine specific CMDLINE definition
This is already a raspberrypi specific recipe. So this is useless and would
break other machines.

Change-Id: Ie1d627384255660d7e213833fd4433f47c0edc1d
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2015-02-08 00:14:05 +02:00
Andrei Gherzan
18e5856a25 rpi-default-versions.inc: Use kernel v3.18 by default
Change-Id: If3ff46ae10b7bee2decead6dfa408833713d16f8
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2015-02-08 00:09:41 +02:00
Andrei Gherzan
e1d4448ce8 xserver-xf86-config: Use SOC specific assignements
In this way the modifications will be used on all RPI boards.

Change-Id: Ife10db876db85c1c4944028a0b49ccae4d8c0d41
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2015-02-08 00:06:36 +02:00
Andrei Gherzan
b89a2743fb raspberrypi.conf: Split in specific and common conf. files
*.conf files should hold board specific stuff while rpi-base.inc should
include configuration that is common for all Raspberry Pi boards.

Remove MACHINE_KERNEL_PR as we don't use it anymore.

Minor tweaks.

Change-Id: I5e1b12c1d224ac003d2890544beb036f1d5d8643
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2015-02-08 00:01:36 +02:00
Andrei Gherzan
b99a09b257 Merge "devicetree: Add support for DT overlays with RPi bootloader" 2015-02-07 22:14:22 +01:00
Francois Muller
2dbc974596 devicetree: Add support for DT overlays with RPi bootloader
Compile overlay device trees and put them in 'overlays/' folder
on sdcard RPi boot partition.

Change-Id: I3da0032b3c2618165008eec1fc94e97824d09099
Signed-off-by: Francois Muller <francois@concept-embarque.fr>
2015-02-07 20:54:37 +01:00
Petter Mabäcker
4905c7cc2b README: add info about device tree support
Add basic info about device tree support for RPi and how to use
KERNEL_DEVICETREE.

Also fix minor typo in the section about redmine.

Change-Id: Ibfee31e319c421c09d6e9cbfbe83364e8d055b95
Signed-off-by: Petter Mabäcker <petter@technux.se>
2015-02-06 23:33:52 +01:00
Francois Muller
4dc75cedf7 devicetree: Add minimal support with RPi bootloader
[RPi DT info] https://github.com/raspberrypi/documentation/blob/master/configuration/device-tree.md#part-3-using-device-trees-on-raspberry-pi

RPi bootloader detects a DT-ready kernel by checking for a specific trailer in kernel.img.
Using latest raspberrypi/firmware (firmware.inc) enables this check ability.
Using latest raspberrypi/tools (rpi-mkimage.bb) gives access to mkknlimg for adding the
required trailer to kernel image.


If KERNEL_DEVICETREE is filled in, the trailer is added to the kernel image before
kernel install task. While creating the SDCard image, this modified kernel is
put on boot partition (as kernel.img) as well as DeviceTree blobs (.dtb files).
If KERNEL_DEVICETREE is empty, this new process isn't operated, legacy one does.

KERNEL_DEVICETREE for RPi is really supported only starting from linux-rapsberry 3.18+
kernels, so as for now it defaults to empty (in machine config file).

Change-Id: Ifea71bbda729b8f3c47be7ba0ba03be5ad2ceeaa
Signed-off-by: Francois Muller <francois@concept-embarque.fr>
2015-02-05 14:07:00 +01:00
Andrei Gherzan
327c0c12b5 README: Fix redmine tag
Change-Id: I90d520c66f03503b225f42ac772b3b22cf461626
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2015-02-05 12:07:52 +02:00
Petter Mabäcker
dc6327683e linux-raspberrypi: Update 3.12 branch to 3.12.36
Update linux-raspberrypi_3.12 to latest version.

[ISSUE #10]

Change-Id: Ifd7e86587b3239a3b1240d2b8461560b16e08d08
Signed-off-by: Petter Mabäcker <petter@technux.se>
2015-02-05 09:59:52 +01:00
Petter Mabäcker
2adea22b46 Revert "linux-raspberrypi: Change to Linux Yocto style kernel recipes"
This reverts commit 67a1c4eaaf.

[ISSUE #39]

Conflicts:
	recipes-kernel/linux/linux-raspberrypi_3.2.27.bb

Change-Id: I03ae6b9c96894509a4fecd24eef8740889238730
Signed-off-by: Petter Mabäcker <petter@technux.se>
2015-02-05 09:59:40 +01:00
Andrei Gherzan
4535ac053f README: Commit log issue tag
Change-Id: I5c981a799abe709cac8e134ffb7b24fb21160de6
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2015-02-04 01:28:21 +02:00
Andrei Gherzan
12eeae3bdf Merge "linux-raspberrypi: Remove old v3.2.27" 2015-02-03 19:20:27 +01:00
Andrei Gherzan
b9a3b88ff9 Merge "linux-raspberrypi: Change to Linux Yocto style kernel recipes" 2015-02-03 19:20:15 +01:00
Andrei Gherzan
9ac77c112e README: Introduce redmine
Replace the ASCI graphics by some useful quick links.
Some minor other changes.

Change-Id: I7e1f118f22c60a5218751323c6cbebdc86e8e119
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2015-02-03 17:39:27 +02:00
Andrei Gherzan
a335bf5fe6 linux-raspberrypi: Remove old v3.2.27
Change-Id: If5e0a88acdfe67903d1a11133849f35f453904ac
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2015-02-01 04:03:12 +02:00
Alex J Lennon
67a1c4eaaf linux-raspberrypi: Change to Linux Yocto style kernel recipes
Yocto style recipes provide support for application of kernel
configuration fragments which is achieved with this change.

For further details see the Yocto Linux Kernel Development Manual

ref: http://www.yoctoproject.org/docs/1.6/kernel-dev/kernel-dev.html

In addition .bb files are simplified to take a SRCBRANCH which is
used by the SRC_URI set in linux-raspberrypi.inc and together with
the existing SRCREV define a checkout from the linux-raspberrypi
git repository.

A default configuration, defconfig, is provided as a baseline.
This is generated from bcmrpi_defconfig, as used in the existing
recipes, and so configuration options should be the same.

To change the kernel configuration a new configuration fragment
may be generated, as explained in the kernel development documentation
above, and this file then added to the SRC_URI via a .bbappend.

Added some minor refactoring and removed some useless code.

Change-Id: Ic72e14ec14ec3f042aeda0c6820f896be9c02e69
Signed-off-by: Alex J Lennon <ajlennon@dynamicdevices.co.uk>
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2015-01-31 18:07:58 +02:00
Andrei Gherzan
b6d899e4d2 README: Fix typo
Patch pulled from github:
https://github.com/djwillis/meta-raspberrypi/pull/101

Change-Id: I9aaa3687c30d0fde5e981e7cafbabad7dc24ce50
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2015-01-31 17:01:57 +02:00
Petter Mabäcker
efd760d0a2 linux-raspberrypi: faulty branch and srcrev for 3.16
linux-raspberrypi_3.16 used wrong branch (rpi-3.14.y instead of
rpi-3.16.y). Use latest SRCREV for 3.16 and bump version to 3.16.5.

Change-Id: Ic81eeddb0c8a4df1f11948f00491f83ab877d040
Signed-off-by: Petter Mabäcker <petter@technux.se>
Acked-by: Andrei Gherzan <andrei@gherzan.ro>
2015-01-25 21:47:45 +02:00
Petter Mabäcker
1eda7e8b74 linux-raspberrypi: fix do_configure failure
When building against newer yocto project releases below failure
occurs.

| DEBUG: Executing shell function do_configure
| NOTE: make oldconfig
| make: *** No rule to make target `oldconfig'.  Stop.
| ERROR: oe_runmake failed
| WARNING: exit code 1 from a shell command.
| ERROR: Function failed: do_configure

Fix this by trying to adapt more of the standard mechanism
that exists in yocto, in order to build "custom kernels".

Change-Id: I0598c0c16d84295a454976f60b56f9d35c36a4ba
Signed-off-by: Petter Mabäcker <petter@technux.se>
Acked-by: Andrei Gherzan <andrei@gherzan.ro>
2015-01-25 21:47:27 +02:00
Maciej Borzecki
1ed383d466 sdimage-raspberrypi.wks: kickstart image definition
Although the sdimage-bootpart.wks kickstrt file in Poky works
fine with Raspberry Pi, this patch adds a kickstart file that
mirrors sdcard_image-rpi.bbclass layout.

Change-Id: I34e60a9c89c9074ea9e114951165cb4fbffcb5c4
Signed-off-by: Maciej Borzecki <maciej.borzecki@open-rnd.pl>
Signed-off-by: Maciek Borzecki <maciek.borzecki@gmail.com>
Acked-by: Andrei Gherzan <andrei@gherzan.ro>
2015-01-25 20:39:58 +02:00
Maciej Borzecki
eb3f087a56 raspberrypi.conf: add IMAGE_BOOT_FILES
Add IMAGE_BOOT_FILES that defines a list of files to be placed in boot
partition. The variable is effectivey used with wic when building a SD
card image.

Change-Id: Ie7b2ea032349bf33ce7a9afc70e2fb4806ff9a04
Signed-off-by: Maciej Borzecki <maciej.borzecki@open-rnd.pl>
Signed-off-by: Maciek Borzecki <maciek.borzecki@gmail.com>
Acked-by: Andrei Gherzan <andrei@gherzan.ro>
2015-01-25 20:39:39 +02:00
Andrei Gherzan
a1f39c598e omxplayer: Minor tweaks
Change-Id: Ic88656f2efba3d976918a4c556931b294bd00ed5
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2015-01-25 20:30:25 +02:00
Andrei Gherzan
2dea23c4fb omxplayer: Add patch to fix lflags and cflags
This patch fixes the following package build break:
| arm-poky-linux-gnueabi-gcc is unable to create an executable file.
| C compiler test failed.

Change-Id: I9f0bf47e4bf969a793718e915fc6c5f4eab012bb
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2015-01-25 20:30:25 +02:00
Parthiban Nallathambi
6c6f44136f gstreamer1.0-plugins-bad: Making bbappend version independent
Making the bbappend file gstreamer1.0-plugins-bad into version independent

Change-Id: I1ed1fb91e23aa58e9b1a02429ca60a4484eaad93
Signed-off-by: Parthiban N <parthitce@gmail.com>
2014-11-20 12:32:36 +01:00
Andrei Gherzan
6b63f6fcbd omxplayer: Update to remote's HEAD
Cleanup and rebase patches.

Change-Id: I151fa6b067a66ac6de9eed920f7e16a08a157e17
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2014-08-24 03:04:54 +02:00
Andrei Gherzan
ec36d853d8 linux-raspberrypi: Replace v3.14.2 by v3.16.1
Latest kernel supported by rPI.

Change-Id: I658d8bb78ff61f856fc82328633ca227325436e4
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2014-08-24 03:03:36 +02:00
Andrei Gherzan
0a5b6bb390 linux-raspberrypi: Update 3.12 branch to 3.12.26
Change-Id: Ie6630f53bb2e4dd71825e0453236de30d25bd07b
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2014-08-24 03:02:52 +02:00
Andrei Gherzan
d85f800dd9 rpi-gpio: Update to v0.5.6
Change-Id: I93d3239c6f797d4a5ebf4d0ff5a910d20a9042ac
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2014-08-24 03:01:49 +02:00
Andrei Gherzan
5abdd93e35 firmware: Update to remote's HEAD
Change-Id: I320ceb1f6c0015d5ce48028b0e3581d2f4d52a3b
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2014-08-24 03:01:22 +02:00
Alex J Lennon
6a8c859c2f rpi-config,README: Add option to enable offline image compositing
Set this variable to enable support for dispmanx offline compositing
DISMANX_OFFLINE = "1"

This will enable the firmware to fall back to off-line compositing of
Dispmanx elements. Normally the compositing is done on-line, during scanout,
but cannot handle too many elements. With off-line enabled, an off-screen
buffer is allocated for compositing. When scene complexity (number and sizes
of elements) is high, compositing will happen off-line into the buffer.

Heavily recommended for Wayland/Weston.

See: http://wayland.freedesktop.org/raspberrypi.html

Change-Id: I722b20ff5bdba1bdd0683d30bee07c3934c95a1f
Signed-off-by: Alex J Lennon <ajlennon@dynamicdevices.co.uk>
2014-08-14 19:54:30 +02:00
Andrei Gherzan
e598f63fbb README: Some minor clarifications
Change-Id: I28f7e45b7b323597ed7e542ec117a2556bcecc94
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2014-08-14 19:37:22 +02:00
Andrei Gherzan
7ec84dd0a1 omxplayer: Add dependency on openssl
Change-Id: I06527c3814fe3690cdbbd03e4a41c79fe554773f
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2014-08-14 15:36:17 +02:00
Andrei Gherzan
9939629b44 gstreamer1.0-plugins-bad: Sync version with yocto master
Change-Id: I7913b849ddfc615de4846dbd653e03d084bb8039
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2014-08-14 15:36:14 +02:00
Andrei Gherzan
c3410fe342 Merge "gstreamer1.0-plugins-bad: Build eglglessink for Raspberry Pi" 2014-06-12 14:46:14 +00:00
Alex J Lennon
c67cee2e95 gstreamer1.0-plugins-bad: Build eglglessink for Raspberry Pi
The eglglessink needs to be built to target the Raspberry Pi or it will
seg-fault in use.

Autoconf attempts to detect whether to build for RPi but there are some
include files needed, the search path to which must be specified.

ref: https://github.com/raspberrypi/firmware/issues/34

ref: https://github.com/raspberrypi/firmware/issues/99

This patch adds the needed include paths and forces the plugin to be
built for Raspberry Pi.

With this patch the following pipeline works on RPi,

  modprobe bcm2835-v4l2 gst_v4l2src_is_broken=1
  gst-launch-1.0 --gst-debug-no-color v4l2src \
  ! 'video/x-raw,format=RGB,width=1280,height=720,framerate=(fraction)30/1' \
  ! eglglessink max-lateness=-1

Change-Id: Iabd93c0601c2ab898de3352a7d30423ef9cfce43
Signed-off-by: Alex J Lennon <ajlennon@dynamicdevices.co.uk>
2014-06-12 00:09:10 +01:00
Andrei Gherzan
f6680e791c README: Add patch guidelines info
Change-Id: I2dac882a6dbe2fbca63a5c7405339edcca18cf04
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2014-06-11 20:43:37 +03:00
Andrei Gherzan
4a6f326a23 Merge "linux-raspberrypi: Update kernel to 3.12.21" 2014-06-11 17:18:30 +00:00
Andrei Gherzan
9cb147d1dd Merge "pi-blaster: Added recipe" 2014-06-11 16:58:44 +00:00
Alex J Lennon
25fd817f62 pi-blaster: Added recipe
This project enables PWM on the GPIO pins you request of a Raspberry Pi.
The technique used is extremely efficient: does not use the CPU and gives
very stable pulses

Patches have been provided to build pi-blaster using autotools, and to
remove startup script dependencies on the lsb.

Change-Id: Ie1bec0702e4520d24e4f024aafff14ddef825589
Signed-off-by: Alex J Lennon <ajlennon@dynamicdevices.co.uk>
2014-06-11 17:40:54 +01:00
Alex J Lennon
0409d0e521 linux-raspberrypi: Update kernel to 3.12.21
Amongst other patches, this release includes a fix to an issue with
gstreamer1.0 and v4l2src blocking

ref: https://bugzilla.gnome.org/show_bug.cgi?id=726521

ref: http://tinyurl.com/mkqooeg

To make use of the optional fix the module parameter gst_v4l2src_is_broken
needs to be set when loading bcm2835-v4l2.ko

With this in place, and with userland and gstreamer1.0-omx patches,
gstreamer1.0 can be used with PiCam via v4l2src instead of raspivid.

(There may still be performance issues to be addressed for v4l2src vs
raspivid pipe & fdsrc).

Change-Id: Ia0ed4e6c8f27df9bb12ae2350526f6314e016d51
Signed-off-by: Alex J Lennon <ajlennon@dynamicdevices.co.uk>
2014-06-11 12:50:26 +01:00
Alex J Lennon
aa790be2fa userland: Add SRCBRANCH and SRCFORK for use by SRC_URI
Makes it clearer to manage repo forks, and branches prior to (e.g.) upstream
commits of in tree changes.

Change-Id: I42f8af975c08f84c4ceb9910713eba2da3a87d8b
Signed-off-by: Alex J Lennon <ajlennon@dynamicdevices.co.uk>
Acked-by: Andrei Gherzan <andrei@gherzan.ro>
2014-06-10 21:20:21 +03:00
Alex J Lennon
e7fdcad1fa userland: Add '--no-as-needed' linker flag
This is done to ensure all specified shared libraries are linked against
applications (e.g. raspivid)i.

libmmal_vc_client.so makes use of __attribute__(constructor) to ensure
that supplier components (e.g. camera) are loaded when the static library is
loaded.

raspivid, and possibly other applications, link against libmmal_vc_client.so,
causing the ctor to execute, but there is no needed dependency.

Some build environments (e.g. Yocto/OpenEmbedded) pass the '--no-as-needed'
linker flag which removes the dependency on libmmal_vc_client and thus
components are not registered.

In this situation raspivid then gives an error of the form
  root@raspberrypi:~# raspivid -o test
  mmal: mmal_component_create_core: could not find component 'vc.ril.camera'
  mmal: Failed to create camera component
  mmal: main: Failed to create camera component
  mmal: Failed to run camera app. Please check for firmware updates

For further details see:
https://lists.yoctoproject.org/pipermail/yocto/2014-June/019933.html

Change-Id: I9d787fd83379e8b6428dde3827395c8b96be1f7f
Signed-off-by: Alex J Lennon <ajlennon@dynamicdevices.co.uk>
Acked-by: Andrei Gherzan <andrei@gherzan.ro>
2014-06-10 21:20:15 +03:00
Andrei Gherzan
f3a8693f08 omxplayer: Update to remote's HEAD
Rebase a patch for this version and fix "unsafe for cross-compilation"
warnings.

Change-Id: Idcc9f188bc716982ede9dfb5f87870d9f5a2f9a3
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2014-05-09 14:56:59 +03:00
Andrei Gherzan
4bdd72341c rpi-gpio: Update to v0.5.5
Change-Id: I8394426b9ffc3c3b524e9fb536945e25d74b2ddd
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2014-05-09 14:56:59 +03:00
Andrei Gherzan
c07c5cdbf3 userland: Update to remote's HEAD
Change-Id: If0e36184c741da5d68c158e1fb582050f5835bf9
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2014-05-08 21:26:38 +03:00
Andrei Gherzan
4167e7e210 firmware: Update to remote's HEAD
Change-Id: I9e28318c5746484ebde636295c66f7b6b64ba2fb
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2014-05-08 21:26:32 +03:00
Andrei Gherzan
abcd66b30d linux-raspberrypi: Replace v3.13.3 by v3.14.2
Change-Id: I2ceb950d30f984ab66de79085b30b541d20e6e25
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2014-05-08 21:26:26 +03:00
Andrei Gherzan
34c217d114 linux-raspberrypi: Update v3.12.11 to v3.12.18
Change-Id: Ifa763e4352051e4533eac98b4f7c74daf791cf72
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2014-05-08 21:26:17 +03:00
Andrei Gherzan
d470f32da2 linux-raspberrypi: Remove v3.11
Change-Id: I28824a738a081bdeb362da4cf0cb449d11cbe449
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2014-05-08 21:26:10 +03:00
Andrei Gherzan
d399605ea5 linux-raspberrypi: Update v3.10.30 to v3.10.38
Change-Id: Ia620e8fd6928f9cd2c625b87599cd6d6a405a344
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2014-05-08 21:26:03 +03:00
Andrei Gherzan
00e185cf52 rpi-default-versions: Use 3.12.X as default kernel version
Change-Id: Ief7949be4b9726b5b6ba58e6280f6b6ca3fdfdc4
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2014-05-08 21:25:52 +03:00
Michaël Burtin
02c9c4eded xserver-xf86-config: Remove changes of THISDIR and FILESPATH
THISDIR and FILESPATH are not supposed to be changed from within
recipes. This was causing troubles with other bbapend.

Change-Id: I7c3c788ddb61b0b790a9fe06f86e4bd93a822c8c
Signed-off-by: Michaël Burtin <mburtin@connected-labs.com>
Acked-by: Andrei Gherzan <andrei@gherzan.ro>
2014-05-08 21:21:40 +03:00
Paul Barker
2f98f49fab Remove uses of PRINC
PRINC is now obsolete and the PR Service should be used instead to keep PR
values incrementing on change.

A patch has also been submitted to openembedded-core to bump the appropriate PR
values so that PR doesn't move backwards. This patch should only be applied
after that patch, and only to branches which include that patch (ie. if that
patch doesn't go into daisy in oe-core, this patch shouldn't go into daisy in
meta-raspberrypi).

Change-Id: Ibac9e4e89d12dbd6e94430f47e20b82a67506625
Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
Acked-by: Andrei Gherzan <andrei@gherzan.ro>
2014-05-08 21:20:26 +03:00
Andrei Gherzan
cc74bf6c1f omxplayer: Separate build directory is broken for this package
Change-Id: If08395ecd79c1d8e9a269ba03efba863de8dbe9d
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2014-05-08 20:26:12 +03:00
Andrei Gherzan
a986e168bc bcm2835: Fix recipe when using separate build directory
Change-Id: I18f41c1cd3a0b1158e96e6d2d4455268700d3496
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2014-05-08 20:25:25 +03:00
Andrei Gherzan
fbc0947e96 Merge "sdcard_image-rpi: make rpi-sdimg image dependent on rootfs type" 2014-03-05 15:59:28 +00:00
Andrei Gherzan
edce18f691 omxplayer: Don't hardcode datadir
Change-Id: Ibe66106fdf1da38d43278f5e2853c722709b91db
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2014-03-05 17:48:45 +02:00
Jonathan Liu
f638f7cf38 sdcard_image-rpi: make rpi-sdimg image dependent on rootfs type
The rootfs may be using a filesystem type other than ext3 so it should
not be hardcoded.

Change-Id: I71c1a96831ce4617b24de7743fe3b70ec5822a33
Signed-off-by: Jonathan Liu <net147@gmail.com>
2014-03-06 00:29:13 +11:00
Andrei Gherzan
a760ea5fa2 sdcard_image-rpi: Make rpi-sdimg image dependent on ext3
Change-Id: Ib48c8fd941be5ceb8fe2bcc087f53fb4ef1c0eb5
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2014-02-25 17:47:07 +02:00
Andrei Gherzan
bdb6b72284 mesa: Replace ugly fix for gles/egl
Use instead, the special created recipe mesa-gl which provides on libgl.

Change-Id: I5ed3c50a0a794f8ea63cc1906f0139ec47459fa6
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2014-02-25 17:45:00 +02:00
Andrei Gherzan
9d626df7b8 Merge changes I1eecd332,I635b2f2b,Iad457c26,Iace03974,I4358434c,Ib15942c4,I724511ad
* changes:
  omxplayer: Update to current remote HEAD
  userland: Update to current remote HEAD
  firmware: Update to current remote HEAD
  linux-raspberrypi: Add v3.13.3
  linux-raspberrypi: Update v3.12.7 to v3.12.11
  linux-raspberrypi: Update v3.10.26 to v3.10.30
  linux-raspberrypi: Update v3.11.10 to current remote HEAD
2014-02-24 11:22:03 +00:00
Andrei Gherzan
9d8e47274b omxplayer: Update to current remote HEAD
No need for mktemp-compatible-with-busybox.patch as the issue was
fixed in current revision.
omxplayer startup bash script needs pgrep so add procps to RDEPENDS.

Change-Id: I1eecd332e8e51dbbf97e25ec6ed133077f137d7b
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2014-02-24 13:19:06 +02:00
Jonathan Liu
fcf5cb333e mesa: rename .bbappend to match new version from oe-core
Change-Id: Ie3c7bc3e70bfd46cea64ef813c3875d1ba8d07fc
Signed-off-by: Jonathan Liu <net147@gmail.com>
2014-02-21 22:05:47 +11:00
Andrei Gherzan
f83334b687 userland: Update to current remote HEAD
Change-Id: I635b2f2bff03ca7f091f8d5476afa4681f6bda71
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2014-02-21 10:32:15 +02:00
Andrei Gherzan
55e2c1c172 firmware: Update to current remote HEAD
Change-Id: Iad457c2610ee3a0209598c92e5c473ae8f113636
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2014-02-21 10:31:18 +02:00
Andrei Gherzan
d06976118b linux-raspberrypi: Add v3.13.3
Change-Id: Iace039740f3b1b910d65bd3a2c82dc08836fde57
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2014-02-21 10:27:54 +02:00
Andrei Gherzan
8ba072fa76 linux-raspberrypi: Update v3.12.7 to v3.12.11
Change-Id: I4358434c036eb8285f60dafac961c5734da1320b
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2014-02-21 10:27:30 +02:00
Andrei Gherzan
2bcc11d41e linux-raspberrypi: Update v3.10.26 to v3.10.30
Change-Id: Ib15942c4f525c8765d49deda94d2195dc01df14c
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2014-02-21 10:26:52 +02:00
Andrei Gherzan
54d3650fa1 linux-raspberrypi: Update v3.11.10 to current remote HEAD
Change-Id: I724511ad5e96ff1b7779c3afe772eaf0d5250c8e
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2014-02-21 10:25:12 +02:00
Andrei Gherzan
27ae741581 Merge "sdcard_image-rpi.bbclass: use absolute path to rootfs" 2014-02-21 08:16:16 +00:00
Koen Kooi
9f79376203 xserver-xf86-config: don't use wildcards in SRC_URI
It is strongly discouraged to use wildcards in SRC_URI since it breaks
when using multiple bbappends and immediate expansion of FILESDIR.

This fixes a do_install failure when building with multiple BSPs
enabled.

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2014-02-21 10:12:21 +02:00
Jonathan Liu
c2102292fa sdcard_image-rpi.bbclass: use absolute path to rootfs
Change-Id: Ib513f195351b379dbb9f503dc5927f2018169b95
Signed-off-by: Jonathan Liu <net147@gmail.com>
2014-02-18 22:39:47 +11:00
Sébastien Mennetrier
5e62146ae3 Add initramfs support
Permit to build an image with initramfs.
Add information in README to build with initramfs.

Change-Id: Icb812151a22771717805ec0a82feb7993f462b47
Signed-off-by: Sébastien Mennetrier <s.mennetrier@innotis.org>
2014-02-14 01:23:33 +02:00
Andrei Gherzan
d6468b7f91 Merge "tune-arm1176jzfs-s.inc: Add hard float profile, arm1176jzfshf, in AVAILTUNES" 2014-02-11 10:59:58 +00:00
Andrei Gherzan
833e61aa5c rpi-mkimage: Integrate package
Tool needed to convert bootable images in kernel.img files which can be loaded
by rpi bootloader.

Change-Id: I0088707be5d31d77def1087f51e3f8cc886d19db
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2014-02-09 03:05:14 +02:00
Andrei Gherzan
34047964fe u-boot-rpi: Integrate package
Change-Id: I61f2cd7d3b64ea3efac618aa2bb3555e9e79da2a
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2014-02-09 03:05:14 +02:00
Andrei Gherzan
dbc5ea02b2 README: Add info about U-Boot support
Change-Id: I1b17ef313d2005b7bf0ef853a2730144032f8539
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2014-02-09 03:05:14 +02:00
Andrei Gherzan
d9ce376660 sdcard_image-rpi: Add support for u-boot and uImage
If KERNEL_IMAGETYPE is uImage, use u-boot image as kernel.img and copy uImage
too. Otherwise, use kernel image as kernel.img (as we did until now
unconditionally).

Change-Id: Iac46a57e4266299f2fe5746cb6957dcfc0e90443
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2014-02-09 03:05:13 +02:00
Kazuya Nishimura
d0cb637e1b tune-arm1176jzfs-s.inc: Add hard float profile, arm1176jzfshf, in AVAILTUNES
* arm1176jzfshf uses -mtune=hard.
* Add -mfpu=vfp if vfp is included in TUNE_FEATURES

Signed-off-by: Kazuya Nishimura <kazuya.nisimura@gmail.com>
Change-Id: If81977cacbba052fa30c4a407ec65e93148d2ee3
2014-02-04 23:28:53 +09:00
Andrei Gherzan
7b1791f45f raspberrypi.conf: Let KERNEL_IMAGETYPE be modified
Change-Id: I6019c1ec77ed1ec5c00ab16cb57dd108e2bd5ba8
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2014-01-25 13:02:13 +02:00
Andrei Gherzan
48bd943382 rpi-default-providers: Move PREFERRED_VERSIONs to rpi-default-versions.inc
Change-Id: I61c32aa23eef86cb9861776b37c4ecd8f7c8052c
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2014-01-25 13:02:13 +02:00
Andrei Gherzan
26fa448b0c rpi-default-providers: Use u-boot-rpi as u-boot provider
Change-Id: Ic537cada66ff09cde592da977a109415e05cb19c
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2014-01-25 13:02:13 +02:00
Andrei Gherzan
8778a3724c rpi-config: Use deploy as it should be used
Change-Id: I6c7782f3f46adeae74e22991bb9203dafa2e1c78
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2014-01-25 13:01:48 +02:00
Andrei Gherzan
9fea357028 bcm2835-bootfiles: Use deploy as it should be used
Change-Id: Ia90f01e037286647fdfafdd54ccb47c1ad9cbab2
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2014-01-25 13:01:48 +02:00
Andrei Gherzan
ca8a3eeaaf omxplayer: Update to remote HEAD
* Rebase 0002-Libraries-and-headers-from-ffmpeg-are-installed-in-u.patch
to apply on HEAD.
* Add fix-tar-command-with-DIST.patch which reverts a change in tar command
which breaks compilation if DIST is an absolute path.
* Avoid stripping omxplayer binary (let build system take care of strpping).

Change-Id: I95d70094b0069ad19f7d445abaf421756776c4c7
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2014-01-19 20:38:06 +02:00
Andrei Gherzan
30e3972912 packagegroup-rpi-test: Add some packages
bcm2835 is an empty package because this recipe provides a static library.
Install on target only bcm2835-tests package in which files are statically
linked to that library.

Add forgotten GPIO packages: rpi-gpio and rpio.

Change-Id: I498d2a3948ad5faf963d492bc496d4725a79e136
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2014-01-19 20:32:59 +02:00
Andrei Gherzan
9a3ee96ea3 rpi-gpio: Update to v0.5.4
Change-Id: Ie24be5363933fa994e38b030677d7381eb8a7f2a
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2014-01-19 20:29:43 +02:00
Andrei Gherzan
da3e157408 bcm2835: Update to v1.36
Change-Id: I8b55d7233919b6ebe68b9504eb2504bedb1846e1
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2014-01-19 20:28:39 +02:00
Andrei Gherzan
49c0872448 README: Cleanup and add info about images
Change-Id: I904de647fdd5514d361d33e887fd68977cde7e8c
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2014-01-19 17:22:00 +00:00
Andrei Gherzan
4ace9c24f0 rpi-test-image: Add test image
Change-Id: Iff4f58b43d1dcf5ea4f866b565542807345d6066
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2014-01-19 17:21:42 +00:00
Andrei Gherzan
c1b08f6704 Merge "packagegroup-rpi-test: Add test packagegroup" 2014-01-19 17:20:11 +00:00
Andrei Gherzan
07764b251d Merge "omxplayer: Update to HEAD and tweak SUMMARY and DESCRIPTION" 2014-01-19 17:19:41 +00:00
Andrei Gherzan
c4fd6d1102 linux-raspberrypi: Update v3.11.10 to remote HEAD
Change-Id: Ia0eac89faa63cb6d748f2749b82d1f80588e6a04
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2014-01-18 14:24:52 +02:00
Andrei Gherzan
5916b4abd2 userland: Update to remote HEAD
Change-Id: Ib98889d05b33ec2647966f2827e1fbf84f35fd95
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2014-01-18 14:24:47 +02:00
Andrei Gherzan
31375eb909 firmware: Update to remote HEAD
Change-Id: I20a8ebf0e5743250c66fae337d28e867959d3114
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2014-01-18 14:24:37 +02:00
Andrei Gherzan
c4527681d2 linux-raspberrypi: Update v3.10.24 to v3.10.26
Change-Id: I1fa7211af2d0c80ed49e6b3f70565ace88088601
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2014-01-17 16:59:55 +02:00
Andrei Gherzan
43414393af linux-raspberrypi: Update v3.12.4 to v3.12.7
Change-Id: Id721163e3e69946e3c82710bf12851211b493dee
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2014-01-17 16:59:31 +02:00
Andrei Gherzan
3d7a6edce0 packagegroup-rpi-test: Add test packagegroup
Change-Id: I74f7c0d33d5f9692a427587bf0f8ef9980ebfcd3
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2014-01-17 16:48:44 +02:00
Andrei Gherzan
cbb6008288 omxplayer: Update to HEAD and tweak SUMMARY and DESCRIPTION
* Update to current git HEAD commit which includes fix for boost 1.55.
* Replace tabs by spaces
* Tweak SUMMARY and DESCRIPTION
* Add bash to PN RDEPENDS as omxplayer is actually a bash script.
* omxplayer is a bash script - add RDEPENDS and fix mktemp inside

Change-Id: I5c8a4cf1005ba49f9b01821e3f832d1da49869bc
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2014-01-17 16:48:44 +02:00
Andrei Gherzan
3994102d7b linux-raspberrypi: Remove old v3.12.0
Change-Id: Ie757c9626540aaed44d35bf2ae058bb0cdcc6d08
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2014-01-03 23:20:53 +02:00
Andrei Gherzan
908e69151b userland: Update to latest HEAD
Change-Id: I4403ab492bbe825541149905995ad3e4c61dc897
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2014-01-03 23:20:50 +02:00
Andrei Gherzan
7cb819a69b firmware.inc: Update to latest HEAD
Change-Id: I758da027a378b535205d42b9304473704be63fb2
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2014-01-03 23:20:47 +02:00
Andrei Gherzan
6305870896 linux-raspberrypi: Update v3.6.11 to latest HEAD
Change-Id: I9e30fc0c9a16df888ce8e0f56f5bcf7a3aff77bf
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2014-01-03 23:20:43 +02:00
Andrei Gherzan
be20e02dec linux-raspberrypi: Update v3.11.7 to v3.11.10
Change-Id: I8ba4b853a9e3f07517c401c9a421c65c53c25977
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2014-01-03 23:20:39 +02:00
Andrei Gherzan
78519944fe linux-raspberrypi: Update v3.10.18 to v3.10.24
Change-Id: Icf95ec58d39eb187c0cf0fe31fd1822f81f3f038
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2014-01-03 23:20:36 +02:00
Gary Thomas
5aec26c461 linux-raspberrypi: Add version 3.12.4+
This kernel enables camera video via the new 'bcm2835-v4l2' module.
Just add 'start_x=1' to your boot config.txt

Change-Id: I19f72708b854291314691944a58fa16451e2677b
Signed-off-by: Gary Thomas <gary@mlbassoc.com>
Acked-by: Andrei Gherzan <andrei@gherzan.ro>
2014-01-03 23:07:53 +02:00
Gary Thomas
7bea82b2b8 rpi-config: Add video camera control
Add video camera enable 'VIDEO_CAMERA' for config.txt

Change-Id: I547004eebfba204ba683365bbdbad143f2cdfe6e
Signed-off-by: Gary Thomas <gary@mlbassoc.com>
Acked-by: Andrei Gherzan <andrei@gherzan.ro>
2014-01-03 23:07:46 +02:00
Gary Thomas
9cd9f42fa1 README: Add video camera control
Add optional 'VIDEO_CAMERA' setting to enable video
camera at boot time.

Change-Id: I8b2509aee1ff8ec94b7a3a3b5066d0411a957f43
Signed-off-by: Gary Thomas <gary@mlbassoc.com>
Acked-by: Andrei Gherzan <andrei@gherzan.ro>
2014-01-03 23:07:43 +02:00
Alexandru Niculita
bfb7098335 bcm2835: Update to version 1.34
Change-Id: I189927439028f6f11f513c84c5e6dc6bfb249d06
Signed-off-by: Alexandru Niculita <alexnick87@gmail.com>
2013-12-18 13:11:43 +02:00
Andrei Gherzan
acc1661473 Merge "wiringpi: Add new package" 2013-12-15 13:46:51 +00:00
Andrei Gherzan
5dc928066a Merge "rpi-default-providers: Use jpeg as default provider" 2013-12-03 21:21:56 +00:00
Andrei Gherzan
6864865fd6 rpi-default-providers: Use jpeg as default provider
Change-Id: Ic7f1faa3ed60a3ccd1b0b08ed366cfb71df06536
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2013-11-29 11:51:49 +02:00
Andrei Gherzan
3f519e6b89 linux-raspberrypi_3.10.18: Fix commit SHA
The remote SHA used is no longer available in github. Move to a
usable one.

Fixies this build error:
fatal: reference is not a tree: ae937f99fee8a37f2ddd7270f6bcc0e497e8c903
on raspberry 3.10 kernel:
raspberrypi-poky-linux-gnueabi/linux-raspberrypi/3.10.18+gitae937f99fee8a37f2ddd7270f6bcc0e497e8c903-r0

More info: https://trello.com/c/tQ7l8ftd

Change-Id: I9fcc571622cbe4adb8ed99b11e5d6889e791d555
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2013-11-29 11:46:41 +02:00
Alexandru Niculita
eff5ec9b75 omxplayer: Updated package to the latest version from git
Changed the active development repository to git://github.com/popcornmix/omxplayer.git
Added dbus package as a dependency.
Installed fonts directory in the default location needed by omxplayer

Change-Id: Ie2e1ae73656d3c9a5cbefbf87d0792b10fcd9430
Signed-off-by: Alexandru Niculita <alexnick87@gmail.com>
2013-11-14 17:26:13 +02:00
Andrei Gherzan
aa662e8575 userland: Update to HEAD on 2013-11-13
Change-Id: Ic618f8bc5365b9f787a230a2a3e0ccb92c17738a
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2013-11-13 18:24:39 +02:00
Andrei Gherzan
bfe7d23dd1 firmware.inc: Update to HEAD on 2013-11-13
Change-Id: I00ace3f8575015612ae09dfb99e2a33d87ddc4cb
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2013-11-13 18:24:39 +02:00
Andrei Gherzan
c96c590d0c rpi-default-providers: Use 3.10.X as default kernel
This is the default/base branch on official github repository:
https://github.com/raspberrypi/linux/branches

Change-Id: I99702ae7548b49a5b4b575b3f02f5a3a48ad347f
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2013-11-13 18:24:39 +02:00
Andrei Gherzan
4498a2be50 linux-raspberrypi: Add version 3.10.18 and 3.12.0
Change-Id: Idd59fed4f2ab975c50b3727e436b4a0caeb0ab16
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2013-11-13 18:24:39 +02:00
Andrei Gherzan
0680f82e91 linux-raspberrypi: Update available versions to HEAD
Update 3.11.0 to 3.11.7 HEAD.
Update 3.6.11 to HEAD.

Change-Id: Iacd8f78b418b0bd6d8513b97ce57ce0108057850
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2013-11-13 18:17:09 +02:00
Alexandru Niculita
c1f6772e6b bcm2835: Update to version 1.32
Change-Id: I68721f30c9551b392d2851a96d9819524a088faf
Signed-off-by: Alexandru Niculita <alexnick87@gmail.com>
2013-11-13 17:21:34 +02:00
Andrei Gherzan
8c35f8f296 Merge "raspberrypi.conf: is not a usb gadget" 2013-11-13 14:48:49 +00:00
Andrei Gherzan
4c3555651b Merge "README: Fix IMAGE_FSTYPES example" 2013-11-13 14:01:18 +00:00
Andrei Gherzan
1929844aab Merge "README: Add info" 2013-11-13 13:59:04 +00:00
Andrei Gherzan
b7511f7fda README: Add info
* Add some other minor formatting changes.
* Add info about Trello board.
* Add info about Gerrit server.
* Split source code info in a separate section.

Change-Id: Ib8fe5e11c1d95d14ff825a26d356b5ae432f2f93
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2013-11-13 15:57:14 +02:00
Andrei Gherzan
184fa20444 Merge "sdcard_image-rpi.bbclass: Allow optional compression" 2013-11-13 13:51:28 +00:00
Dan McGregor
5c8d2c08df raspberrypi.conf: is not a usb gadget
Change-Id: I93ed1832905e4fdfc5f5d387c37933b60a50f4c5
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2013-11-12 18:41:39 +02:00
Dan McGregor
298e28ff96 wiringpi: Add new package
Commit created from merging:
c8046050db
fe2467c0e8
72f7705cba

Added some minor changes:
* remove PR
* remove tabs

Change-Id: Ia430db732e6c9662f71eca2433d03cce738ca23f
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2013-11-12 18:37:23 +02:00
Andrei Gherzan
fef11f98cf Merge "mesa: Remove egl and gles only for raspberrypi machine" 2013-11-12 16:11:02 +00:00
Alexandru Niculita
9fb923aa8d Add kernel 3.8 and 3.11 for Raspberry Pi
From: Philipp Wagner <mail@philipp-wagner.com>

Change-Id: I08dc33857334f0f4bd6fe3fa24b417c01d4729c8
Signed-off-by: Philipp Wagner <mail@philipp-wagner.com>
Signed-off-by: Alexandru Niculita <alexnick87@gmail.com>
2013-11-12 17:38:54 +02:00
Alexandru Niculita
e921fcc54c Make Linux 3.6 the default for Raspberry Pi
From: Philipp Wagner <mail@philipp-wagner.com>

Kernel 3.6 is also the default for Raspbian and thus should be the
most tested version right now.

Change-Id: I03a75fa1be3ab0f8f43fb09a8fff779c6d9100e7
Signed-off-by: Philipp Wagner <mail@philipp-wagner.com>
Signed-off-by: Alexandru Niculita <alexnick87@gmail.com>
2013-11-12 17:36:50 +02:00
Alexandru Niculita
c454aef30f Remove tabs from recipe
From: Philipp Wagner <mail@philipp-wagner.com>

Change-Id: I24aea3b31e144d6f22f9149c186eeaae8b9e2c58
Signed-off-by: Philipp Wagner <mail@philipp-wagner.com>
Signed-off-by: Alexandru Niculita <alexnick87@gmail.com>
2013-11-12 17:35:14 +02:00
Alexandru Niculita
228f0a3ecb Refactor kernel recipes to reduce code duplication
From: Philipp Wagner <mail@philipp-wagner.com>

Change-Id: Ie4bc0d5f3f3301a1955dd077a0d2c3e3286266e3
Signed-off-by: Philipp Wagner <mail@philipp-wagner.com>
Signed-off-by: Alexandru Niculita <alexnick87@gmail.com>
2013-11-12 17:31:50 +02:00
Paul Barker
bb665e7140 README: Fix IMAGE_FSTYPES example
The SD image is always created with the extension "rpi-sdimg" and this cannot be
changed by editing IMAGE_FSTYPES.

Change-Id: I7336e8c698f13fba14ef9cc9bf6c0b262bf261e5
Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
2013-11-12 17:17:51 +02:00
Paul Barker
164e87c291 sdcard_image-rpi.bbclass: Allow optional compression
Image files will typically contain lots of null blocks and should compress well.
This will help with distribution of images over slow network links.

Change-Id: Icec7454ff61cd81a2872037037a93ce01191ece5
Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
2013-11-12 17:17:46 +02:00
Andrei Gherzan
40267fd013 mesa: Remove egl and gles only for raspberrypi machine
Change-Id: I25fab6e100546cfffdd901383f76de76cd7763ed
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2013-11-12 00:19:55 +02:00
Andrei Gherzan
c52d4b3da1 mesa: Modify version to match the one from oe-core
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2013-11-11 11:59:45 +02:00
Andrei Gherzan
0537685dc7 base-files: Remove profile and fstab
Remove these files as the default ones work just OK.
Moreover, not having /run mounted as tmpfs, would break mounting root as
read only. This is done in the default fstab so use that one.

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2013-08-21 18:20:56 +03:00
Andrei Gherzan
8751681571 vc-graphics: Remove some useless new lines
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2013-08-21 15:55:17 +03:00
Andrei Gherzan
0ab5263f53 firmware: Update to 2013-08-20 master's snapshot
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2013-08-21 15:55:13 +03:00
Andrei Gherzan
ca4e4659f6 omxplayer: Update to 2013-08-20 master's snapshot
* Use DIST for install path as used in package's makefile.
* Set FLOAT based on callconvention-hard TUNE_FEATURE.
* Add an include path to avoid a header error.

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2013-08-21 15:55:05 +03:00
Andrei Gherzan
78d3a9d68d bcm2835: Update to v1.9
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2013-08-21 15:55:00 +03:00
Andrei Gherzan
caf5f88c65 mesa: Use libgl from mesa for raspberrypi
The graphics libraries provided by userland does not include libgl. So compile
mesa with libgl support and remove gles and egl from it as these are provided
by userland.

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2013-08-21 15:54:58 +03:00
Andrei Gherzan
0680e94115 rpio: Integrate v0.10.0
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2013-08-21 15:54:54 +03:00
Andrei Gherzan
cb6ee9867d rpi-gpio: Update to v0.5.3a
don-t-install-setuptools.patch was removed as this is included now in the new
version.

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2013-08-21 15:54:52 +03:00
Andrei Gherzan
cfd873e223 rpi-config: Update to 2013-08-20 master's snapshot
Use git as package version. There is no package version for this script.

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2013-08-21 15:54:49 +03:00
Andrei Gherzan
7c73b36d4a userland: Update to 2013-08-20 master's snapshot
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2013-08-21 15:54:46 +03:00
Andrei Gherzan
c95edb57d9 linux-raspberrypi: Update to 2013-08-20 rpi-3.6.y's and rpi-3.2.27's snapshot
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2013-08-21 15:54:43 +03:00
Andrei Gherzan
5da09b299e README: Add info about extra apps / omxplayer
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2013-08-21 15:54:41 +03:00
Andrei Gherzan
88f8ddceef rpi-default-providers.inc: Remove preferred provider to linux headers
We do this because the recipe was removed. Check:
commit 808f5e54f8

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2013-06-23 23:15:46 +03:00
Paul Barker
996021a83a rpi-gpio: renamed from RPi-GPIO
Package names shouldn't contain capital letters.

Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
2013-06-23 23:09:05 +03:00
Richard Purdie
7b6aa02efe linux-raspberrypi: Fix i2c issues
I was having intermittent i2c issues on the device until I applied this kernel patch
which I found online.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-06-23 23:07:28 +03:00
Richard Purdie
808f5e54f8 linux-libc-headers-raspberrypi: Drop, its unneeded and bad practise
If we have this recipe, it means the whole armv6 (or whichever tune) is chosen depends
on a machine specific recipe. This makes no sense as armX packages are meant to be
machine independent.

We've had this problem in other layers and it causes needed rebuilds of packages
when you switch machines since the sstate checksums change. These headers are just part
of the toolchain bootstrap process so "standard" kernel headers are fine. The kernel
header version does need to be later of equal to the kernel version but we're fine in
that regard since the core is on 3.8, the latest pi kernel is 3.6.

There is nothing special about these headers so lets remove them and use the standard
system provided recipe, avoding any rebuilds. I tested the various other recipes in
the layer and there doesn't seem to be any dependency on these headers.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-06-23 23:07:28 +03:00
Paul Barker
ac879f9e21 psplash: only set image for MACHINE=raspberrypi
Instead of overriding the default psplash image, the raspberrypi image is added
as an additional image. It is then set as the default in the raspberrypi machine
config file so that other targets do not pick up our splash image.

Tested on raspberrpi and qemuarm: on raspberrypi I see to Raspberry Pi logo, on
qemuarm I see the Yocto Project logo.

Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
2013-06-10 12:04:59 +03:00
Paul Barker
26000aace1 bootfiles, vc-graphics: consolidate SRC_URI and S variables
The variables RPIFW_SRC_URI and RPIFW_S are created in the common firmware
include file so that it is easier to override the firmware source in a local or
distro config file. RPIFW_SRC_URI is used to set SRC_URI in firmware.inc as it
is common to both bootfiles and vc-graphics. RPIFW_S is used as a prefix for S
in bcm2835-bootfiles.bb and vc-graphics.inc as different subdirectories are
referenced in each recipe.

Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
2013-06-10 12:04:50 +03:00
Paul Barker
06630f323d rpi-first-run-wizard: remove
The existing first run script is inappropriate for a board support layer. It is
also full of references to OpenPandora and is not portable across all distros
which may use meta-raspberrypi.

Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
2013-06-10 12:04:45 +03:00
81 changed files with 2421 additions and 1380 deletions

2
.gitignore vendored Normal file
View File

@@ -0,0 +1,2 @@
build*
*~

276
README
View File

@@ -1,89 +1,51 @@
.8MMMMMMMM MMMMMMMM8. Quick links
MMM77$$$$$$7MM MM$$$$$$$$$MMM ===========
MM$$$$$$$$$$$$M M$$$$$$$$$$$$MM Git repository web frontend:
MO7$$$$$8$$$$$MMM$$$$$N7$$$$7DM http://git.yoctoproject.org/cgit/cgit.cgi/meta-raspberrypi/
M7$$$$$$$M7$$MMM$$7M$$$$$$$7M. Mailing list (yocto mailing list):
M7$$$$$$$$MMMMMMM$$$$$$$$7M. yocto@yoctoproject.org
MM$$$$$$7MMMMMMM$$$$$$$MM Issues management (redmine):
.MM$7MMMMMMMMMMMMM7$MM. http://redmine.gherzan.ro/projects/meta-raspberrypi
.MM8ZZZMMZZZZZZZMZZZ$MM.
.MOZZZZMMZZZZZZZZZM8ZZZZMM
MZZMMMZZZZ8MMMMM$ZZZ$MMZZMM
.MMMMMZZZZZZZZMMMZZZZZZZMMMMM:
M8ZZMMZZZZZZZZNMZZZZZZZZZMMZZMM
MZZZZMZZZZZZZZZMMMZZZZZZZZ8MZZZMM
.MZZZZMZZZZZZZZZMMMZZZZZZZZMMZZZ8M
.MZZZMMMZZZZZZZMMMMM$ZZZZZ$MMZZZMM
MMZZMMMMMM8MMNZZZZZ8MMMMMMMMMZZM
MMMMZMMMMMMZZZZZZZZZMMMM$ZZZMM.
MMZZZZZMMMZZZZZZZZZMMMZZZZZMM
MZZZZZZZMNZZZZZZZMMZZZZZZZM.
MMMMMZZZZZZZZZMMMM.
.MMDZZZZZZZMMD
.MMMMMMMM,
....
Contents: Contents:
========= =========
1. OpenEmbedded BSP Layer - RaspberryPi 1. Description
2. Yocto BSP Layer - RaspberryPi 2. Yocto BSP Layer - Raspberry Pi
2.A. Compressed deployed files 2.A. Compressed deployed files
2.B. GPU memory 2.B. GPU memory
2.C. Add purchased license codecs 2.C. Add purchased license codecs
2.D. Disable overscan 2.D. Disable overscan
2.E. Set overclocking options 2.E. Set overclocking options
3. Contribution 2.F. Optional - Video camera support with V4L2 drivers
2.G. Optional - Enable offline compositing support
2.H. Optional - Enable kgdb over console support
2.I. Images
2.J. Boot to U-Boot
2.K. Image with Initramfs
2.L. Device tree support
3. Extra apps
3.A. omxplayer
4. Source code and mirrors
5. Contribution
5.A. Mailing List
5.B. Redmine
6. Maintainers
1. Description
1. OpenEmbedded BSP Layer - RaspberryPi ==============
=======================================
This is the general hardware specific BSP overlay for the RaspberryPi device. This is the general hardware specific BSP overlay for the RaspberryPi device.
It should be used with openembedded-core (not old-style org.openembedded.dev).
More information can be found at: More information can be found at:
http://www.raspberrypi.org/ (Official Site) http://www.raspberrypi.org/ (Official Site)
http://www.distant-earth.com/ (My Site)
Build scripts patched to support making a firmware image for the RaspberryPi
with Angstrom can be found at:
http://github.com/Angstrom-distribution/setup-scripts
When not depending on meta-openembedded and not using systemd, you may need to
mask few recipes requiring systemd or other recipes not included in your
distribution of choice.
You can achieve this by adding something like the following to local.conf:
BBMASK = "meta-raspberrypi/recipes-multimedia/libav|\
meta-raspberrypi/recipes-core/systemd"
You can adjust the BBMASK for any .bbappends that your distribution does not
contain recipes for.
The core BSP part of meta-raspberrypi should work with different The core BSP part of meta-raspberrypi should work with different
OpenEmbedded/Yocto distributions and layer stacks, such as: OpenEmbedded/Yocto distributions and layer stacks, such as:
* Distro-less (only with OE-Core). * Distro-less (only with OE-Core).
* Angstrom (main focus of testing). * Angstrom.
* Yocto/Poky. * Yocto/Poky (main focus of testing).
This layer in its entirety depends on:
URI: git://git.openembedded.org/openembedded-core
branch: master
revision: HEAD
URI: git://git.openembedded.org/meta-openembedded
branch: master
revision: HEAD
2. Yocto BSP Layer - RaspberryPi 2. Yocto BSP Layer - RaspberryPi
================================ ================================
@@ -95,16 +57,16 @@ branch: master
revision: HEAD revision: HEAD
URI: git://git.openembedded.org/meta-openembedded URI: git://git.openembedded.org/meta-openembedded
layers: meta-oe, meta-multimedia
branch: master branch: master
revision: HEAD revision: HEAD
How to use it: How to use it:
1. source poky/oe-init-build-env rpi-build 1. source poky/oe-init-build-env rpi-build
2. Add needed layers to bblayers.conf: 2. Add needed layer to bblayers.conf:
- meta-raspberrypi - meta-raspberrypi
- meta-openembedded/meta-oe 3 Set MACHINE to "raspberrypi"/"raspberrypi2" in local.conf
3 Set MACHINE to raspberrypi in local.conf
4. bitbake rpi-hwup-image 4. bitbake rpi-hwup-image
5. dd to a SD card the generated sdimg file (use xzcat if rpi-sdimg.xz is used) 5. dd to a SD card the generated sdimg file (use xzcat if rpi-sdimg.xz is used)
6. Boot your RPI. 6. Boot your RPI.
@@ -112,9 +74,11 @@ How to use it:
2.A. Optional - compressed deployed files: 2.A. Optional - compressed deployed files:
========================================== ==========================================
1. Overwrite IMAGE_FSTYPES in local.conf 1. Overwrite IMAGE_FSTYPES in local.conf
IMAGE_FSTYPES = "tar.bz2 ext3.xz rpi-sdimg.xz IMAGE_FSTYPES = "tar.bz2 ext3.xz"
2. Overwrite SDIMG_ROOTFS_TYPE in local.conf 2. Overwrite SDIMG_ROOTFS_TYPE in local.conf
SDIMG_ROOTFS_TYPE = "ext3.xz" SDIMG_ROOTFS_TYPE = "ext3.xz"
3. Overwrite SDIMG_COMPRESSION in local.conf
SDIMG_COMPRESSION = "xz"
*Accommodate the values above to your own needs (ex: ext3 / ext4). *Accommodate the values above to your own needs (ex: ext3 / ext4).
2.B. Optional - GPU memory: 2.B. Optional - GPU memory:
@@ -141,7 +105,7 @@ KEY_DECODE_WVC1 = "0x12345678,0xabcdabcd,0x87654321"
By default the GPU adds a black border around the video output to compensate for By default the GPU adds a black border around the video output to compensate for
TVs which cut off part of the image. To disable this set this variable in TVs which cut off part of the image. To disable this set this variable in
local.conf: local.conf:
DISALE_OVERSCAN = "0" DISABLE_OVERSCAN = "1"
2.E. Optional - Set overclocking options: 2.E. Optional - Set overclocking options:
========================================= =========================================
@@ -154,29 +118,175 @@ CORE_FREQ = "500"
SDRAM_FREQ = "500" SDRAM_FREQ = "500"
OVER_VOLTAGE = "6" OVER_VOLTAGE = "6"
2.F. Optional - Video camera support with V4L2 drivers
======================================================
Set this variable to enable support for the video camera (Linux 3.12.4+ required)
VIDEO_CAMERA = "1"
2.G. Optional - Enable offline compositing support
==================================================
3. Contributing Set this variable to enable support for dispmanx offline compositing
=============== DISMANX_OFFLINE = "1"
To contribute to this layer you should send the patches for review to the This will enable the firmware to fall back to off-line compositing of
mailing list. Dispmanx elements. Normally the compositing is done on-line, during scanout,
but cannot handle too many elements. With off-line enabled, an off-screen
buffer is allocated for compositing. When scene complexity (number and sizes
of elements) is high, compositing will happen off-line into the buffer.
Mailing list: Heavily recommended for Wayland/Weston.
https://lists.yoctoproject.org/listinfo/yocto See: http://wayland.freedesktop.org/raspberrypi.html
Source code: 2.H. Optional - Enable kgdb over console support
================================================
To add the kdbg over console (kgdboc) parameter to the kernel command line,
set this variable in local.conf:
ENABLE_KGDB = "1"
2.I. Images
===========
* rpi-hwup-image
Hardware up image
* rpi-basic-image
Based on rpi-hwup-image with some added features (ex: splash)
* rpi-test-image
Image based on rpi-basic-image which includes most of the packages in this
layer and some media samples.
2.J. Boot to U-Boot
===================
To have u-boot load kernel image, set in your local.conf
KERNEL_IMAGETYPE = "uImage"
This will make kernel.img be u-boot image which will load uImage.
By default, kernel.img is the actual kernel image (ex. Image).
2.K. Image with Initramfs
=========================
To build an initramfs image :
* Set this 3 kernel variables (in linux-raspberrypi.inc for example)
- kernel_configure_variable BLK_DEV_INITRD y
- kernel_configure_variable INITRAMFS_SOURCE ""
- kernel_configure_variable RD_GZIP y
* Set the yocto variables (in linux-raspberrypi.inc for example)
- INITRAMFS_IMAGE = "<a name for your initramfs image>"
- INITRAMFS_IMAGE_BUNDLE = "1"
* Set the meta-rasberrypi variable (in raspberrypi.conf for example)
- KERNEL_INITRAMFS = "-initramfs"
2.L. Device tree support
=========================
Device tree for RPi is only supported when using linux-raspberrypi 3.18+
kernels.
* Set KERNEL_DEVICETREE (in conf/machine/raspberrypi.conf)
- the trailer is added to the kernel image before kernel install task.
While creating the SDCard image, this modified kernel is put on
boot partition (as kernel.img) as well as DeviceTree blobs (.dtb files).
NOTE: KERNEL_DEVICETREE is default enabled for kernel >= 3.18 and always disabled for
older kernel versions.
2.M. Optional - enable SPI bus
==============================
When using device tree kernels, set this variable to enable the SPI bus
ENABLE_SPI_BUS = "1"
3. Extra apps
=============
3.A. omxplayer
==============
omxplayer depends on libav which has a commercial license. So in order to be
able to compile omxplayer you will need to whiteflag the commercial license
adding to you local.conf:
LICENSE_FLAGS_WHITELIST = "commercial"
4. Board Configuration
======================
4.A. Audio Routing
==================
To load audio driver
modprobe snd-bcm2835
To test audio playback
e.g. aplay test.wav
Note that without HDMI connected this emits audio from the 3.5in jack connector
as expected. However With an HDMI display connected there is no audio output from
the jack connector.
To force the audio routing via the 3.5in jack connector use
amixer cset numid=3 1
Options to amixer cset are:
0=auto
1=headphones
2=hdmi
5. Source code and mirrors
==========================
Main repo:
git://git.yoctoproject.org/meta-raspberrypi git://git.yoctoproject.org/meta-raspberrypi
http://git.yoctoproject.org/git/meta-raspberrypi http://git.yoctoproject.org/git/meta-raspberrypi
https://github.com/djwillis/meta-raspberrypi
When sending patches, please use something like: Github mirror:
https://github.com/agherzan/meta-raspberrypi
git send-email --to yocto@yoctoproject.org \ Bitbucket mirror:
--subject-prefix='meta-raspberrypi][PATCH' https://bitbucket.org/agherzan/meta-raspberrypi
Layer maintainers: John Willis <John.Willis at distant-earth.com> 6. Contributing
===============
6.A. Mailing list
=================
The main communication tool we use is a mailing list:
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto
Feel free to ask any kind of questions but always prepend your email subject
with "[meta-raspberrypi]". This is because we use the 'yocto' mailing list and
not a perticular 'meta-raspberrypi' mailing list.
To contribute to this layer you should send the patches for review to the
above specified mailing list.
The patches should be compliant with the openembedded patch guidelines:
http://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines
When creating patches, please use something like:
git format-patch -s --subject-prefix='meta-raspberrypi][PATCH' origin
When sending patches to mailing list, please use something like:
git send-email --to yocto@yoctoproject.org <generated patch>
6.B. Redmine
============
In order to manage and trace the meta-raspberrypi issues, we use redmine:
http://redmine.gherzan.ro/projects/meta-raspberrypi
Here we report, trace and develop bugs, features or support tickets for this
yocto BSP later.
If you push patches which have a redmine issue associated, please provide the
issue number in the commit log just before "Signed-off-by" line(s). Example line
for a bug:
[Bug #13]
7. Maintainers
==============
Andrei Gherzan <andrei at gherzan.ro> Andrei Gherzan <andrei at gherzan.ro>

View File

@@ -0,0 +1,39 @@
inherit linux-kernel-base
def get_dts(d, ver):
staging_dir = d.getVar("STAGING_KERNEL_BUILDDIR", True)
dts = d.getVar("KERNEL_DEVICETREE", True)
# d.getVar() might return 'None' as a normal string
# leading to 'is None' check isn't enough.
# TODO: Investigate if this is a bug in bitbake
if ver is None or ver == "None":
''' if 'ver' isn't set try to grab the kernel version
from the kernel staging '''
ver = get_kernelversion_file(staging_dir)
if ver is not None:
min_ver = ver.split('.', 3)
else:
return dts
# Always turn off device tree support for kernel's < 3.18
try:
if int(min_ver[0]) <= 3:
if int(min_ver[1]) < 18:
dts = ""
except IndexError:
min_ver = None
return dts
def split_overlays(d, out):
dts = get_dts(d, None)
if out:
overlays = oe.utils.str_filter_out('\S+\-overlay\.dtb$', dts, d)
else:
overlays = oe.utils.str_filter('\S+\-overlay\.dtb$', dts, d)
return overlays

View File

@@ -1,4 +1,5 @@
inherit image_types inherit image_types
inherit linux-raspberrypi-base
# #
# Create an image that can by written onto a SD card using dd. # Create an image that can by written onto a SD card using dd.
@@ -13,31 +14,40 @@ inherit image_types
# Default Free space = 1.3x # Default Free space = 1.3x
# Use IMAGE_OVERHEAD_FACTOR to add more space # Use IMAGE_OVERHEAD_FACTOR to add more space
# <---------> # <--------->
# 4MiB 20MiB SDIMG_ROOTFS # 4MiB 40MiB SDIMG_ROOTFS
# <-----------------------> <----------> <----------------------> # <-----------------------> <----------> <---------------------->
# ------------------------ ------------ ------------------------ # ------------------------ ------------ ------------------------
# | IMAGE_ROOTFS_ALIGNMENT | BOOT_SPACE | ROOTFS_SIZE | # | IMAGE_ROOTFS_ALIGNMENT | BOOT_SPACE | ROOTFS_SIZE |
# ------------------------ ------------ ------------------------ # ------------------------ ------------ ------------------------
# ^ ^ ^ ^ # ^ ^ ^ ^
# | | | | # | | | |
# 0 4MiB 4MiB + 20MiB 4MiB + 20Mib + SDIMG_ROOTFS # 0 4MiB 4MiB + 40MiB 4MiB + 40Mib + SDIMG_ROOTFS
# This image depends on the rootfs image
IMAGE_TYPEDEP_rpi-sdimg = "${SDIMG_ROOTFS_TYPE}"
# Set kernel and boot loader # Set kernel and boot loader
IMAGE_BOOTLOADER ?= "bcm2835-bootfiles" IMAGE_BOOTLOADER ?= "bcm2835-bootfiles"
# Set initramfs extension
KERNEL_INITRAMFS ?= ""
# Kernel image name
SDIMG_KERNELIMAGE_raspberrypi ?= "kernel.img"
SDIMG_KERNELIMAGE_raspberrypi2 ?= "kernel7.img"
# Boot partition volume id # Boot partition volume id
BOOTDD_VOLUME_ID ?= "${MACHINE}" BOOTDD_VOLUME_ID ?= "${MACHINE}"
# Boot partition size [in KiB] (will be rounded up to IMAGE_ROOTFS_ALIGNMENT) # Boot partition size [in KiB] (will be rounded up to IMAGE_ROOTFS_ALIGNMENT)
BOOT_SPACE ?= "20480" BOOT_SPACE ?= "40960"
# Set alignment to 4MB [in KiB] # Set alignment to 4MB [in KiB]
IMAGE_ROOTFS_ALIGNMENT = "4096" IMAGE_ROOTFS_ALIGNMENT = "4096"
# Use an uncompressed ext3 by default as rootfs # Use an uncompressed ext3 by default as rootfs
SDIMG_ROOTFS_TYPE ?= "ext3" SDIMG_ROOTFS_TYPE ?= "ext3"
SDIMG_ROOTFS = "${IMAGE_NAME}.rootfs.${SDIMG_ROOTFS_TYPE}" SDIMG_ROOTFS = "${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.${SDIMG_ROOTFS_TYPE}"
IMAGE_DEPENDS_rpi-sdimg = " \ IMAGE_DEPENDS_rpi-sdimg = " \
parted-native \ parted-native \
@@ -45,11 +55,19 @@ IMAGE_DEPENDS_rpi-sdimg = " \
dosfstools-native \ dosfstools-native \
virtual/kernel \ virtual/kernel \
${IMAGE_BOOTLOADER} \ ${IMAGE_BOOTLOADER} \
${@bb.utils.contains('KERNEL_IMAGETYPE', 'uImage', 'u-boot', '',d)} \
" "
# SD card image name # SD card image name
SDIMG = "${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.rpi-sdimg" SDIMG = "${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.rpi-sdimg"
# Compression method to apply to SDIMG after it has been created. Supported
# compression formats are "gzip", "bzip2" or "xz". The original .rpi-sdimg file
# is kept and a new compressed file is created if one of these compression
# formats is chosen. If SDIMG_COMPRESSION is set to any other value it is
# silently ignored.
#SDIMG_COMPRESSION ?= ""
# Additional files and/or directories to be copied into the vfat partition from the IMAGE_ROOTFS. # Additional files and/or directories to be copied into the vfat partition from the IMAGE_ROOTFS.
FATPAYLOAD ?= "" FATPAYLOAD ?= ""
@@ -60,13 +78,12 @@ IMAGE_CMD_rpi-sdimg () {
# Align partitions # Align partitions
BOOT_SPACE_ALIGNED=$(expr ${BOOT_SPACE} + ${IMAGE_ROOTFS_ALIGNMENT} - 1) BOOT_SPACE_ALIGNED=$(expr ${BOOT_SPACE} + ${IMAGE_ROOTFS_ALIGNMENT} - 1)
BOOT_SPACE_ALIGNED=$(expr ${BOOT_SPACE_ALIGNED} - ${BOOT_SPACE_ALIGNED} % ${IMAGE_ROOTFS_ALIGNMENT}) BOOT_SPACE_ALIGNED=$(expr ${BOOT_SPACE_ALIGNED} - ${BOOT_SPACE_ALIGNED} % ${IMAGE_ROOTFS_ALIGNMENT})
ROOTFS_SIZE=`du -bks ${SDIMG_ROOTFS} | awk '{print $1}'` SDIMG_SIZE=$(expr ${IMAGE_ROOTFS_ALIGNMENT} + ${BOOT_SPACE_ALIGNED} + $ROOTFS_SIZE)
# Round up RootFS size to the alignment size as well
ROOTFS_SIZE_ALIGNED=$(expr ${ROOTFS_SIZE} + ${IMAGE_ROOTFS_ALIGNMENT} - 1)
ROOTFS_SIZE_ALIGNED=$(expr ${ROOTFS_SIZE_ALIGNED} - ${ROOTFS_SIZE_ALIGNED} % ${IMAGE_ROOTFS_ALIGNMENT})
SDIMG_SIZE=$(expr ${IMAGE_ROOTFS_ALIGNMENT} + ${BOOT_SPACE_ALIGNED} + ${ROOTFS_SIZE_ALIGNED})
echo "Creating filesystem with Boot partition ${BOOT_SPACE_ALIGNED} KiB and RootFS ${ROOTFS_SIZE_ALIGNED} KiB" echo "Creating filesystem with Boot partition ${BOOT_SPACE_ALIGNED} KiB and RootFS $ROOTFS_SIZE KiB"
# Check if we are building with device tree support
DTS="${@get_dts(d, None)}"
# Initialize sdcard image file # Initialize sdcard image file
dd if=/dev/zero of=${SDIMG} bs=1024 count=0 seek=${SDIMG_SIZE} dd if=/dev/zero of=${SDIMG} bs=1024 count=0 seek=${SDIMG_SIZE}
@@ -82,9 +99,38 @@ IMAGE_CMD_rpi-sdimg () {
# Create a vfat image with boot files # Create a vfat image with boot files
BOOT_BLOCKS=$(LC_ALL=C parted -s ${SDIMG} unit b print | awk '/ 1 / { print substr($4, 1, length($4 -1)) / 512 /2 }') BOOT_BLOCKS=$(LC_ALL=C parted -s ${SDIMG} unit b print | awk '/ 1 / { print substr($4, 1, length($4 -1)) / 512 /2 }')
rm -f ${WORKDIR}/boot.img
mkfs.vfat -n "${BOOTDD_VOLUME_ID}" -S 512 -C ${WORKDIR}/boot.img $BOOT_BLOCKS mkfs.vfat -n "${BOOTDD_VOLUME_ID}" -S 512 -C ${WORKDIR}/boot.img $BOOT_BLOCKS
mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/bcm2835-bootfiles/* ::/ mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/bcm2835-bootfiles/* ::/
mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${MACHINE}.bin ::kernel.img case "${KERNEL_IMAGETYPE}" in
"uImage")
mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/u-boot.img ::${SDIMG_KERNELIMAGE}
mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}${KERNEL_INITRAMFS}-${MACHINE}.bin ::uImage
;;
*)
if test -n "${DTS}"; then
# Device Tree Overlays are assumed to be suffixed by '-overlay.dtb' string and will be put in a dedicated folder
DT_OVERLAYS="${@split_overlays(d, 0)}"
DT_ROOT="${@split_overlays(d, 1)}"
# Copy board device trees to root folder
for DTB in ${DT_ROOT}; do
DTB_BASE_NAME=`basename ${DTB} .dtb`
mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${DTB_BASE_NAME}.dtb ::${DTB_BASE_NAME}.dtb
done
# Copy device tree overlays to dedicated folder
mmd -i ${WORKDIR}/boot.img overlays
for DTB in ${DT_OVERLAYS}; do
DTB_BASE_NAME=`basename ${DTB} .dtb`
mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${DTB_BASE_NAME}.dtb ::overlays/${DTB_BASE_NAME}.dtb
done
fi
mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}${KERNEL_INITRAMFS}-${MACHINE}.bin ::${SDIMG_KERNELIMAGE}
;;
esac
if [ -n ${FATPAYLOAD} ] ; then if [ -n ${FATPAYLOAD} ] ; then
echo "Copying payload into VFAT" echo "Copying payload into VFAT"
@@ -107,6 +153,19 @@ IMAGE_CMD_rpi-sdimg () {
else else
dd if=${SDIMG_ROOTFS} of=${SDIMG} conv=notrunc seek=1 bs=$(expr 1024 \* ${BOOT_SPACE_ALIGNED} + ${IMAGE_ROOTFS_ALIGNMENT} \* 1024) && sync && sync dd if=${SDIMG_ROOTFS} of=${SDIMG} conv=notrunc seek=1 bs=$(expr 1024 \* ${BOOT_SPACE_ALIGNED} + ${IMAGE_ROOTFS_ALIGNMENT} \* 1024) && sync && sync
fi fi
# Optionally apply compression
case "${SDIMG_COMPRESSION}" in
"gzip")
gzip -k9 "${SDIMG}"
;;
"bzip2")
bzip2 -k9 "${SDIMG}"
;;
"xz")
xz -k "${SDIMG}"
;;
esac
} }
ROOTFS_POSTPROCESS_COMMAND += " rpi_generate_sysctl_config ; " ROOTFS_POSTPROCESS_COMMAND += " rpi_generate_sysctl_config ; "

View File

@@ -7,7 +7,7 @@ BBFILES += "${LAYERDIR}/recipes*/*/*.bb \
BBFILE_COLLECTIONS += "raspberrypi" BBFILE_COLLECTIONS += "raspberrypi"
BBFILE_PATTERN_raspberrypi := "^${LAYERDIR}/" BBFILE_PATTERN_raspberrypi := "^${LAYERDIR}/"
BBFILE_PRIORITY_raspberrypi = "6" BBFILE_PRIORITY_raspberrypi = "9"
# Additional license directories. # Additional license directories.
LICENSE_PATH += "${LAYERDIR}/files/custom-licenses" LICENSE_PATH += "${LAYERDIR}/files/custom-licenses"

View File

@@ -0,0 +1,50 @@
include conf/machine/include/rpi-default-settings.inc
include conf/machine/include/rpi-default-versions.inc
include conf/machine/include/rpi-default-providers.inc
SOC_FAMILY = "rpi"
include conf/machine/include/soc-family.inc
IMAGE_FSTYPES ?= "tar.bz2 ext3 rpi-sdimg"
SERIAL_CONSOLE = "115200 ttyAMA0"
XSERVER = " \
xserver-xorg \
xf86-input-evdev \
xf86-input-mouse \
xf86-input-keyboard \
xf86-video-fbdev \
"
# Really supported starting from linux-raspberrypi 3.18.y only
KERNEL_DEVICETREE ?= " \
bcm2708-rpi-b.dtb \
bcm2708-rpi-b-plus.dtb \
bcm2709-rpi-2-b.dtb \
\
overlays/hifiberry-amp-overlay.dtb \
overlays/hifiberry-dac-overlay.dtb \
overlays/hifiberry-dacplus-overlay.dtb \
overlays/hifiberry-digi-overlay.dtb \
overlays/i2c-rtc-overlay.dtb \
overlays/iqaudio-dac-overlay.dtb \
overlays/iqaudio-dacplus-overlay.dtb \
overlays/lirc-rpi-overlay.dtb \
overlays/pps-gpio-overlay.dtb \
overlays/w1-gpio-overlay.dtb \
overlays/w1-gpio-pullup-overlay.dtb \
"
KERNEL_IMAGETYPE ?= "Image"
MACHINE_FEATURES = "kernel26 apm usbhost keyboard vfat ext2 screen touchscreen alsa bluetooth wifi sdio"
# Raspberry Pi has no hardware clock
MACHINE_FEATURES_BACKFILL_CONSIDERED = "rtc"
MACHINE_EXTRA_RRECOMMENDS += " kernel-modules"
# Set Raspberrypi splash image
SPLASH = "psplash-raspberrypi"
IMAGE_BOOT_FILES ?= "bcm2835-bootfiles/* ${KERNEL_IMAGETYPE};${SDIMG_KERNELIMAGE}"

View File

@@ -1,7 +1,10 @@
# RaspberryPi BSP default providers # RaspberryPi BSP default providers
PREFERRED_PROVIDER_virtual/kernel = "linux-raspberrypi" PREFERRED_PROVIDER_virtual/kernel ?= "linux-raspberrypi"
PREFERRED_PROVIDER_virtual/xserver = "xserver-xorg" PREFERRED_PROVIDER_u-boot ?= "u-boot-rpi"
PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg"
PREFERRED_PROVIDER_virtual/egl ?= "userland" PREFERRED_PROVIDER_virtual/egl ?= "userland"
PREFERRED_PROVIDER_virtual/libgles2 ?= "userland" PREFERRED_PROVIDER_virtual/libgles2 ?= "userland"
PREFERRED_PROVIDER_linux-libc-headers ?= "linux-libc-headers-raspberrypi" PREFERRED_PROVIDER_virtual/libgl ?= "mesa-gl"
PREFERRED_PROVIDER_virtual/mesa ?= "mesa-gl"
PREFERRED_PROVIDER_jpeg ?= "jpeg"

View File

@@ -1,2 +1,3 @@
# RaspberryPi BSP default versions # RaspberryPi BSP default versions
PREFERRED_VERSION_linux-raspberrypi ?= "4.1.%"

View File

@@ -4,8 +4,12 @@ require conf/machine/include/arm/arch-armv6.inc
TUNEVALID[arm1176jzfs] = "Enable arm1176jzfs specific processor optimizations" TUNEVALID[arm1176jzfs] = "Enable arm1176jzfs specific processor optimizations"
TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "arm1176jzfs", "-mtune=arm1176jzf-s", "", d)}" TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "arm1176jzfs", "-mtune=arm1176jzf-s", "", d)}"
TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "vfp", "-mfpu=vfp", "", d)}"
AVAILTUNES += "arm1176jzfs" AVAILTUNES += "arm1176jzfs arm1176jzfshf"
TUNE_FEATURES_tune-arm1176jzfs = "${TUNE_FEATURES_tune-armv6} arm1176jzfs"
ARMPKGARCH_tune-arm1176jzfs = "arm1176jzfs" ARMPKGARCH_tune-arm1176jzfs = "arm1176jzfs"
ARMPKGARCH_tune-arm1176jzfshf = "arm1176jzfs"
TUNE_FEATURES_tune-arm1176jzfs = "${TUNE_FEATURES_tune-armv6} arm1176jzfs"
TUNE_FEATURES_tune-arm1176jzfshf = "${TUNE_FEATURES_tune-arm1176jzfs} callconvention-hard"
PACKAGE_EXTRA_ARCHS_tune-arm1176jzfs = "${PACKAGE_EXTRA_ARCHS_tune-armv6}" PACKAGE_EXTRA_ARCHS_tune-arm1176jzfs = "${PACKAGE_EXTRA_ARCHS_tune-armv6}"
PACKAGE_EXTRA_ARCHS_tune-arm1176jzfshf = "${PACKAGE_EXTRA_ARCHS_tune-armv6hf} arm1176jzfshf-vfp"

View File

@@ -1,34 +1,8 @@
#@TYPE: Machine #@TYPE: Machine
#@NAME: RaspberryPi Development Board #@NAME: RaspberryPi Development Board
#@DESCRIPTION: Machine configuration for the RaspberryPi http://www.raspberrypi.org/ Board #@DESCRIPTION: Machine configuration for the RaspberryPi http://www.raspberrypi.org/ Board
#@MAINTAINER: John Willis
include conf/machine/include/rpi-default-settings.inc DEFAULTTUNE ?= "arm1176jzfshf"
include conf/machine/include/rpi-default-versions.inc
include conf/machine/include/rpi-default-providers.inc
require conf/machine/include/tune-arm1176jzf-s.inc require conf/machine/include/tune-arm1176jzf-s.inc
include conf/machine/include/rpi-base.inc
IMAGE_FSTYPES ?= "tar.bz2 ext3 rpi-sdimg"
SERIAL_CONSOLE = "115200 ttyAMA0"
MACHINE_KERNEL_PR = "r5"
XSERVER = " \
xserver-xorg \
xf86-input-evdev \
xf86-input-mouse \
xf86-input-keyboard \
xf86-video-fbdev \
"
KERNEL_IMAGETYPE = "Image"
MACHINE_FEATURES = "kernel26 apm usbgadget usbhost keyboard vfat ext2 screen touchscreen alsa bluetooth wifi sdio"
#RaspberryPi has no hardware clock
MACHINE_FEATURES_BACKFILL_CONSIDERED = "rtc"
MACHINE_EXTRA_RRECOMMENDS += " \
kernel-modules \
"

View File

@@ -0,0 +1,8 @@
#@TYPE: Machine
#@NAME: RaspberryPi 2 Development Board
#@DESCRIPTION: Machine configuration for the RaspberryPi 2
DEFAULTTUNE ?= "cortexa7thf-neon-vfpv4"
require conf/machine/include/tune-cortexa7.inc
include conf/machine/include/rpi-base.inc

View File

@@ -1,37 +0,0 @@
DESCRIPTION = "Closed source binary files to help boot the ARM on the BCM2835."
LICENSE = "Proprietary"
LIC_FILES_CHKSUM = "file://LICENCE.broadcom;md5=e86e693d19572ee64cc8b17fb062faa9"
include ../common/firmware.inc
RDEPENDS_${PN} = "rpi-config"
COMPATIBLE_MACHINE = "raspberrypi"
SRC_URI = " \
git://github.com/raspberrypi/firmware.git;protocol=git;branch=master \
"
S = "${WORKDIR}/git/boot"
PR = "r3"
addtask deploy before do_package after do_install
do_deploy() {
install -d ${DEPLOY_DIR_IMAGE}/bcm2835-bootfiles
for i in *.elf ; do
cp $i ${DEPLOY_DIR_IMAGE}/bcm2835-bootfiles
done
for i in *.dat ; do
cp $i ${DEPLOY_DIR_IMAGE}/bcm2835-bootfiles
done
for i in *.bin ; do
cp $i ${DEPLOY_DIR_IMAGE}/bcm2835-bootfiles
done
# Add stamp in deploy directory
touch ${DEPLOY_DIR_IMAGE}/bcm2835-bootfiles/${PN}-${PV}.stamp
}
PACKAGE_ARCH = "${MACHINE_ARCH}"

View File

@@ -1,57 +0,0 @@
DESCRIPTION = "Commented config.txt file for the Raspberry Pi. \
The Raspberry Pi config.txt file is read by the GPU before \
the ARM core is initialised. It can be used to set various \
system configuration parameters."
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
COMPATIBLE_MACHINE = "raspberrypi"
SRCREV = "62bf3e9db62f547eb1a2a352dde957d2f94bd216"
SRC_URI = "git://github.com/Evilpaul/RPi-config.git;protocol=git;branch=master \
"
S = "${WORKDIR}/git"
PR = "r3"
addtask deploy before do_package after do_install
do_deploy() {
install -d ${DEPLOY_DIR_IMAGE}/bcm2835-bootfiles
cp config.txt ${DEPLOY_DIR_IMAGE}/bcm2835-bootfiles/
if [ -n "${KEY_DECODE_MPG2}" ]; then
sed -i '/#decode_MPG2/ c\decode_MPG2=${KEY_DECODE_MPG2}' ${DEPLOY_DIR_IMAGE}/bcm2835-bootfiles/config.txt
fi
if [ -n "${KEY_DECODE_WVC1}" ]; then
sed -i '/#decode_WVC1/ c\decode_MVC1=${KEY_DECODE_WVC1}' ${DEPLOY_DIR_IMAGE}/bcm2835-bootfiles/config.txt
fi
if [ -n "${DISABLE_OVERSCAN}" ]; then
sed -i '/#disable_overscan/ c\disable_overscan=${DISABLE_OVERSCAN}' ${DEPLOY_DIR_IMAGE}/bcm2835-bootfiles/config.txt
fi
if [ -n "${ARM_FREQ}" ]; then
sed -i '/#arm_freq/ c\arm_freq=${ARM_FREQ}' ${DEPLOY_DIR_IMAGE}/bcm2835-bootfiles/config.txt
fi
if [ -n "${CORE_FREQ}" ]; then
sed -i '/#core_freq/ c\core_freq=${CORE_FREQ}' ${DEPLOY_DIR_IMAGE}/bcm2835-bootfiles/config.txt
fi
if [ -n "${SDRAM_FREQ}" ]; then
sed -i '/#sdram_freq/ c\sdram_freq=${SDRAM_FREQ}' ${DEPLOY_DIR_IMAGE}/bcm2835-bootfiles/config.txt
fi
if [ -n "${OVER_VOLTAGE}" ]; then
sed -i '/#over_voltage/ c\over_voltage=${OVER_VOLTAGE}' ${DEPLOY_DIR_IMAGE}/bcm2835-bootfiles/config.txt
fi
# GPU memory
if [ -n "${GPU_MEM}" ]; then
sed -i '/#gpu_mem=/ c\gpu_mem=${GPU_MEM}' ${DEPLOY_DIR_IMAGE}/bcm2835-bootfiles/config.txt
fi
if [ -n "${GPU_MEM_256}" ]; then
sed -i '/#gpu_mem_256/ c\gpu_mem_256=${GPU_MEM_256}' ${DEPLOY_DIR_IMAGE}/bcm2835-bootfiles/config.txt
fi
if [ -n "${GPU_MEM_512}" ]; then
sed -i '/#gpu_mem_512/ c\gpu_mem_512=${GPU_MEM_512}' ${DEPLOY_DIR_IMAGE}/bcm2835-bootfiles/config.txt
fi
}
PACKAGE_ARCH = "${MACHINE_ARCH}"

View File

@@ -1,6 +0,0 @@
# 7/1/2013 firmware; this can be overridden from distro config
RPIFW_SRCREV ?= "0ac68cce44d4550c251172e8524100090e8211fa"
RPIFW_DATE ?= "20130107"
SRCREV = "${RPIFW_SRCREV}"
PV = "${RPIFW_DATE}"

View File

@@ -0,0 +1,39 @@
DESCRIPTION = "Closed source binary files to help boot the ARM on the BCM2835."
LICENSE = "Proprietary"
LIC_FILES_CHKSUM = "file://LICENCE.broadcom;md5=e86e693d19572ee64cc8b17fb062faa9"
inherit deploy
include recipes-bsp/common/firmware.inc
RDEPENDS_${PN} = "rpi-config"
COMPATIBLE_MACHINE = "raspberrypi"
S = "${RPIFW_S}/boot"
PR = "r3"
do_deploy() {
install -d ${DEPLOYDIR}/${PN}
for i in ${S}/*.elf ; do
cp $i ${DEPLOYDIR}/${PN}
done
for i in ${S}/*.dat ; do
cp $i ${DEPLOYDIR}/${PN}
done
for i in ${S}/*.bin ; do
cp $i ${DEPLOYDIR}/${PN}
done
# Add stamp in deploy directory
touch ${DEPLOYDIR}/${PN}/${PN}-${PV}.stamp
}
addtask deploy before do_package after do_install
do_deploy[dirs] += "${DEPLOYDIR}/${PN}"
PACKAGE_ARCH = "${MACHINE_ARCH}"

View File

@@ -0,0 +1,80 @@
DESCRIPTION = "Commented config.txt file for the Raspberry Pi. \
The Raspberry Pi config.txt file is read by the GPU before \
the ARM core is initialised. It can be used to set various \
system configuration parameters."
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
COMPATIBLE_MACHINE = "raspberrypi"
SRCREV = "5d2ca5f9bcb1b239c051e20c05a233fd79cf09d5"
SRC_URI = "git://github.com/Evilpaul/RPi-config.git;protocol=git;branch=master \
"
S = "${WORKDIR}/git"
PR = "r4"
inherit deploy
do_deploy() {
install -d ${DEPLOYDIR}/bcm2835-bootfiles
cp ${S}/config.txt ${DEPLOYDIR}/bcm2835-bootfiles/
if [ -n "${KEY_DECODE_MPG2}" ]; then
sed -i '/#decode_MPG2/ c\decode_MPG2=${KEY_DECODE_MPG2}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
fi
if [ -n "${KEY_DECODE_WVC1}" ]; then
sed -i '/#decode_WVC1/ c\decode_WVC1=${KEY_DECODE_WVC1}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
fi
if [ -n "${DISABLE_OVERSCAN}" ]; then
sed -i '/#disable_overscan/ c\disable_overscan=${DISABLE_OVERSCAN}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
fi
if [ -n "${ARM_FREQ}" ]; then
sed -i '/#arm_freq/ c\arm_freq=${ARM_FREQ}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
fi
if [ -n "${CORE_FREQ}" ]; then
sed -i '/#core_freq/ c\core_freq=${CORE_FREQ}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
fi
if [ -n "${SDRAM_FREQ}" ]; then
sed -i '/#sdram_freq/ c\sdram_freq=${SDRAM_FREQ}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
fi
if [ -n "${OVER_VOLTAGE}" ]; then
sed -i '/#over_voltage/ c\over_voltage=${OVER_VOLTAGE}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
fi
# GPU memory
if [ -n "${GPU_MEM}" ]; then
sed -i '/#gpu_mem=/ c\gpu_mem=${GPU_MEM}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
fi
if [ -n "${GPU_MEM_256}" ]; then
sed -i '/#gpu_mem_256/ c\gpu_mem_256=${GPU_MEM_256}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
fi
if [ -n "${GPU_MEM_512}" ]; then
sed -i '/#gpu_mem_512/ c\gpu_mem_512=${GPU_MEM_512}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
fi
# Video camera support
if [ -n "${VIDEO_CAMERA}" ]; then
echo "# Enable video camera" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
echo "start_x=1" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
fi
# Offline compositing support
if [ -n "${DISPMANX_OFFLINE}" ]; then
echo "# Enable offline compositing" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
echo "dispmanx_offline=1" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
fi
# SPI bus support
if [ -n "${ENABLE_SPI_BUS}" ]; then
echo "# Enable SPI bus" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
echo "dtparam=spi=on" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
fi
}
addtask deploy before do_package after do_install
do_deploy[dirs] += "${DEPLOYDIR}/bcm2835-bootfiles"
PACKAGE_ARCH = "${MACHINE_ARCH}"

View File

@@ -0,0 +1,8 @@
RPIFW_SRCREV ?= "f7108cfdc715f79c5fd051fb4c3ae6f4b1b01f23"
RPIFW_DATE ?= "20151021"
RPIFW_SRC_URI ?= "git://github.com/raspberrypi/firmware.git;protocol=git;branch=master"
RPIFW_S ?= "${WORKDIR}/git"
SRC_URI = "${RPIFW_SRC_URI}"
SRCREV = "${RPIFW_SRCREV}"
PV = "${RPIFW_DATE}"

View File

@@ -1,2 +1 @@
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
PRINC = "1"

View File

@@ -0,0 +1,25 @@
Copyright (c) 2012, Broadcom Europe Ltd
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
* Neither the name of the copyright holder nor the
names of its contributors may be used to endorse or promote products
derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

View File

@@ -0,0 +1,17 @@
When using open, use path relative to imagetool-uncompressed.py
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Index: git/mkimage/imagetool-uncompressed.py
===================================================================
--- a/mkimage/imagetool-uncompressed.py
+++ b/mkimage/imagetool-uncompressed.py
@@ -18,7 +18,7 @@ re_line = re.compile(r"0x(?P<value>[0-9a
mem = [0 for i in range(32768)]
def load_to_mem(name, addr):
- f = open(name)
+ f = open(os.path.dirname(__file__) + '/' + name)
for l in f.readlines():
m = re_line.match(l)

View File

@@ -0,0 +1,22 @@
SUMMARY = "RaspberryPi tool to produce kernel.img"
LICENSE = "Broadcom"
LIC_FILES_CHKSUM = "file://${WORKDIR}/License;md5=957f6640d5e2d2acfce73a36a56cb32f"
SECTION = "bootloader"
DEPENDS = "python"
SRCREV = "f5642106425d430e1f82ee064121a5fd0e05a386"
SRC_URI = " \
git://github.com/raspberrypi/tools.git;branch=master;protocol=git \
file://License \
file://open-files-relative-to-script.patch \
"
S = "${WORKDIR}/git"
do_install () {
install -d ${D}${libexecdir}
cp ./mkimage/* ${D}${libexecdir}
}
BBCLASSEXTEND = "native"

View File

@@ -0,0 +1,29 @@
DESCRIPTION = "U-Boot port for RaspberryPi"
require recipes-bsp/u-boot/u-boot.inc
DEPENDS += "rpi-mkimage-native"
PROVIDES += "u-boot"
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=1707d6db1d42237583f50183a5651ecb"
SRCREV = "6709570cdc947c2a546f96d571551acf4474778c"
SRC_URI = "git://github.com/gonzoua/u-boot-pi.git;branch=rpi"
S = "${WORKDIR}/git"
UBOOT_MACHINE = "rpi_b"
UBOOT_MAKE_TARGET = "u-boot.bin"
UBOOT_SUFFIX = "img"
PACKAGE_ARCH = "${MACHINE_ARCH}"
COMPATIBLE_MACHINE = "raspberrypi"
do_compile_append() {
# Create kernel.img from uboot.bin and name it u-boot.img
${STAGING_DIR_NATIVE}/usr/lib/rpi-mkimage/imagetool-uncompressed.py u-boot.bin
mv kernel.img u-boot.img
}

View File

@@ -1,9 +0,0 @@
# stock fstab for the RaspberryPi - you may want to tweak this to suit.
rootfs / auto defaults,noatime 1 1
proc /proc proc defaults 0 0
devpts /dev/pts devpts mode=0620,gid=5 0 0
usbfs /proc/bus/usb usbfs defaults 0 0
tmpfs /var/volatile tmpfs defaults 0 0
tmpfs /dev/shm tmpfs mode=0777 0 0
tmpfs /media/ram tmpfs defaults 0 0

View File

@@ -1,33 +0,0 @@
# /etc/profile: system-wide .profile file for the Bourne shell (sh(1))
# and Bourne compatible shells (bash(1), ksh(1), ash(1), ...).
PATH="/usr/local/bin:/usr/bin:/bin"
EDITOR="/bin/vi" # needed for packages like cron
test -z "$TERM" && TERM="vt100" # Basic terminal capab. For screen etc.
if [ ! -e /etc/localtime -a ! -e /etc/TZ ]; then
TZ="UTC" # Time Zone. Look at http://theory.uwinnipeg.ca/gnu/glibc/libc_303.html
# for an explanation of how to set this to your local timezone.
export TZ
fi
if [ "`id -u`" -eq 0 ]; then
PATH=$PATH:/usr/local/sbin:/usr/sbin:/sbin:
fi
if [ "$PS1" ]; then
# works for bash and ash (no other shells known to be in use here)
PS1='\u@\h:\w\$ '
fi
if [ -d /etc/profile.d ]; then
for i in /etc/profile.d/*.sh; do
if [ -r $i ]; then
. $i
fi
done
unset i
fi
export PATH PS1 OPIEDIR QPEDIR QTDIR EDITOR TERM
umask 022

View File

@@ -1,3 +0,0 @@
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
# Don't forget to bump PRINC if you update the extra files.
PRINC = "1"

View File

@@ -1,4 +1,6 @@
# Base this image on rpi-hwup-image # Base this image on rpi-hwup-image
include rpi-hwup-image.bb include rpi-hwup-image.bb
SPLASH = "psplash-raspberrypi"
IMAGE_FEATURES += "ssh-server-dropbear splash" IMAGE_FEATURES += "ssh-server-dropbear splash"

View File

@@ -0,0 +1,4 @@
# Base this image on rpi-basic-image
include rpi-basic-image.bb
IMAGE_INSTALL_append = " packagegroup-rpi-test"

View File

@@ -0,0 +1,20 @@
DESCRIPTION = "RaspberryPi Test Packagegroup"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58"
inherit packagegroup
RDEPENDS_${PN} = "\
omxplayer \
bcm2835-tests \
wiringpi \
rpio \
rpi-gpio \
pi-blaster \
"
RRECOMMENDS_${PN} = "\
bigbuckbunny-1080p \
bigbuckbunny-480p \
bigbuckbunny-720p \
"

View File

@@ -1,2 +1,2 @@
FILESEXTRAPATHS_prepend := "${THISDIR}/files:" FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
SPLASH_IMAGES = "file://psplash-raspberrypi-img.h;outsuffix=default" SPLASH_IMAGES += "file://psplash-raspberrypi-img.h;outsuffix=raspberrypi"

View File

@@ -8,35 +8,33 @@ AUTHOR = "Mike McCauley (mikem@open.com.au)"
LICENSE = "GPLv2" LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
PR = "r0"
COMPATIBLE_MACHINE = "raspberrypi" COMPATIBLE_MACHINE = "raspberrypi"
SRC_URI = "http://www.open.com.au/mikem/bcm2835/bcm2835-1.8.tar.gz" SRC_URI = "http://www.airspayce.com/mikem/bcm2835/bcm2835-${PV}.tar.gz"
SRC_URI[md5sum] = "cca8500049d4ebf9087de4bd1601d185" SRC_URI[md5sum] = "3a40c01ee7d81fbff80c54fbe1a351b5"
SRC_URI[sha256sum] = "64be77b10aaf48ecb2a9022e13057f3b564093916875c0fc56373b4142dd5cae" SRC_URI[sha256sum] = "fc6b0412525e6b7e85aeffec67e2d01a99fb906346620041e6684d59ea5517a7"
inherit autotools
do_compile_append() {
# Now compiling the examples provided by the package
mkdir -p ${B}/examples
for file in `ls ${S}/examples`; do
${CC} ${S}/examples/${file}/${file}.c -o ${B}/examples/${file} -Bstatic -L${B}/src -lbcm2835 -I${S}/src
done
}
do_install_append() {
install -d ${D}/${libdir}/${BPN}
for file in ${B}/examples/*
do
install -m 0755 ${file} ${D}/${libdir}/${BPN}
done
}
PACKAGES += "${PN}-tests" PACKAGES += "${PN}-tests"
FILES_${PN} = "" FILES_${PN} = ""
FILES_${PN}-tests = "${libdir}/${BPN}" FILES_${PN}-tests = "${libdir}/${BPN}"
FILES_${PN}-dbg += "${libdir}/${BPN}/.debug" FILES_${PN}-dbg += "${libdir}/${BPN}/.debug"
inherit autotools
do_compile_append() {
#Now compiling the examples provided by the package
for file in examples/*
do
${CC} ${file}/${file##*/}.c -o ${file}/${file##*/} -Bstatic -L${S}/src -lbcm2835 -I${S}/src
done
}
do_install_append() {
install -d ${D}/${libdir}/${BPN}
for file in examples/*
do
install -m 0755 ${file}/${file##*/} ${D}/${libdir}/${BPN}
done
}

View File

@@ -0,0 +1,77 @@
Remove dependencies on LSB functions
Upstream-Status: Inappropriate [configuration]
Signed-off-by: Alex Lennon <ajlennon@dynamicdevices.co.uk>
diff -ur git.org/pi-blaster.boot.sh git/pi-blaster.boot.sh
--- git.org/pi-blaster.boot.sh 2014-05-20 14:49:44.378582168 +0100
+++ git/pi-blaster.boot.sh 2014-05-20 14:51:08.330582386 +0100
@@ -28,12 +28,12 @@
[ -r /etc/default/$NAME ] && . /etc/default/$NAME
# Load the VERBOSE setting and other rcS variables
-. /lib/init/vars.sh
+#. /lib/init/vars.sh
# Define LSB log_* functions.
# Depend on lsb-base (>= 3.2-14) to ensure that this file is present
# and status_of_proc is working.
-. /lib/lsb/init-functions
+#. /lib/lsb/init-functions
#
# Function that starts the daemon/service
@@ -77,48 +77,23 @@
case "$1" in
start)
- [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
+ [ "$VERBOSE" != no ] && echo "Starting $DESC" "$NAME"
do_start
- case "$?" in
- 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
- 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
- esac
;;
stop)
- [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
+ [ "$VERBOSE" != no ] && echo "Stopping $DESC" "$NAME"
do_stop
- case "$?" in
- 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
- 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
- esac
- ;;
- status)
- status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
;;
restart|force-reload)
#
# If the "reload" option is implemented then remove the
# 'force-reload' alias
#
- log_daemon_msg "Restarting $DESC" "$NAME"
do_stop
- case "$?" in
- 0|1)
- do_start
- case "$?" in
- 0) log_end_msg 0 ;;
- 1) log_end_msg 1 ;; # Old process is still running
- *) log_end_msg 1 ;; # Failed to start
- esac
- ;;
- *)
- # Failed to stop
- log_end_msg 1
- ;;
- esac
+ do_start
;;
*)
- echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
+ echo "Usage: $SCRIPTNAME {start|stop|restart}" >&2
exit 3
;;
esac

View File

@@ -0,0 +1,21 @@
DESCRIPTION = "This project enables PWM on the GPIO pins you request of a Raspberry Pi."
HOMEPAGE = "https://github.com/sarfata/pi-blaster/"
SECTION = "devel/libs"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://README.md;beginline=157;endline=170;md5=f20832f31126609af5a7bf2340014540"
SRC_URI = "git://github.com/sarfata/pi-blaster \
file://remove-initscript-lsb-dependency.patch \
"
S = "${WORKDIR}/git"
inherit update-rc.d autotools
INITSCRIPT_PACKAGES = "${PN}"
INITSCRIPT_NAME_${PN} = "${PN}.boot.sh"
INITSCRIPT_PARAMS_${PN} = "defaults 15 85"
COMPATIBLE_MACHINE = "raspberrypi"
PACKAGE_ARCH = "${MACHINE_ARCH}"

View File

@@ -0,0 +1,3 @@
require pi-blaster.inc
SRCREV = "ec5e1b4c6191d8f9a538497dbbb86f9cf0de7016"

View File

@@ -1,16 +0,0 @@
We already have setuptools python module so we will use that and not the
one provided in this package.
Upstream-Status: Inappropriate [embedded specific]
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Index: RPi.GPIO-0.2.0/setup.py
===================================================================
--- RPi.GPIO-0.2.0.orig/setup.py 2012-05-24 13:17:31.000000000 +0300
+++ RPi.GPIO-0.2.0/setup.py 2012-08-22 00:56:59.049001018 +0300
@@ -1,6 +1,4 @@
#!/usr/bin/env python
-import distribute_setup
-distribute_setup.use_setuptools()
from setuptools import setup, find_packages
import platform

View File

@@ -2,20 +2,18 @@ DESCRIPTION = "A module to control Raspberry Pi GPIO channels"
HOMEPAGE = "http://code.google.com/p/raspberry-gpio-python/" HOMEPAGE = "http://code.google.com/p/raspberry-gpio-python/"
SECTION = "devel/python" SECTION = "devel/python"
LICENSE = "MIT" LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENCE.txt;md5=ee5754ae9d5f8061d6d4ccd9c9fe0061" LIC_FILES_CHKSUM = "file://LICENCE.txt;md5=9b95630a648966b142f1a0dcea001cb7"
SRCNAME = "RPi.GPIO" SRCNAME = "RPi.GPIO"
PR = "r0"
SRC_URI = "\ SRC_URI = "\
http://pypi.python.org/packages/source/R/RPi.GPIO/${SRCNAME}-${PV}.tar.gz \ http://pypi.python.org/packages/source/R/RPi.GPIO/${SRCNAME}-${PV}.tar.gz \
file://don-t-install-setuptools.patch \
" "
S = "${WORKDIR}/${SRCNAME}-${PV}" S = "${WORKDIR}/${SRCNAME}-${PV}"
inherit setuptools inherit distutils
COMPATIBLE_MACHINE = "raspberrypi" COMPATIBLE_MACHINE = "raspberrypi"
SRC_URI[md5sum] = "0fc4bfa6aabc856b0b75252a40ac75cc" SRC_URI[md5sum] = "9dc3dab6ce2b7ccb833a866efb392821"
SRC_URI[sha256sum] = "fcfd97dc9687dde76b13b9d12c122e71b13e2ba09a62913d7b8d9ddbb3e8cabf" SRC_URI[sha256sum] = "8d6f02da7f90e24512ad80ee4ccf34ef33687c88c47326f100cf7ac4d7ae4bf3"

View File

@@ -0,0 +1,20 @@
DESCRIPTION = "Advanced GPIO for the Raspberry Pi. Extends RPi.GPIO with PWM, \
GPIO interrups, TCP socket interrupts, command line tools and more"
HOMEPAGE = "https://github.com/metachris/RPIO"
SECTION = "devel/python"
LICENSE = "LGPLv3+"
LIC_FILES_CHKSUM = "file://README.rst;beginline=41;endline=53;md5=d5d95d7486a4d98c999675c23196b25a"
SRCNAME = "RPIO"
SRC_URI = "\
http://pypi.python.org/packages/source/R/RPIO/${SRCNAME}-${PV}.tar.gz \
"
S = "${WORKDIR}/${SRCNAME}-${PV}"
inherit setuptools
COMPATIBLE_MACHINE = "raspberrypi"
SRC_URI[md5sum] = "cefc45422833dcafcd59b78dffc540f4"
SRC_URI[sha256sum] = "b89f75dec9de354681209ebfaedfe22b7c178aacd91a604a7bd6d92024e4cf7e"

View File

@@ -0,0 +1,410 @@
From 6d85e6cc3ab97c3f060e5e0a8e3f1945a14c86ba Mon Sep 17 00:00:00 2001
From: Gianfranco Costamagna <gianfranco.costamagna@abinsula.com>
Date: Mon, 12 Oct 2015 12:15:51 +0200
Subject: [PATCH] Add initial cross compile support (rebase from Petter Mabäcker <petter@technux.se> version)
---
devLib/Makefile | 54 ++++++++++++++++++++++++-------------------
examples/Gertboard/Makefile | 22 +++++++++++-------
examples/Makefile | 22 +++++++++++-------
examples/PiFace/Makefile | 22 +++++++++++-------
examples/PiGlow/Makefile | 4 ++--
examples/q2w/Makefile | 4 ++--
gpio/Makefile | 29 ++++++++++++-----------
wiringPi/Makefile | 50 +++++++++++++++++++++------------------
8 files changed, 119 insertions(+), 88 deletions(-)
diff --git a/devLib/Makefile b/devLib/Makefile
index 0fb0033..cbea759 100644
--- a/devLib/Makefile
+++ b/devLib/Makefile
@@ -31,15 +31,19 @@ ifneq ($V,1)
Q ?= @
endif
-STATIC=libwiringPiDev.a
-DYNAMIC=libwiringPiDev.so.$(VERSION)
+INCLUDE_DIR?=$(DESTDIR)$(PREFIX)/include
+LIB_DIR?=$(DESTDIR)$(PREFIX)/lib
-#DEBUG = -g -O0
-DEBUG = -O2
-CC = gcc
-INCLUDE = -I.
-DEFS = -D_GNU_SOURCE
-CFLAGS = $(DEBUG) $(DEFS) -Wformat=2 -Wall -Winline $(INCLUDE) -pipe -fPIC
+BASE_NAME=libwiringPiDev
+STATIC=$(BASE_NAME).a
+DYNAMIC=$(BASE_NAME).so.$(VERSION)
+
+#DEBUG ?= -g -O0
+DEBUG ?= -O2
+CC ?= gcc
+INCLUDE ?= -I.
+DEFS ?= -D_GNU_SOURCE
+CFLAGS ?= $(DEBUG) $(DEFS) -Wformat=2 -Wall -Winline $(INCLUDE) -pipe -fPIC
LIBS =
@@ -66,16 +70,16 @@ $(STATIC): $(OBJ)
$(DYNAMIC): $(OBJ)
$Q echo "[Link (Dynamic)]"
- $Q $(CC) -shared -Wl,-soname,libwiringPiDev.so$(WIRINGPI_SONAME_SUFFIX) -o libwiringPiDev.so.$(VERSION) -lpthread $(OBJ)
+ $Q $(CC) -shared -Wl,-soname,$(BASE_NAME).so.$(DYN_VERS_MAJ) -o $(BASE_NAME).so -lpthread $(OBJ)
.c.o:
$Q echo [Compile] $<
- $Q $(CC) -c $(CFLAGS) $< -o $@
+ $Q $(CC) -c $(CFLAGS) -fPIC $< -o $@
.PHONY: clean
clean:
$Q echo "[Clean]"
- $Q rm -f $(OBJ) $(OBJ_I2C) *~ core tags Makefile.bak libwiringPiDev.*
+ $Q rm -f $(OBJ) $(OBJ_I2C) *~ core tags Makefile.bak $(BASE_NAME).so* $(BASE_NAME).a
.PHONY: tags
tags: $(SRC)
@@ -86,22 +90,22 @@ tags: $(SRC)
.PHONY: install
install: $(DYNAMIC)
$Q echo "[Install Headers]"
- $Q install -m 0755 -d $(DESTDIR)$(PREFIX)/include
- $Q install -m 0644 $(HEADERS) $(DESTDIR)$(PREFIX)/include
+ $Q install -m 0755 -d $(INCLUDE_DIR)
+ $Q install -m 0644 $(HEADERS) $(INCLUDE_DIR)
$Q echo "[Install Dynamic Lib]"
- $Q install -m 0755 -d $(DESTDIR)$(PREFIX)/lib
- $Q install -m 0755 libwiringPiDev.so.$(VERSION) $(DESTDIR)$(PREFIX)/lib/libwiringPiDev.so.$(VERSION)
- $Q ln -sf $(DESTDIR)$(PREFIX)/lib/libwiringPiDev.so.$(VERSION) $(DESTDIR)/lib/libwiringPiDev.so
- $Q $(LDCONFIG)
+ $Q install -m 0755 -d $(LIB_DIR)
+ $Q install -m 0755 $(BASE_NAME).so $(LIB_DIR)/$(DYNAMIC)
+ $Q ln -sf $(DYNAMIC) $(LIB_DIR)/$(BASE_NAME).so
+ $Q ln -sf $(DYNAMIC) $(LIB_DIR)/$(BASE_NAME).so.$(DYN_VERS_MAJ)
.PHONY: install-static
install-static: $(STATIC)
$Q echo "[Install Headers]"
- $Q install -m 0755 -d $(DESTDIR)$(PREFIX)/include
- $Q install -m 0644 $(HEADERS) $(DESTDIR)$(PREFIX)/include
+ $Q install -m 0755 -d $(INCLUDE_DIR)
+ $Q install -m 0644 $(HEADERS) $(INCLUDE_DIR)
$Q echo "[Install Static Lib]"
- $Q install -m 0755 -d $(DESTDIR)$(PREFIX)/lib
- $Q install -m 0755 libwiringPiDev.a $(DESTDIR)$(PREFIX)/lib
+ $Q install -m 0755 -d $(LIB_DIR)
+ $Q install -m 0755 $(STATIC) $(LIB_DIR)
.PHONY: install-deb
install-deb: $(DYNAMIC)
@@ -116,9 +120,11 @@ install-deb: $(DYNAMIC)
.PHONY: uninstall
uninstall:
$Q echo "[UnInstall]"
- $Q cd $(DESTDIR)$(PREFIX)/include/ && rm -f $(HEADERS)
- $Q cd $(DESTDIR)$(PREFIX)/lib/ && rm -f libwiringPiDev.*
- $Q $(LDCONFIG)
+ $Q cd $(INCLUDE_DIR) && rm -f $(HEADERS)
+ $Q rm -f $(LIB_DIR)/$(STATIC)
+ $Q rm -f $(LIB_DIR)/$(DYNAMIC)
+ $Q rm -f $(LIB_DIR)/$(BASE_NAME).so
+ $Q rm -f $(LIB_DIR)/$(BASE_NAME).so.$(DYN_VERS_MAJ)
.PHONY: depend
diff --git a/examples/Gertboard/Makefile b/examples/Gertboard/Makefile
index 1939ad6..98d1415 100644
--- a/examples/Gertboard/Makefile
+++ b/examples/Gertboard/Makefile
@@ -9,14 +9,20 @@ ifneq ($V,1)
Q ?= @
endif
-#DEBUG = -g -O0
-DEBUG = -O3
-CC = gcc
-INCLUDE = -I/usr/local/include
-CFLAGS = $(DEBUG) -Wall $(INCLUDE) -Winline -pipe
-
-LDFLAGS = -L/usr/local/lib
-LDLIBS = -lwiringPi -lwiringPiDev -lpthread -lm
+DESTDIR?=/usr
+PREFIX?=/local
+
+INCLUDE_DIR?=$(DESTDIR)$(PREFIX)/include
+LIB_DIR?=$(DESTDIR)$(PREFIX)/lib
+
+#DEBUG ?= -g -O0
+DEBUG ?= -O3
+CC ?= gcc
+INCLUDE ?= -I$(INCLUDE_DIR)
+CFLAGS ?= $(DEBUG) -Wall $(INCLUDE) -Winline -pipe
+
+LDFLAGS ?= -L$(LIB_DIR)
+LDLIBS ?= -lwiringPi -lwiringPiDev -lpthread -lm
# Should not alter anything below this line
###############################################################################
diff --git a/examples/Makefile b/examples/Makefile
index e6b9b71..931b167 100644
--- a/examples/Makefile
+++ b/examples/Makefile
@@ -26,14 +26,20 @@ ifneq ($V,1)
Q ?= @
endif
-#DEBUG = -g -O0
-DEBUG = -O3
-CC = gcc
-INCLUDE = -I/usr/local/include
-CFLAGS = $(DEBUG) -Wall $(INCLUDE) -Winline -pipe
-
-LDFLAGS = -L/usr/local/lib
-LDLIBS = -lwiringPi -lwiringPiDev -lpthread -lm
+DESTDIR?=/usr
+PREFIX?=/local
+
+INCLUDE_DIR?=$(DESTDIR)$(PREFIX)/include
+LIB_DIR?=$(DESTDIR)$(PREFIX)/lib
+
+#DEBUG ?= -g -O0
+DEBUG ?= -O3
+CC ?= gcc
+INCLUDE ?= -I$(INCLUDE_DIR)
+CFLAGS ?= $(DEBUG) -Wall $(INCLUDE) -Winline -pipe
+
+LDFLAGS ?= -L$(LIB_DIR)
+LDLIBS ?= -lwiringPi -lwiringPiDev -lpthread -lm
# Should not alter anything below this line
###############################################################################
diff --git a/examples/PiFace/Makefile b/examples/PiFace/Makefile
index 4685adc..cfaf902 100644
--- a/examples/PiFace/Makefile
+++ b/examples/PiFace/Makefile
@@ -26,14 +26,20 @@ ifneq ($V,1)
Q ?= @
endif
-#DEBUG = -g -O0
-DEBUG = -O3
-CC = gcc
-INCLUDE = -I/usr/local/include
-CFLAGS = $(DEBUG) -Wall $(INCLUDE) -Winline -pipe
-
-LDFLAGS = -L/usr/local/lib
-LDLIBS = -lwiringPi -lwiringPiDev -lpthread -lm
+DESTDIR?=/usr
+PREFIX?=/local
+
+INCLUDE_DIR?=$(DESTDIR)$(PREFIX)/include
+LIB_DIR?=$(DESTDIR)$(PREFIX)/lib
+
+#DEBUG ?= -g -O0
+DEBUG ?= -O3
+CC ?= gcc
+INCLUDE ?= -I$(INCLUDE_DIR)
+CFLAGS ?= $(DEBUG) -Wall $(INCLUDE) -Winline -pipe
+
+LDFLAGS ?= -L$(LIB_DIR)
+LDLIBS ?= -lwiringPi -lwiringPiDev -lpthread -lm
# Should not alter anything below this line
###############################################################################
diff --git a/examples/PiGlow/Makefile b/examples/PiGlow/Makefile
index acd4818..dabd64e 100644
--- a/examples/PiGlow/Makefile
+++ b/examples/PiGlow/Makefile
@@ -29,10 +29,10 @@ endif
#DEBUG = -g -O0
DEBUG = -O3
CC = gcc
-INCLUDE = -I/usr/local/include
+INCLUDE = -I../wiringPi -I../wiringPiDev
CFLAGS = $(DEBUG) -Wall $(INCLUDE) -Winline -pipe
-LDFLAGS = -L/usr/local/lib
+LDFLAGS = -L../wiringPi -L../wiringPiDev
LDLIBS = -lwiringPi -lwiringPiDev -lpthread -lm
# Should not alter anything below this line
diff --git a/examples/q2w/Makefile b/examples/q2w/Makefile
index 6f50fa0..c5e9f6e 100644
--- a/examples/q2w/Makefile
+++ b/examples/q2w/Makefile
@@ -29,10 +29,10 @@ endif
#DEBUG = -g -O0
DEBUG = -O3
CC = gcc
-INCLUDE = -I/usr/local/include
+INCLUDE = -I../wiringPi -I../devLib
CFLAGS = $(DEBUG) -Wall $(INCLUDE) -Winline -pipe
-LDFLAGS = -L/usr/local/lib
+LDFLAGS = -L../wiringPi -L../devLib
LDLIBS = -lwiringPi -lwiringPiDev -lpthread -lm
###############################################################################
diff --git a/gpio/Makefile b/gpio/Makefile
index 7dcd090..83ec454 100644
--- a/gpio/Makefile
+++ b/gpio/Makefile
@@ -30,13 +30,17 @@ ifneq ($V,1)
Q ?= @
endif
-#DEBUG = -g -O0
-DEBUG = -O2
-CC = gcc
-INCLUDE = -I$(DESTDIR)$(PREFIX)/include
-CFLAGS = $(DEBUG) -Wall $(INCLUDE) -Winline -pipe
+INCLUDE_DIR?=$(DESTDIR)$(PREFIX)/include
+LIB_DIR?=$(DESTDIR)$(PREFIX)/lib
+BIN_DIR?=$(DESTDIR)$(PREFIX)/bin
-LDFLAGS = -L$(DESTDIR)$(PREFIX)/lib
+#DEBUG ?= -g -O0
+DEBUG ?= -O2
+CC ?= gcc
+INCLUDE ?= -I$(INCLUDE_DIR)
+CFLAGS ?= $(DEBUG) -Wall $(INCLUDE) -Winline -pipe
+
+LDFLAGS ?= -L$(LIB_DIR)
LIBS = -lwiringPi -lwiringPiDev -lpthread
# May not need to alter anything below this line
@@ -72,13 +76,10 @@ tags: $(SRC)
.PHONY: install
install: gpio
$Q echo "[Install]"
- $Q cp gpio $(DESTDIR)$(PREFIX)/bin
-ifneq ($(WIRINGPI_SUID),0)
- $Q chown root.root $(DESTDIR)$(PREFIX)/bin/gpio
- $Q chmod 4755 $(DESTDIR)$(PREFIX)/bin/gpio
-endif
- $Q mkdir -p $(DESTDIR)$(PREFIX)/man/man1
- $Q cp gpio.1 $(DESTDIR)$(PREFIX)/man/man1
+ $Q install -d $(BIN_DIR)
+ $Q install -m 4755 -o root -g root gpio $(BIN_DIR)
+ $Q install -d $(DESTDIR)$(PREFIX)/share/man/man1
+ $Q install -m 644 -o root -g root gpio.1 $(DESTDIR)$(PREFIX)/share/man/man1
.PHONY: install-deb
install-deb: gpio
@@ -89,7 +90,7 @@ install-deb: gpio
.PHONY: uninstall
uninstall:
$Q echo "[UnInstall]"
- $Q rm -f $(DESTDIR)$(PREFIX)/bin/gpio
+ $Q rm -f $(BIN_DIR)/gpio
$Q rm -f $(DESTDIR)$(PREFIX)/man/man1/gpio.1
.PHONY: depend
diff --git a/wiringPi/Makefile b/wiringPi/Makefile
index 6bbcc5d..5355b74 100644
--- a/wiringPi/Makefile
+++ b/wiringPi/Makefile
@@ -25,19 +25,23 @@ VERSION=$(shell cat ../VERSION)
DESTDIR?=/usr
PREFIX?=/local
+INCLUDE_DIR?=$(DESTDIR)$(PREFIX)/include
+LIB_DIR?=$(DESTDIR)$(PREFIX)/lib
+
LDCONFIG?=ldconfig
ifneq ($V,1)
Q ?= @
endif
-STATIC=libwiringPi.a
-DYNAMIC=libwiringPi.so.$(VERSION)
+BASE_NAME=libwiringPi
+STATIC=$(BASE_NAME).a
+DYNAMIC=$(BASE_NAME).so.$(VERSION)
-#DEBUG = -g -O0
-DEBUG = -O2
-CC = gcc
-INCLUDE = -I.
+#DEBUG ?= -g -O0
+DEBUG ?= -O2
+CC ?= gcc
+INCLUDE ?= -I.
DEFS = -D_GNU_SOURCE
CFLAGS = $(DEBUG) $(DEFS) -Wformat=2 -Wall -Winline $(INCLUDE) -pipe -fPIC
@@ -89,17 +93,17 @@ $(STATIC): $(OBJ)
$(DYNAMIC): $(OBJ)
$Q echo "[Link (Dynamic)]"
- $Q $(CC) -shared -Wl,-soname,libwiringPi.so$(WIRINGPI_SONAME_SUFFIX) -o libwiringPi.so.$(VERSION) -lpthread $(OBJ)
+ $Q $(CC) -shared -Wl,-soname,$(BASE_NAME).so.$(DYN_VERS_MAJ) -o $(BASE_NAME).so -lpthread $(OBJ)
.c.o:
$Q echo [Compile] $<
- $Q $(CC) -c $(CFLAGS) $< -o $@
+ $Q $(CC) -c $(CFLAGS) -fPIC $< -o $@
.PHONY: clean
clean:
$Q echo "[Clean]"
- $Q rm -f $(OBJ) $(OBJ_I2C) *~ core tags Makefile.bak libwiringPi.*
+ $Q rm -f $(OBJ) $(OBJ_I2C) *~ core tags Makefile.bak $(BASE_NAME).so* $(BASE_NAME).a
.PHONY: tags
tags: $(SRC)
@@ -110,22 +114,22 @@ tags: $(SRC)
.PHONY: install
install: $(DYNAMIC)
$Q echo "[Install Headers]"
- $Q install -m 0755 -d $(DESTDIR)$(PREFIX)/include
- $Q install -m 0644 $(HEADERS) $(DESTDIR)$(PREFIX)/include
+ $Q install -m 0755 -d $(INCLUDE_DIR)
+ $Q install -m 0644 $(HEADERS) $(INCLUDE_DIR)
$Q echo "[Install Dynamic Lib]"
- $Q install -m 0755 -d $(DESTDIR)$(PREFIX)/lib
- $Q install -m 0755 libwiringPi.so.$(VERSION) $(DESTDIR)$(PREFIX)/lib/libwiringPi.so.$(VERSION)
- $Q ln -sf $(DESTDIR)$(PREFIX)/lib/libwiringPi.so.$(VERSION) $(DESTDIR)/lib/libwiringPi.so
- $Q $(LDCONFIG)
+ $Q install -m 0755 -d $(LIB_DIR)
+ $Q install -m 0755 $(BASE_NAME).so $(LIB_DIR)/$(DYNAMIC)
+ $Q ln -sf $(DYNAMIC) $(LIB_DIR)/$(BASE_NAME).so
+ $Q ln -sf $(DYNAMIC) $(LIB_DIR)/$(BASE_NAME).so.$(DYN_VERS_MAJ)
.PHONY: install-static
install-static: $(STATIC)
$Q echo "[Install Headers]"
- $Q install -m 0755 -d $(DESTDIR)$(PREFIX)/include
- $Q install -m 0644 $(HEADERS) $(DESTDIR)$(PREFIX)/include
+ $Q install -m 0755 -d $(INCLUDE_DIR)
+ $Q install -m 0644 $(HEADERS) $(INCLUDE_DIR)
$Q echo "[Install Static Lib]"
- $Q install -m 0755 -d $(DESTDIR)$(PREFIX)/lib
- $Q install -m 0755 libwiringPi.a $(DESTDIR)$(PREFIX)/lib
+ $Q install -m 0755 -d $(LIB_DIR)
+ $Q install -m 0755 $(STATIC) $(LIB_DIR)
.PHONY: install-deb
install-deb: $(DYNAMIC)
@@ -140,9 +144,11 @@ install-deb: $(DYNAMIC)
.PHONY: uninstall
uninstall:
$Q echo "[UnInstall]"
- $Q cd $(DESTDIR)$(PREFIX)/include/ && rm -f $(HEADERS)
- $Q cd $(DESTDIR)$(PREFIX)/lib/ && rm -f libwiringPi.*
- $Q $(LDCONFIG)
+ $Q cd $(INCLUDE_DIR) && rm -f $(HEADERS)
+ $Q rm -f $(LIB_DIR)/$(STATIC)
+ $Q rm -f $(LIB_DIR)/$(DYNAMIC)
+ $Q rm -f $(LIB_DIR)/$(BASE_NAME).so
+ $Q rm -f $(LIB_DIR)/$(BASE_NAME).so.$(DYN_VERS_MAJ)
.PHONY: depend
--
2.1.4

View File

@@ -0,0 +1,34 @@
DESCRIPTION = "A library to control Raspberry Pi GPIO channels"
HOMEPAGE = "https://projects.drogon.net/raspberry-pi/wiringpi/"
SECTION = "devel/libs"
LICENSE = "LGPLv3+"
LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=e6a600fd5e1d9cbde2d983680233ad02"
# tag 2.29
SRCREV = "d79506694d7ba1c3da865d095238289d6175057d"
S = "${WORKDIR}/git"
SRC_URI = "\
git://git.drogon.net/wiringPi \
file://0001-Add-initial-cross-compile-support.patch \
"
COMPATIBLE_MACHINE = "raspberrypi"
CFLAGS_prepend = "-I${S}/wiringPi -I${S}/devLib"
EXTRA_OEMAKE += "'INCLUDE_DIR=${D}${includedir}' 'LIB_DIR=${D}${libdir}'"
EXTRA_OEMAKE += "'DESTDIR=${D}/usr' 'PREFIX=""'"
do_compile() {
oe_runmake -C devLib
oe_runmake -C wiringPi
oe_runmake -C gpio 'LDFLAGS=${LDFLAGS} -L${S}/wiringPi -L${S}/devLib'
}
do_install() {
oe_runmake -C devLib install
oe_runmake -C wiringPi install
oe_runmake -C gpio install
}

View File

@@ -1,37 +0,0 @@
DESCRIPTION = "Scripts to support a first run wizard on the Raspberry Pi."
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://${WORKDIR}/LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263"
DEPENDS = "zenity dbus"
RDEPENDS_${PN} = "slim sudo zenity dbus"
COMPATIBLE_MACHINE = "raspberrypi"
PR = "r2"
SRC_URI = " \
file://LICENSE \
file://first-run-wizard.sh \
file://rpi_startup.sh \
file://rc.firstrun \
"
inherit update-rc.d
INITSCRIPT_NAME = "rpi-run-init"
INITSCRIPT_PARAMS = "start 29 2 3 4 5 . stop 29 2 3 4 5 ."
do_install() {
install -d ${D}${prefix}/rpi/scripts/
install -m 0755 ${WORKDIR}/first-run-wizard.sh ${D}${prefix}/rpi/scripts/
install -m 0755 ${WORKDIR}/rpi_startup.sh ${D}${prefix}/rpi/scripts/
install -d ${D}${sysconfdir}/init.d/
install -m 0755 ${WORKDIR}/rc.firstrun ${D}${sysconfdir}/init.d/rpi-run-init
install -d ${D}${sysconfdir}/rpi/
}
PACKAGE_ARCH = "${MACHINE_ARCH}"
FILES_${PN} += "${prefix} ${sysconfdir}"

View File

@@ -1,339 +0,0 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Lesser General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License.

View File

@@ -1,213 +0,0 @@
#!/bin/sh
# Initially based on the scripts by JohnX/Mer Project - http://wiki.maemo.org/Mer/
# Reworked for the OpenPandora - John Willis/Michael Mrozek
# Quickly 'hacked' for the Raspberry Pi to provide a simple 1st boot wizard.
# You can start the wizard from the shell using 'xinit ./first-boot-init.sh'
export LANG=en_GB.UTF-8
export GTK2_RC_FILES=/usr/share/themes/Xfce/gtk-2.0/gtkrc
# Ensure there is a wheel group for sudoers to be put into.
# TODO: Do this somewhere better.
groupadd wheel
# Default error message (should a user hit cancel, validation fail etc.).
ERROR_WINDOW='zenity --title="Error" --error --text="Sorry! Please try again." --timeout 6'
RESET_ROOT="yes"
DISPLAY=:0 xset s off
# Greet the user.
if zenity --question --title="Pandoras Box has been opened." --text="Welcome!\n\nPandora's Box has been opened.\n\nThis wizard will help you setting up your new OpenPandora handheld before the first use.\n\nYou will be asked a few simple questions to personalise and configure your device.\n\nDo you want to set up your unit now or shut the unit down and do it later?" --ok-label="Start now" --cancel-label="Shutdown" ; then
# ----
# Reset ROOT's password to something random
# (I know the image build sets the password to something pusdo-random)
# (ok, urandom is not 100% secure but it's good enough for our needs)
if [ $RESET_ROOT == "yes" ]; then
rootpwd=$(cat /dev/urandom|tr -dc "a-zA-Z0-9-_\$\?"|fold -w 30|head -n 1)
passwd "root" <<EOF
$rootpwd
$rootpwd
EOF
rootpwd=""
fi
# ----
# Setup swap partition if the user has placed an SD with a swap partition on it.
swap_part=$(sfdisk -l /dev/mmcblk? | grep swap | cut -d" " -f1)
if [ x$swap_part != x ] ; then
use_swap=$(zenity --title="Enable swap?" --text "Swap partition found on SD card. Would you like to use it?\n\nWarning: This SD must remain in the system to use the swap." --list --radiolist --column " " --column "Answer" TRUE "Use swap on $swap_part" FALSE "Do not use swap")
if [ "$use_swap" = "Use swap on $swap_part" ] ; then
swapon $swap_part
echo "$swap_part none swap sw 0 0" >> /etc/fstab
fi
fi
# ----
# Setup the full name and username.
while ! name=$(zenity --title="Please enter your full name" --entry --text "Please enter your full name.") || [ "x$name" = "x" ] ; do
zenity --title="Error" --error --text="Please try again." --timeout 6
done
username_guess=$(echo "$name" | cut -d" " -f1 | tr A-Z a-z)
while ! username=$(zenity --title="Enter your username" --entry --text "Please choose a short username.\n\nIt should be all lowercase and contain only letters and numbers." --entry-text "$username_guess") || [ "x$username" = "x" ] ; do
zenity --title="Error" --error --text="Please try again." --timeout 6
done
while ! useradd -c "$name,,," -G adm,audio,video,netdev,wheel,plugdev,users "$username" ; do
username=$(zenity --title="Please check username" --entry --text "Please ensure that your username consists of only\nletters and numbers and is not already in use on the system." --entry-text "$username")
done
# ----
# Setup the users password.
password=""
while [ x$password = x ] ; do
password1=$(zenity --title=Password --entry --text="Please choose a new password." --hide-text)
password2=$(zenity --title=Confirm --entry --text="Confirm your new password." --hide-text)
if [ $password1 != $password2 ] ; then
zenity --title="Error" --error --text="The passwords do not match.\n\nPlease try again." --timeout 6
else
if [ x$password1 = x ] ; then
zenity --title="Error" --error --text="Password cannot be blank!\n\nPlease try again." --timeout 6
else
password=$password1
fi
fi
done
passwd "$username" <<EOF
$password
$password
EOF
# ----
# Pick a name for the OpenPandora.
while ! hostname=$(zenity --title="Name your Pandora" --entry --text "Please choose a name for your OpenPandora.\n\nIt should only contain letters, numbers and dashes, no spaces." --entry-text "$username-openpandora") || [ "x$hostname" = "x" ]; do
zenity --title="Error" --error --text="Please try again."
done
echo $hostname > /etc/hostname
hostname =$(sed 's/ /_/g' /etc/hostname)
echo $hostname > /etc/hostname
echo "127.0.0.1 localhost.localdomain localhost $hostname" > /etc/hosts
hostname -F /etc/hostname
# Set the correct user for Autologin and enable / disable it.
if zenity --question --title="Autologin" --text="Do you wish to automatically login at startup?\n\nSecurity warning: This skips the password check on startup" --ok-label="Yes" --cancel-label="No"; then
# echo "PREFERED_USER=$username" > /etc/default/autologin
sed -i "s/.*default_user.*/default_user $username/g" /etc/slim.conf
sed -i 's/.*auto_login.*/auto_login yes/g' /etc/slim.conf
else
if zenity --question --title="User" --text="Do you wish to have your username automatically populated in the login screen?\n\nNote: This is ideal if you're the only user of the OpenPandora but wish to disable autologin and use a password." --ok-label="Yes" --cancel-label="No"; then
sed -i "s/.*default_user.*/default_user $username/g" /etc/slim.conf
sed -i 's/.*auto_login.*/auto_login no/g' /etc/slim.conf
else
sed -i "s/.*default_user.*/default_user/g" /etc/slim.conf
sed -i 's/.*auto_login.*/auto_login no/g' /etc/slim.conf
fi
fi
# ----
# Select the default interface and setup SLiM to pass that as a sesion to ~./.xinitrc
selection=""
while [ x$selection = x ]; do
selection=$(cat /etc/pandora/conf/gui.conf | awk -F\; '{print $1 "\n" $2 }' | zenity --width=500 --height=300 --title="Select the Default GUI" --list --column "Name" --column "Description" --text "Please select the Default GUI" )
if [ x$selection = x ]; then
zenity --title="Error" --error --text="Please select a GUI." --timeout=6
fi
done
echo $selection
gui=$(grep $selection /etc/pandora/conf/gui.conf | awk -F\; '{print $3}')
stopcommand=$(grep $selection /etc/pandora/conf/gui.conf | awk -F\; '{print $4}')
echo $gui
if [ $gui ]; then
sed -i "s/.*DEFAULT_SESSION=.*/DEFAULT_SESSION=$gui/g" /home/$username/.xinitrc
echo $selection selected as default interface
zenity --info --title="Selected session" --text "You selected $selection as default setting. You can always change your default GUI later." --timeout 6
else
sed -i 's/.*DEFAULT_SESSION=.*/DEFAULT_SESSION=startxfce4/g' /home/$username/.xinitrc
fi
# ----
# Set the timezone and date/time
while ! area=$(zenity --list --title "Select your time zone" --text="Please select your area" --column="Select your area" --print-column=1 "Africa" "America" "Asia" "Australia" "Europe" "Pacific" --width=500 --height=260) || [ "x$area" = "x" ] ; do
zenity --title="Error" --error --text="Please select your area." --timeout=6
done
while ! timezone=$(ls -1 /usr/share/zoneinfo/$area | zenity ---width=500 --height=200 --title="Select your closest location" --list --column "Closest Location" --text "Please select the location closest to you") || [ "x$timezone" = "x" ] ; do
zenity --title="Error" --error --text="Please select your location." --timeout=6
done
echo $timezone
rm /etc/localtime && ln -s /usr/share/zoneinfo/$area/$timezone /etc/localtime
# Make sure we clean up any leading zeros in the day (as Zenity freaks out)
date_d=`date +%d | sed 's/^0//'`
date_m=`date +%m | sed 's/^0//'`
date_y=`date +%Y`
while ! date=$(zenity --calendar --text="Please select the current date" --title "Please select the current date" --day=$date_d --month=$date_m --year=$date_y --date-format="%Y%m%d" --width=500) || [ "x$date" = "x" ] ; do
zenity --title="Error" --error --text="Please select the date." --timeout 6
done
echo $date
time_h=`date +%H`
time_m=`date +%M`
while ! time=$(zenity --title="Enter actual time" --entry --text "Please enter the time in 24hour format (HH:MM):" --entry-text "$time_h:$time_m") || [ "x$time" = "x" ] ; do
zenity --title="Error" --error --text="Please input the time." --timeout 6
done
while ! date -d $time ; do
time=$(zenity --title="Enter actual time" --entry --text "Please enter the time in 24hour format (HH:MM):" --entry-text "$time_h:$time_m")
done
date +%Y%m%d -s $date
date +%H:%M -s $time
# ----
# Finsh up and boot the system.
zenity --info --title="Finished" --text "This concludes the First Boot Wizard.\n\nYour chosen interface will start in a few seconds\n\nThankyou for buying the OpenPandora. Enjoy using the device!" --timeout 6
# ----
# Write the control file so this script is not run on next boot
# (hackish I know but I want the flexability to drop a new script in later esp. in the early firmwares).
touch /etc/rpi/first-boot
# Make the control file writeable by all to allow the user to delete to rerun the wizard on next boot.
chmod 0666 /etc/rpi/first-boot
# ----
else
poweroff
fi

View File

@@ -1,73 +0,0 @@
#!/bin/sh
### BEGIN INIT INFO
# Provides: rpiruninit
# Required-Start: #adjust
# Required-Stop: #adjust
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
### END INIT INFO
DESC="Raspberry Pi Startup Script Deamon"
NAME="rpiruninit"
PID=`pidof -o %PPID -x rpi_startup.sh`
OPRUNINIT='/usr/rpi/scripts/rpi_startup.sh'
d_stop() {
if [ $PID ]
then
kill $PID
else
echo "$DESC: $NAME not running."
fi
}
d_start() {
if [ $PID ]
then
echo "$DESC: $NAME already running."
else
$OPRUNINIT
fi
}
d_reload() {
if [ $PID ]
then
kill -HUP $PID
else
echo "$DESC: $NAME not running."
fi
}
case "$1" in
start)
echo -n "Starting $DESC: $NAME"
d_start
echo "."
;;
stop)
echo -n "Stopping $DESC: $NAME"
d_stop
echo "."
;;
reload)
echo -n "Reloading $DESC: $NAME"
d_reload
echo "."
;;
restart|force-reload)
echo -n "Restarting $DESC: $NAME"
d_stop
sleep 1
d_start
echo "."
;;
*)
echo "Usage: $0 {start|stop|restart|reload|force-reload}" >&2
exit 1
;;
esac
exit 0

View File

@@ -1,6 +0,0 @@
#!/bin/sh
OP_CHECKFILE='/etc/rpi/first-boot'
OP_FIRSTRUN='xinit /usr/rpi/scripts/first-run-wizard.sh'
[ -f $OP_CHECKFILE ] && echo -e "\nOP_STARTUP: $OP_CHECKFILE exists, not first boot." || $OP_FIRSTRUN

View File

@@ -0,0 +1,26 @@
--- userland-fb11b39d97371c076eef7c85bbcab5733883a41e.orig/interface/vcos/vcos_types.h
+++ userland-fb11b39d97371c076eef7c85bbcab5733883a41e/interface/vcos/vcos_types.h
@@ -121,10 +121,10 @@
#if defined(NDEBUG)
#ifdef __GNUC__
-# define VCOS_INLINE_DECL extern __inline__
+# define VCOS_INLINE_DECL extern
# define VCOS_INLINE_IMPL static __inline__
#else
-# define VCOS_INLINE_DECL static _VCOS_INLINE /* declare a func */
+# define VCOS_INLINE_DECL extern
# define VCOS_INLINE_IMPL static _VCOS_INLINE /* implement a func inline */
#endif
--- userland-fb11b39d97371c076eef7c85bbcab5733883a41e.orig/interface/vcos/pthreads/vcos_platform_types.h
+++ userland-fb11b39d97371c076eef7c85bbcab5733883a41e/interface/vcos/pthreads/vcos_platform_types.h
@@ -61,7 +61,7 @@
#define VCOS_ASSERT_MSG(...) ((VCOS_ASSERT_LOGGING && !VCOS_ASSERT_LOGGING_DISABLE) ? vcos_pthreads_logging_assert(__FILE__, __func__, __LINE__, __VA_ARGS__) : (void)0)
#define VCOS_INLINE_BODIES
-#define VCOS_INLINE_DECL extern __inline__
+#define VCOS_INLINE_DECL extern
#define VCOS_INLINE_IMPL static __inline__
#ifdef __cplusplus

View File

@@ -0,0 +1,22 @@
--- userland-d4aa617de3b196399bb8e2ce32e181768cb52179.orig/host_applications/linux/apps/raspicam/RaspiVidYUV.c
+++ userland-d4aa617de3b196399bb8e2ce32e181768cb52179/host_applications/linux/apps/raspicam/RaspiVidYUV.c
@@ -106,8 +106,6 @@
/// Run/record forever
#define WAIT_METHOD_FOREVER 4
-extern FILE *stderr, *stdout;
-
int mmal_status_to_int(MMAL_STATUS_T status);
static void signal_handler(int signal_number);
--- userland-d4aa617de3b196399bb8e2ce32e181768cb52179.orig/host_applications/linux/libs/debug_sym/debug_sym.c
+++ userland-d4aa617de3b196399bb8e2ce32e181768cb52179/host_applications/linux/libs/debug_sym/debug_sym.c
@@ -67,6 +67,8 @@
# else
# define PAGE_SIZE 4096
# endif
+#endif
+#ifndef PAGE_MASK
#define PAGE_MASK (~(PAGE_SIZE - 1))
#endif

View File

@@ -0,0 +1,29 @@
From 05554d8486050546efc3c0605015786c8b267d19 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sun, 9 Aug 2015 23:58:17 -0700
Subject: [PATCH 1/2] set VMCS_INSTALL_PREFIX to /usr
in OE we dont use /opt/vc but standard prefix
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
Upstream-Status: Submitted
makefiles/cmake/vmcs.cmake | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/makefiles/cmake/vmcs.cmake b/makefiles/cmake/vmcs.cmake
index 0f8641b..e9d576d 100644
--- a/makefiles/cmake/vmcs.cmake
+++ b/makefiles/cmake/vmcs.cmake
@@ -10,7 +10,7 @@ INCLUDE(CPack)
if (ANDROID)
SET(VMCS_INSTALL_PREFIX "/vendor/brcm/islands" CACHE PATH "Prefix prepended to install directories" FORCE)
else()
- SET(VMCS_INSTALL_PREFIX "/opt/vc" CACHE PATH "Prefix prepended to install directories" FORCE)
+ SET(VMCS_INSTALL_PREFIX "/usr" CACHE PATH "Prefix prepended to install directories" FORCE)
endif()
SET(CMAKE_INSTALL_PREFIX "${VMCS_INSTALL_PREFIX}" CACHE INTERNAL "Prefix
--
2.1.4

View File

@@ -0,0 +1,114 @@
From ef43e09c2d13b88c2e92cffc94b68003afcb1f13 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sun, 9 Aug 2015 23:59:32 -0700
Subject: [PATCH 2/2] cmake: generate and install pkgconfig files
many packages expect packageconfig support especially for detecting EGL
libraries. This patch helps in compiling those packages on RPi
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
Upstream-Status: Submitted
CMakeLists.txt | 10 +++++++++-
pkgconfig/bcm_host.pc.in | 10 ++++++++++
pkgconfig/egl.pc.in | 12 ++++++++++++
pkgconfig/glesv2.pc.in | 12 ++++++++++++
pkgconfig/vg.pc.in | 11 +++++++++++
5 files changed, 54 insertions(+), 1 deletion(-)
create mode 100644 pkgconfig/bcm_host.pc.in
create mode 100644 pkgconfig/egl.pc.in
create mode 100644 pkgconfig/glesv2.pc.in
create mode 100644 pkgconfig/vg.pc.in
diff --git a/CMakeLists.txt b/CMakeLists.txt
index d8f776c..f15dc2b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -105,6 +105,14 @@ set(vmcs_host_apps_VERSION_MAJOR 1)
set(vmcs_host_apps_VERSION_MINOR 0)
include_directories("${PROJECT_BINARY_DIR}")
-
+include(FindPkgConfig QUIET)
+if(PKG_CONFIG_FOUND)
+ # Produce a pkg-config file
+ foreach(PCFILE bcm_host.pc egl.pc glesv2.pc vg.pc)
+ configure_file("pkgconfig/${PCFILE}.in" "${PCFILE}" @ONLY)
+ install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${PCFILE}"
+ DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/pkgconfig")
+ endforeach()
+endif()
# Remove cache entry, if one added by command line
unset(KHRONOS_EGL_PLATFORM CACHE)
diff --git a/pkgconfig/bcm_host.pc.in b/pkgconfig/bcm_host.pc.in
new file mode 100644
index 0000000..c7237c5
--- /dev/null
+++ b/pkgconfig/bcm_host.pc.in
@@ -0,0 +1,10 @@
+prefix=@CMAKE_INSTALL_PREFIX@
+exec_prefix=${prefix}
+libdir=${exec_prefix}/lib
+includedir=${prefix}/include
+
+Name: bcm_host
+Description: Broadcom VideoCore host API library
+Version: 1
+Libs: -L${libdir} -lbcm_host -lvcos -lvchiq_arm -pthread
+Cflags: -I${includedir} -I${includedir}/interface/vmcs_host/linux -I${includedir}/interface/vcos/pthreads -DUSE_VCHIQ_ARM
diff --git a/pkgconfig/egl.pc.in b/pkgconfig/egl.pc.in
new file mode 100644
index 0000000..4e3d6ac
--- /dev/null
+++ b/pkgconfig/egl.pc.in
@@ -0,0 +1,12 @@
+prefix=@CMAKE_INSTALL_PREFIX@
+exec_prefix=${prefix}
+libdir=${exec_prefix}/lib
+includedir=${prefix}/include
+
+Name: EGL
+Description: Fake EGL package for RPi
+Version: 10
+Requires: bcm_host
+Libs: -L${libdir} -lEGL
+Cflags: -I${includedir}
+
diff --git a/pkgconfig/glesv2.pc.in b/pkgconfig/glesv2.pc.in
new file mode 100644
index 0000000..5900225
--- /dev/null
+++ b/pkgconfig/glesv2.pc.in
@@ -0,0 +1,12 @@
+prefix=@CMAKE_INSTALL_PREFIX@
+exec_prefix=${prefix}
+libdir=${exec_prefix}/lib
+includedir=${prefix}/include
+
+Name: GLESv2
+Description: Fake GL ES 2 package for RPi
+Version: 10
+Requires: bcm_host
+Libs: -L${libdir} -lGLESv2
+Cflags: -I${includedir}
+
diff --git a/pkgconfig/vg.pc.in b/pkgconfig/vg.pc.in
new file mode 100644
index 0000000..8c39c98
--- /dev/null
+++ b/pkgconfig/vg.pc.in
@@ -0,0 +1,11 @@
+prefix=@CMAKE_INSTALL_PREFIX@
+exec_prefix=${prefix}
+libdir=${exec_prefix}/lib
+includedir=${prefix}/include
+
+Name: OpenVG
+Description: Fake OpenVG package for RPi
+Version: 10
+Requires: bcm_host
+Libs: -L${libdir} -lOpenVG
+Cflags: -I${includedir}
--
2.1.4

View File

@@ -0,0 +1,13 @@
diff --git a/host_applications/linux/apps/smem/smem.c b/host_applications/linux/apps/smem/smem.c
index f780b79..618580e 100644
--- a/host_applications/linux/apps/smem/smem.c
+++ b/host_applications/linux/apps/smem/smem.c
@@ -192,7 +192,7 @@ int main( int argc, char **argv )
int opt;
int opt_alloc = 0;
int opt_status = 0;
- uint32_t alloc_size;
+ uint32_t alloc_size = 0;
int opt_pid = -1;
VCSM_STATUS_T status_mode = VCSM_STATUS_NONE;

View File

@@ -5,35 +5,52 @@ vcos, openmaxil, vchiq_arm, bcm_host, WFC, OpenVG."
LICENSE = "Broadcom" LICENSE = "Broadcom"
LIC_FILES_CHKSUM = "file://LICENCE;md5=957f6640d5e2d2acfce73a36a56cb32f" LIC_FILES_CHKSUM = "file://LICENCE;md5=957f6640d5e2d2acfce73a36a56cb32f"
PR = "r1" PR = "r5"
PROVIDES = "virtual/libgles2 \ PROVIDES = "virtual/libgles2 \
virtual/egl" virtual/egl"
COMPATIBLE_MACHINE = "raspberrypi" COMPATIBLE_MACHINE = "raspberrypi"
SRCREV = "8700279495e266378d36092ccf86424f0ee2539f" SRCBRANCH = "master"
SRC_URI = "git://github.com/raspberrypi/userland.git;protocol=git;branch=master \ SRCFORK = "raspberrypi"
SRCREV = "40e377862410371a9962db79b81fd4f0f266430a"
SRC_URI = "\
git://github.com/${SRCFORK}/userland.git;protocol=git;branch=${SRCBRANCH} \
file://0001-fix-gcc-5.x-inlines.patch \
file://0002-fix-musl-build.patch \
file://0003-fix-alloc-size-uninitialized.patch \
file://0002-set-VMCS_INSTALL_PREFIX-to-usr.patch \
file://0003-cmake-generate-and-install-pkgconfig-files.patch \
" "
S = "${WORKDIR}/git" S = "${WORKDIR}/git"
inherit cmake inherit cmake pkgconfig
EXTRA_OECMAKE = " \ EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=Release -DCMAKE_EXE_LINKER_FLAGS='-Wl,--no-as-needed'"
-DCMAKE_BUILD_TYPE=Release \ CFLAGS_append = " -fPIC"
"
# The compiled binaries don't provide sonames.
SOLIBS = "${SOLIBSDEV}"
do_install_append() { do_install_append () {
mkdir -p ${D}/${prefix} for f in `find ${D}${includedir}/interface/vcos/ -name "*.h"`; do
mv ${D}/opt/vc/* ${D}/${prefix} sed -i 's/include "vcos_platform.h"/include "pthreads\/vcos_platform.h"/g' ${f}
rm -rf ${D}/opt sed -i 's/include "vcos_futex_mutex.h"/include "pthreads\/vcos_futex_mutex.h"/g' ${f}
sed -i 's/include "vcos_platform_types.h"/include "pthreads\/vcos_platform_types.h"/g' ${f}
done
} }
FILES_${PN} += "${libdir}/*${SOLIBS}" # Shared libs from userland package build aren't versioned, so we need
FILES_${PN}-dev = "${includedir} \ # to force the .so files into the runtime package (and keep them
# out of -dev package).
FILES_SOLIBSDEV = ""
FILES_${PN} += " \
${libdir}/*.so \
${libdir}/plugins"
FILES_${PN}-dev += "${includedir} \
${prefix}/src" ${prefix}/src"
FILES_${PN}-doc += "${datadir}/install" FILES_${PN}-doc += "${datadir}/install"
FILES_${PN}-dbg += "${libdir}/plugins/.debug"
PACKAGE_ARCH = "${MACHINE_ARCH}" PACKAGE_ARCH = "${MACHINE_ARCH}"

View File

@@ -1,8 +1,6 @@
CONFLICTS = "vc-graphics" CONFLICTS = "vc-graphics"
VCDIR = "hardfp/opt/vc" VCDIR = "hardfp/opt/vc"
require vc-graphics.inc require vc-graphics.inc
PR = "${INCPR}.0" PR = "${INCPR}.0"

View File

@@ -1,8 +1,6 @@
CONFLICTS = "vc-graphics-hardfp" CONFLICTS = "vc-graphics-hardfp"
VCDIR = "opt/vc" VCDIR = "opt/vc"
require vc-graphics.inc require vc-graphics.inc
PR = "${INCPR}.0" PR = "${INCPR}.0"

View File

@@ -6,13 +6,14 @@ LIC_FILES_CHKSUM = "file://LICENCE;md5=86e53f5f5909ee66900418028de11780"
PROVIDES = "virtual/libgles2 virtual/egl" PROVIDES = "virtual/libgles2 virtual/egl"
COMPATIBLE_MACHINE = "raspberrypi" COMPATIBLE_MACHINE = "raspberrypi"
include ../common/firmware.inc include recipes-bsp/common/firmware.inc
SRC_URI = "git://github.com/raspberrypi/firmware.git;protocol=git;branch=master\ SRC_URI += " \
file://egl.pc \ file://egl.pc \
file://vchiq.sh" file://vchiq.sh \
"
S = "${WORKDIR}/git/${VCDIR}" S = "${RPIFW_S}/${VCDIR}"
INCPR = "r1" INCPR = "r1"
@@ -48,6 +49,8 @@ INITSCRIPT_PARAMS = "start 03 S ."
FILES_${PN} = "${bindir}/* \ FILES_${PN} = "${bindir}/* \
${sbindir}/* \ ${sbindir}/* \
${libdir}/lib*.so \ ${libdir}/lib*.so \
${sysconfdir}/init.d" ${sysconfdir}/init.d \
${libdir}/plugins"
FILES_${PN}-dev = "${libdir}/pkgconfig \ FILES_${PN}-dev = "${libdir}/pkgconfig \
${includedir}" ${includedir}"
FILES_${PN}-dbg += "${libdir}/plugins/.debug"

View File

@@ -1,16 +1,10 @@
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
# Don't forget to bump PRINC if you update the extra files. SRC_URI_append_rpi = " file://xorg.conf.d/10-evdev.conf "
PRINC := "${@int(PRINC) + 5}"
THISDIR := "${@os.path.dirname(bb.data.getVar('FILE', d, True))}" do_install_append_rpi () {
FILESPATH =. "${@base_set_filespath(["${THISDIR}/${PN}"], d)}:"
SRC_URI_append_raspberrypi = " file://xorg.conf.d/* "
do_install_append_raspberrypi () {
install -d ${D}/${sysconfdir}/X11/xorg.conf.d/ install -d ${D}/${sysconfdir}/X11/xorg.conf.d/
install -m 0644 ${WORKDIR}/xorg.conf.d/* ${D}/${sysconfdir}/X11/xorg.conf.d/ install -m 0644 ${WORKDIR}/xorg.conf.d/* ${D}/${sysconfdir}/X11/xorg.conf.d/
} }
FILES_${PN}_raspberrypi += "${sysconfdir}/X11/xorg.conf ${sysconfdir}/X11/xorg.conf.d/*" FILES_${PN}_rpi += "${sysconfdir}/X11/xorg.conf ${sysconfdir}/X11/xorg.conf.d/*"

View File

@@ -1,12 +0,0 @@
require recipes-kernel/linux-libc-headers/linux-libc-headers.inc
PR = "r0"
PROVIDES = "linux-libc-headers"
RPROVIDES_${PN}-dev = "linux-libc-headers-dev"
RPROVIDES_${PN}-dbg = "linux-libc-headers-dbg"
SRCREV = "10182a3bc434b27740f81c2b836a1af943060241"
SRC_URI = "git://github.com/raspberrypi/linux.git;protocol=git;branch=rpi-3.2.27 \
"
S = "${WORKDIR}/git"

View File

@@ -0,0 +1,67 @@
require linux.inc
inherit linux-raspberrypi-base
DESCRIPTION = "Linux Kernel for Raspberry Pi"
SECTION = "kernel"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
SRC_URI += " \
file://defconfig \
"
COMPATIBLE_MACHINE = "raspberrypi"
PE = "1"
PV = "${LINUX_VERSION}+git${SRCPV}"
# NOTE: For now we pull in the default config from the RPi kernel GIT tree.
KERNEL_DEFCONFIG_raspberrypi ?= "bcmrpi_defconfig"
KERNEL_DEFCONFIG_raspberrypi2 ?= "bcm2709_defconfig"
# CMDLINE for raspberrypi
CMDLINE = "dwc_otg.lpm_enable=0 console=ttyAMA0,115200 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait"
# Add the kernel debugger over console kernel command line option if enabled
CMDLINE_append = ' ${@base_conditional("ENABLE_KGDB", "1", "kgdboc=ttyAMA0,115200", "", d)}'
UDEV_GE_141 ?= "1"
# Set programmatically some variables during recipe parsing
# See http://www.yoctoproject.org/docs/current/bitbake-user-manual/bitbake-user-manual.html#anonymous-python-functions
python __anonymous () {
kerneltype = d.getVar('KERNEL_IMAGETYPE', True)
kerneldt = get_dts(d, d.getVar('LINUX_VERSION', True))
d.setVar("KERNEL_DEVICETREE", kerneldt)
# Add dependency to 'rpi-mkimage-native' package only if RPi bootloader is used with DT-enable kernel
if kerneldt:
if kerneltype != 'uImage' and len(kerneldt.strip()) > 1:
depends = d.getVar("DEPENDS", True)
depends = "%s rpi-mkimage-native" % depends
d.setVar("DEPENDS", depends)
}
do_kernel_configme_prepend() {
install -m 0644 ${S}/arch/${ARCH}/configs/${KERNEL_DEFCONFIG} ${WORKDIR}/defconfig || die "No default configuration for ${MACHINE} / ${KERNEL_DEFCONFIG} available."
}
do_install_prepend() {
install -d ${D}/lib/firmware
}
do_deploy_append() {
# Deploy cmdline.txt
install -d ${DEPLOYDIR}/bcm2835-bootfiles
echo "${CMDLINE}" > ${DEPLOYDIR}/bcm2835-bootfiles/cmdline.txt
}
do_rpiboot_mkimage() {
if test "x${KERNEL_IMAGETYPE}" != "xuImage" ; then
if test -n "${KERNEL_DEVICETREE}"; then
# Add RPi bootloader trailer to kernel image to enable DeviceTree support
${STAGING_DIR_NATIVE}/usr/lib/rpi-mkimage/mkknlimg --dtok ${KERNEL_OUTPUT} ${KERNEL_OUTPUT}
fi
fi
}
addtask rpiboot_mkimage before do_install after do_compile

View File

@@ -0,0 +1,263 @@
From e73a69601c65103b0e032e6093af0f00a1e1af3a Mon Sep 17 00:00:00 2001
From: Florian Meier <florian.meier@koalo.de>
Date: Fri, 22 Nov 2013 14:33:38 +0100
Subject: [PATCH 1/2] ASoC: Add BCM2708 fixes
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
(cherry-pick remaining parts of
730cb8a1216f9da3d097072cd9bb06e0db348172)
bcm2708-i2s: Update bclk_ratio to more correct values
Move GPIO setup to hw_params.
This is used to stop the I2S driver from breaking
the GPIO setup for other uses of the PCM interface
Configure GPIOs for I2S based on revision/card settings
With RPi model B+, assignment of the I2S GPIO pins has changed.
This patch uses the board revision to auto-detect the GPIOs used
for I2S. It also allows sound card drivers to set the GPIOs that
should be used. This is especially important with the Compute
Module.
bcm2708-i2s: Avoid leak from iomap when accessing gpio
bcm2708: Eliminate i2s debugfs directory error
Qualify the two regmap ranges uses by bcm2708-i2s ('-i2s' and '-clk')
to avoid the name clash when registering debugfs entries.
Upstream-Status: Pending
Signed-off-by: Petter Mabäcker <petter@technux.se>
Conflicts:
sound/soc/bcm/Kconfig
sound/soc/bcm/Makefile
sound/soc/bcm/bcm2708-i2s.c
---
sound/soc/bcm/bcm2708-i2s.c | 82 ++++++++++++++++++++++++++++++++++++---------
sound/soc/bcm/bcm2708-i2s.h | 35 +++++++++++++++++++
2 files changed, 102 insertions(+), 15 deletions(-)
create mode 100644 sound/soc/bcm/bcm2708-i2s.h
diff --git a/sound/soc/bcm/bcm2708-i2s.c b/sound/soc/bcm/bcm2708-i2s.c
index 9976571..3fcb740 100644
--- a/sound/soc/bcm/bcm2708-i2s.c
+++ b/sound/soc/bcm/bcm2708-i2s.c
@@ -31,6 +31,8 @@
* General Public License for more details.
*/
+#include "bcm2708-i2s.h"
+
#include <linux/init.h>
#include <linux/module.h>
#include <linux/device.h>
@@ -38,6 +40,7 @@
#include <linux/delay.h>
#include <linux/io.h>
#include <linux/clk.h>
+#include <mach/gpio.h>
#include <sound/core.h>
#include <sound/pcm.h>
@@ -46,6 +49,8 @@
#include <sound/soc.h>
#include <sound/dmaengine_pcm.h>
+#include <asm/system_info.h>
+
/* Clock registers */
#define BCM2708_CLK_PCMCTL_REG 0x00
#define BCM2708_CLK_PCMDIV_REG 0x04
@@ -163,6 +168,9 @@ static const unsigned int bcm2708_clk_freq[BCM2708_CLK_SRC_HDMI+1] = {
#define BCM2708_DMA_DREQ_PCM_TX 2
#define BCM2708_DMA_DREQ_PCM_RX 3
+/* I2S pin configuration */
+static int bcm2708_i2s_gpio=BCM2708_I2S_GPIO_AUTO;
+
/* General device struct */
struct bcm2708_i2s_dev {
struct device *dev;
@@ -174,6 +182,12 @@ struct bcm2708_i2s_dev {
struct regmap *clk_regmap;
};
+void bcm2708_i2s_set_gpio(int gpio) {
+ bcm2708_i2s_gpio=gpio;
+}
+EXPORT_SYMBOL(bcm2708_i2s_set_gpio);
+
+
static void bcm2708_i2s_start_clock(struct bcm2708_i2s_dev *dev)
{
/* Start the clock if in master mode */
@@ -306,6 +320,25 @@ static int bcm2708_i2s_set_dai_bclk_ratio(struct snd_soc_dai *dai,
}
+static int bcm2708_i2s_set_function(unsigned offset, int function)
+{
+ #define GPIOFSEL(x) (0x00+(x)*4)
+ void __iomem *gpio = __io_address(GPIO_BASE);
+ unsigned alt = function <= 3 ? function + 4: function == 4 ? 3 : 2;
+ unsigned gpiodir;
+ unsigned gpio_bank = offset / 10;
+ unsigned gpio_field_offset = (offset - 10 * gpio_bank) * 3;
+
+ if (offset >= BCM2708_NR_GPIOS)
+ return -EINVAL;
+
+ gpiodir = readl(gpio + GPIOFSEL(gpio_bank));
+ gpiodir &= ~(7 << gpio_field_offset);
+ gpiodir |= alt << gpio_field_offset;
+ writel(gpiodir, gpio + GPIOFSEL(gpio_bank));
+ return 0;
+}
+
static void bcm2708_i2s_setup_gpio(void)
{
/*
@@ -314,20 +347,37 @@ static void bcm2708_i2s_setup_gpio(void)
* TODO Better way would be to handle
* this in the device tree!
*/
-#define INP_GPIO(g) *(gpio+((g)/10)) &= ~(7<<(((g)%10)*3))
-#define SET_GPIO_ALT(g,a) *(gpio+(((g)/10))) |= (((a)<=3?(a)+4:(a)==4?3:2)<<(((g)%10)*3))
+ int pin,pinconfig,startpin,alt;
+
+ /* SPI is on different GPIOs on different boards */
+ /* for Raspberry Pi B+, this is pin GPIO18-21, for original on 28-31 */
+ if (bcm2708_i2s_gpio==BCM2708_I2S_GPIO_AUTO) {
+ if ((system_rev & 0xffffff) >= 0x10) {
+ /* Model B+ */
+ pinconfig=BCM2708_I2S_GPIO_PIN18;
+ } else {
+ /* original */
+ pinconfig=BCM2708_I2S_GPIO_PIN28;
+ }
+ } else {
+ pinconfig=bcm2708_i2s_gpio;
+ }
- unsigned int *gpio;
- int pin;
- gpio = ioremap(GPIO_BASE, SZ_16K);
+ if (pinconfig==BCM2708_I2S_GPIO_PIN18) {
+ startpin=18;
+ alt=BCM2708_I2S_GPIO_PIN18_ALT;
+ } else if (pinconfig==BCM2708_I2S_GPIO_PIN28) {
+ startpin=28;
+ alt=BCM2708_I2S_GPIO_PIN28_ALT;
+ } else {
+ printk(KERN_INFO "Can't configure I2S GPIOs, unknown pin mode for I2S: %i\n",pinconfig);
+ return;
+ }
- /* SPI is on GPIO 7..11 */
- for (pin = 28; pin <= 31; pin++) {
- INP_GPIO(pin); /* set mode to GPIO input first */
- SET_GPIO_ALT(pin, 2); /* set mode to ALT 0 */
+ /* configure I2S pins to correct ALT mode */
+ for (pin = startpin; pin <= startpin+3; pin++) {
+ bcm2708_i2s_set_function(pin, alt);
}
-#undef INP_GPIO
-#undef SET_GPIO_ALT
}
static int bcm2708_i2s_hw_params(struct snd_pcm_substream *substream,
@@ -372,15 +422,15 @@ static int bcm2708_i2s_hw_params(struct snd_pcm_substream *substream,
switch (params_format(params)) {
case SNDRV_PCM_FORMAT_S16_LE:
data_length = 16;
- bclk_ratio = 40;
+ bclk_ratio = 50;
break;
case SNDRV_PCM_FORMAT_S24_LE:
data_length = 24;
- bclk_ratio = 40;
+ bclk_ratio = 50;
break;
case SNDRV_PCM_FORMAT_S32_LE:
data_length = 32;
- bclk_ratio = 80;
+ bclk_ratio = 100;
break;
default:
return -EINVAL;
@@ -746,7 +796,7 @@ static struct snd_soc_dai_driver bcm2708_i2s_dai = {
.channels_max = 2,
.rates = SNDRV_PCM_RATE_8000_192000,
.formats = SNDRV_PCM_FMTBIT_S16_LE
- // | SNDRV_PCM_FMTBIT_S24_LE : disable for now, it causes white noise with xbmc
+ | SNDRV_PCM_FMTBIT_S24_LE
| SNDRV_PCM_FMTBIT_S32_LE
},
.capture = {
@@ -803,6 +853,7 @@ static const struct regmap_config bcm2708_regmap_config[] = {
.precious_reg = bcm2708_i2s_precious_reg,
.volatile_reg = bcm2708_i2s_volatile_reg,
.cache_type = REGCACHE_RBTREE,
+ .name = "i2s",
},
{
.reg_bits = 32,
@@ -811,6 +862,7 @@ static const struct regmap_config bcm2708_regmap_config[] = {
.max_register = BCM2708_CLK_PCMDIV_REG,
.volatile_reg = bcm2708_clk_volatile_reg,
.cache_type = REGCACHE_RBTREE,
+ .name = "clk",
},
};
diff --git a/sound/soc/bcm/bcm2708-i2s.h b/sound/soc/bcm/bcm2708-i2s.h
new file mode 100644
index 0000000..94fed6a
--- /dev/null
+++ b/sound/soc/bcm/bcm2708-i2s.h
@@ -0,0 +1,35 @@
+/*
+ * I2S configuration for sound cards.
+ *
+ * Copyright (c) 2014 Daniel Matuschek <daniel@hifiberry.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#ifndef BCM2708_I2S_H
+#define BCM2708_I2S_H
+
+/* I2S pin assignment */
+#define BCM2708_I2S_GPIO_AUTO 0
+#define BCM2708_I2S_GPIO_PIN18 1
+#define BCM2708_I2S_GPIO_PIN28 2
+
+/* Alt mode to enable I2S */
+#define BCM2708_I2S_GPIO_PIN18_ALT 0
+#define BCM2708_I2S_GPIO_PIN28_ALT 2
+
+extern void bcm2708_i2s_set_gpio(int gpio);
+
+#endif
--
1.9.1

View File

@@ -0,0 +1,235 @@
From 2c84355bf200f4d19d7078dee2c63011ad715395 Mon Sep 17 00:00:00 2001
From: jeanleflambeur <catalin.vasile@gmail.com>
Date: Sun, 1 Feb 2015 12:35:38 +0100
Subject: [PATCH 2/2] Fix grabbing lock from atomic context in i2c driver
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
(cherry-pick from 558d0bfc8fe80ccdccee7f03e881a80965ec987c)
2 main changes:
- check for timeouts in the bcm2708_bsc_setup function as indicated by this comment:
/* poll for transfer start bit (should only take 1-20 polls) */
This implies that the setup function can now fail so account for this everywhere it's called
- Removed the clk_get_rate call from inside the setup function as it locks a mutex and that's not ok since we call it from under a spin lock.
removed dead code and update comment
fixed typo in comment
Upstream-Status: Pending
Signed-off-by: Petter Mabäcker <petter@technux.se>
Conflicts:
drivers/i2c/busses/i2c-bcm2708.c
---
drivers/i2c/busses/i2c-bcm2708.c | 88 +++++++++++++++++++++++++++++-----------
1 file changed, 65 insertions(+), 23 deletions(-)
diff --git a/drivers/i2c/busses/i2c-bcm2708.c b/drivers/i2c/busses/i2c-bcm2708.c
index 05531db..886672c 100644
--- a/drivers/i2c/busses/i2c-bcm2708.c
+++ b/drivers/i2c/busses/i2c-bcm2708.c
@@ -67,6 +67,7 @@
#define BSC_S_TA 0x00000001
#define I2C_TIMEOUT_MS 150
+#define I2C_WAIT_LOOP_COUNT 40
#define DRV_NAME "bcm2708_i2c"
@@ -85,6 +86,7 @@ struct bcm2708_i2c {
void __iomem *base;
int irq;
struct clk *clk;
+ u32 cdiv;
struct completion done;
@@ -108,10 +110,10 @@ static void bcm2708_i2c_init_pinmode(int id)
int pin;
u32 *gpio = ioremap(0x20200000, SZ_16K);
- BUG_ON(id != 0 && id != 1);
+ BUG_ON(id != 0 && id != 1);
/* BSC0 is on GPIO 0 & 1, BSC1 is on GPIO 2 & 3 */
for (pin = id*2+0; pin <= id*2+1; pin++) {
-printk("bcm2708_i2c_init_pinmode(%d,%d)\n", id, pin);
+ printk("bcm2708_i2c_init_pinmode(%d,%d)\n", id, pin);
INP_GPIO(pin); /* set mode to GPIO input first */
SET_GPIO_ALT(pin, 0); /* set mode to ALT 0 */
}
@@ -150,16 +152,16 @@ static inline void bcm2708_bsc_fifo_fill(struct bcm2708_i2c *bi)
bcm2708_wr(bi, BSC_FIFO, bi->msg->buf[bi->pos++]);
}
-static inline void bcm2708_bsc_setup(struct bcm2708_i2c *bi)
+static inline int bcm2708_bsc_setup(struct bcm2708_i2c *bi)
{
- unsigned long bus_hz;
u32 cdiv, s;
u32 c = BSC_C_I2CEN | BSC_C_INTD | BSC_C_ST | BSC_C_CLEAR_1;
+ int wait_loops = I2C_WAIT_LOOP_COUNT;
- bus_hz = clk_get_rate(bi->clk);
- cdiv = bus_hz / baudrate;
- if (cdiv > 0xffff)
- cdiv = 0xffff;
+ /* Can't call clk_get_rate as it locks a mutex and here we are spinlocked.
+ * Use the value that we cached in the probe.
+ */
+ cdiv = bi->cdiv;
if (bi->msg->flags & I2C_M_RD)
c |= BSC_C_INTR | BSC_C_READ;
@@ -176,17 +178,25 @@ static inline void bcm2708_bsc_setup(struct bcm2708_i2c *bi)
- Both messages to same slave address
- Write message can fit inside FIFO (16 bytes or less) */
if ( (bi->nmsgs > 1) &&
- !(bi->msg[0].flags & I2C_M_RD) && (bi->msg[1].flags & I2C_M_RD) &&
- (bi->msg[0].addr == bi->msg[1].addr) && (bi->msg[0].len <= 16)) {
+ !(bi->msg[0].flags & I2C_M_RD) && (bi->msg[1].flags & I2C_M_RD) &&
+ (bi->msg[0].addr == bi->msg[1].addr) && (bi->msg[0].len <= 16)) {
/* Fill FIFO with entire write message (16 byte FIFO) */
- while (bi->pos < bi->msg->len)
+ while (bi->pos < bi->msg->len) {
bcm2708_wr(bi, BSC_FIFO, bi->msg->buf[bi->pos++]);
+ }
/* Start write transfer (no interrupts, don't clear FIFO) */
bcm2708_wr(bi, BSC_C, BSC_C_I2CEN | BSC_C_ST);
+
/* poll for transfer start bit (should only take 1-20 polls) */
do {
s = bcm2708_rd(bi, BSC_S);
- } while (!(s & (BSC_S_TA | BSC_S_ERR | BSC_S_CLKT | BSC_S_DONE)));
+ } while (!(s & (BSC_S_TA | BSC_S_ERR | BSC_S_CLKT | BSC_S_DONE)) && --wait_loops >= 0);
+
+ /* did we time out or some error occured? */
+ if (wait_loops < 0 || (s & (BSC_S_ERR | BSC_S_CLKT))) {
+ return -1;
+ }
+
/* Send next read message before the write transfer finishes. */
bi->nmsgs--;
bi->msg++;
@@ -196,6 +206,8 @@ static inline void bcm2708_bsc_setup(struct bcm2708_i2c *bi)
}
}
bcm2708_wr(bi, BSC_C, c);
+
+ return 0;
}
static irqreturn_t bcm2708_i2c_interrupt(int irq, void *dev_id)
@@ -203,13 +215,15 @@ static irqreturn_t bcm2708_i2c_interrupt(int irq, void *dev_id)
struct bcm2708_i2c *bi = dev_id;
bool handled = true;
u32 s;
+ int ret;
spin_lock(&bi->lock);
/* we may see camera interrupts on the "other" I2C channel
- Just return if we've not sent anything */
- if (!bi->nmsgs || !bi->msg )
+ Just return if we've not sent anything */
+ if (!bi->nmsgs || !bi->msg) {
goto early_exit;
+ }
s = bcm2708_rd(bi, BSC_S);
@@ -217,13 +231,16 @@ static irqreturn_t bcm2708_i2c_interrupt(int irq, void *dev_id)
bcm2708_bsc_reset(bi);
bi->error = true;
+ bi->msg = 0; /* to inform the that all work is done */
+ bi->nmsgs = 0;
/* wake up our bh */
complete(&bi->done);
} else if (s & BSC_S_DONE) {
bi->nmsgs--;
- if (bi->msg->flags & I2C_M_RD)
+ if (bi->msg->flags & I2C_M_RD) {
bcm2708_bsc_fifo_drain(bi);
+ }
bcm2708_bsc_reset(bi);
@@ -231,8 +248,19 @@ static irqreturn_t bcm2708_i2c_interrupt(int irq, void *dev_id)
/* advance to next message */
bi->msg++;
bi->pos = 0;
- bcm2708_bsc_setup(bi);
+ ret = bcm2708_bsc_setup(bi);
+ if (ret < 0) {
+ bcm2708_bsc_reset(bi);
+ bi->error = true;
+ bi->msg = 0; /* to inform the that all work is done */
+ bi->nmsgs = 0;
+ /* wake up our bh */
+ complete(&bi->done);
+ goto early_exit;
+ }
} else {
+ bi->msg = 0; /* to inform the that all work is done */
+ bi->nmsgs = 0;
/* wake up our bh */
complete(&bi->done);
}
@@ -265,21 +293,34 @@ static int bcm2708_i2c_master_xfer(struct i2c_adapter *adap,
bi->nmsgs = num;
bi->error = false;
+ ret = bcm2708_bsc_setup(bi);
spin_unlock_irqrestore(&bi->lock, flags);
bcm2708_bsc_setup(bi);
- ret = wait_for_completion_timeout(&bi->done,
- msecs_to_jiffies(I2C_TIMEOUT_MS));
+ /* check the result of the setup */
+ if (ret < 0)
+ {
+ dev_err(&adap->dev, "transfer setup timed out\n");
+ goto error_timeout;
+ }
+
+ ret = wait_for_completion_timeout(&bi->done, msecs_to_jiffies(I2C_TIMEOUT_MS));
if (ret == 0) {
dev_err(&adap->dev, "transfer timed out\n");
- spin_lock_irqsave(&bi->lock, flags);
- bcm2708_bsc_reset(bi);
- spin_unlock_irqrestore(&bi->lock, flags);
- return -ETIMEDOUT;
+ goto error_timeout;
}
- return bi->error ? -EIO : num;
+ ret = bi->error ? -EIO : num;
+ return ret;
+
+error_timeout:
+ spin_lock_irqsave(&bi->lock, flags);
+ bcm2708_bsc_reset(bi);
+ bi->msg = 0; /* to inform the interrupt handler that there's nothing else to be done */
+ bi->nmsgs = 0;
+ spin_unlock_irqrestore(&bi->lock, flags);
+ return -ETIMEDOUT;
}
static u32 bcm2708_i2c_functionality(struct i2c_adapter *adap)
@@ -382,6 +423,7 @@ static int bcm2708_i2c_probe(struct platform_device *pdev)
cdiv = 0xffff;
baudrate = bus_hz / cdiv;
}
+ bi->cdiv = cdiv;
dev_info(&pdev->dev, "BSC%d Controller at 0x%08lx (irq %d) (baudrate %d)\n",
pdev->id, (unsigned long)regs->start, irq, baudrate);
--
1.9.1

View File

@@ -0,0 +1 @@
# Dummy file to get through do_kernel_configme.

View File

@@ -0,0 +1,9 @@
LINUX_VERSION ?= "3.14.28"
SRCREV = "e294028d7733a30f3befacc41d473c251096a515"
SRC_URI = "git://github.com/raspberrypi/linux.git;protocol=git;branch=rpi-3.14.y \
file://0001-ASoC-Add-BCM2708-fixes.patch \
file://0002-Fix-grabbing-lock-from-atomic-context-in-i2c-driver.patch \
"
require linux-raspberrypi.inc

View File

@@ -0,0 +1,11 @@
LINUX_VERSION ?= "3.18.16"
SRCREV = "1bb18c8f721ef674a447f3622273f2e2de7a205c"
SRC_URI = "git://github.com/raspberrypi/linux.git;protocol=git;branch=rpi-3.18.y"
require linux-raspberrypi.inc
# Create missing out of tree 'overlays' directory prior to install step
do_compile_prepend() {
mkdir -p ${B}/arch/arm/boot/dts/overlays
}

View File

@@ -1,34 +0,0 @@
require linux.inc
DESCRIPTION = "Linux kernel for the RaspberryPi board"
COMPATIBLE_MACHINE = "raspberrypi"
PR = "r6"
PV_append = "+git${SRCREV}"
SRCREV = "10182a3bc434b27740f81c2b836a1af943060241"
SRC_URI = "git://github.com/raspberrypi/linux.git;protocol=git;branch=rpi-3.2.27 \
"
S = "${WORKDIR}/git"
# NOTE: For now we pull in the default config from the RPi kernel GIT tree.
KERNEL_DEFCONFIG = "bcmrpi_defconfig"
# CMDLINE for raspberrypi
CMDLINE_raspberrypi = "dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait"
UDEV_GE_141 ?= "1"
do_configure_prepend() {
install -m 0644 ${S}/arch/${ARCH}/configs/${KERNEL_DEFCONFIG} ${WORKDIR}/defconfig || die "No default configuration for ${MACHINE} / ${KERNEL_DEFCONFIG} available."
}
do_install_prepend() {
install -d ${D}/lib/firmware
}
do_deploy_append() {
# Deploy cmdline.txt
install -d ${DEPLOYDIR}/bcm2835-bootfiles
echo "${CMDLINE}" > ${DEPLOYDIR}/bcm2835-bootfiles/cmdline.txt
}

View File

@@ -1,34 +0,0 @@
require linux.inc
DESCRIPTION = "Linux kernel for the RaspberryPi board"
COMPATIBLE_MACHINE = "raspberrypi"
PR = "r6"
PV_append = "+git${SRCREV}"
SRCREV = "31a951046155b27361127d9cf85a1f58719fe9b3"
SRC_URI = "git://github.com/raspberrypi/linux.git;protocol=git;branch=rpi-3.6.y \
"
S = "${WORKDIR}/git"
# NOTE: For now we pull in the default config from the RPi kernel GIT tree.
KERNEL_DEFCONFIG = "bcmrpi_defconfig"
# CMDLINE for raspberrypi
CMDLINE_raspberrypi = "dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait"
UDEV_GE_141 ?= "1"
do_configure_prepend() {
install -m 0644 ${S}/arch/${ARCH}/configs/${KERNEL_DEFCONFIG} ${WORKDIR}/defconfig || die "No default configuration for ${MACHINE} / ${KERNEL_DEFCONFIG} available."
}
do_install_prepend() {
install -d ${D}/lib/firmware
}
do_deploy_append() {
# Deploy cmdline.txt
install -d ${DEPLOYDIR}/bcm2835-bootfiles
echo "${CMDLINE}" > ${DEPLOYDIR}/bcm2835-bootfiles/cmdline.txt
}

View File

@@ -0,0 +1,6 @@
LINUX_VERSION ?= "4.1.10"
SRCREV = "b74df9228c27f55361c065bc5dbfba88861cc771"
SRC_URI = "git://github.com/raspberrypi/linux.git;protocol=git;branch=rpi-4.1.y"
require linux-raspberrypi.inc

View File

@@ -5,6 +5,7 @@ LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7" LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
inherit kernel siteinfo inherit kernel siteinfo
require recipes-kernel/linux/linux-yocto.inc
# Enable OABI compat for people stuck with obsolete userspace # Enable OABI compat for people stuck with obsolete userspace
ARM_KEEP_OABI ?= "1" ARM_KEEP_OABI ?= "1"
@@ -25,15 +26,15 @@ kernel_configure_variable() {
CONF_SED_SCRIPT="$CONF_SED_SCRIPT /CONFIG_$1[ =]/d;" CONF_SED_SCRIPT="$CONF_SED_SCRIPT /CONFIG_$1[ =]/d;"
if test "$2" = "n" if test "$2" = "n"
then then
echo "# CONFIG_$1 is not set" >> ${S}/.config echo "# CONFIG_$1 is not set" >> ${B}/.config
else else
echo "CONFIG_$1=$2" >> ${S}/.config echo "CONFIG_$1=$2" >> ${B}/.config
fi fi
} }
do_configure_prepend() { do_configure_prepend() {
# Clean .config # Clean .config
echo "" > ${S}/.config echo "" > ${B}/.config
CONF_SED_SCRIPT="" CONF_SED_SCRIPT=""
# oabi / eabi support # oabi / eabi support
@@ -108,7 +109,7 @@ do_configure_prepend() {
# Keep this the last line # Keep this the last line
# Remove all modified configs and add the rest to .config # Remove all modified configs and add the rest to .config
sed -e "${CONF_SED_SCRIPT}" < '${WORKDIR}/defconfig' >> '${S}/.config' sed -e "${CONF_SED_SCRIPT}" < '${WORKDIR}/defconfig' >> '${B}/.config'
yes '' | oe_runmake oldconfig yes '' | oe_runmake oldconfig
} }

View File

@@ -0,0 +1,2 @@
EXTRA_OECONF_append_rpi = " CPPFLAGS='-I${STAGING_DIR_TARGET}/usr/include/interface/vcos/pthreads \
-I${STAGING_DIR_TARGET}/usr/include/interface/vmcs_host/linux'"

View File

@@ -0,0 +1,77 @@
From a2a28fb7c4e8354cc0f90454e9bd151c16a6bf8b Mon Sep 17 00:00:00 2001
From: Andrei Gherzan <andrei@gherzan.ro>
Date: Tue, 20 Aug 2013 16:10:51 +0300
Subject: [PATCH] Remove Makefile.include which includes hardcoded
Remove Makefile.include which includes hardcoded paths and rely on
variables provided by build system.
Upstream-Status: Inappropriate [embedded specific]
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Updated patch to apply to c0dd9502ed2c43c487674939195c69680f3d98b0 revision
diff --git a/Makefile b/Makefile
index f348465..65f7637 100644
--- a/Makefile
+++ b/Makefile
@@ -1,4 +1,3 @@
-include Makefile.include
CFLAGS+=-std=c++0x -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -DTARGET_POSIX -DTARGET_LINUX -fPIC -DPIC -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DHAVE_CMAKE_CONFIG -D__VIDEOCORE4__ -U_FORTIFY_SOURCE -Wall -DHAVE_OMXLIB -DUSE_EXTERNAL_FFMPEG -DHAVE_LIBAVCODEC_AVCODEC_H -DHAVE_LIBAVUTIL_OPT_H -DHAVE_LIBAVUTIL_MEM_H -DHAVE_LIBAVUTIL_AVUTIL_H -DHAVE_LIBAVFORMAT_AVFORMAT_H -DHAVE_LIBAVFILTER_AVFILTER_H -DHAVE_LIBSWRESAMPLE_SWRESAMPLE_H -DOMX -DOMX_SKIP64BIT -ftree-vectorize -DUSE_EXTERNAL_OMX -DTARGET_RASPBERRY_PI -DUSE_EXTERNAL_LIBBCM_HOST
diff --git a/Makefile.ffmpeg b/Makefile.ffmpeg
index 083e214..3b31a82 100644
--- a/Makefile.ffmpeg
+++ b/Makefile.ffmpeg
@@ -1,4 +1,3 @@
-include Makefile.include
CFLAGS=-D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -DTARGET_POSIX -DTARGET_LINUX -fPIC -DPIC -D_REENTRANT -D_HAVE_SBRK -D_LARGEFILE64_SOURCE -DHAVE_CMAKE_CONFIG -DHAVE_VMCS_CONFIG -D_REENTRANT -DUSE_VCHIQ_ARM -DVCHI_BULK_ALIGN=1 -DVCHI_BULK_GRANULARITY=1 -DEGL_SERVER_DISPMANX -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D__VIDEOCORE4__ -DGRAPHICS_X_VG=1 -U_FORTIFY_SOURCE -Wall -DHAVE_OMXLIB -DUSE_EXTERNAL_FFMPEG -DHAVE_LIBAVCODEC_AVCODEC_H -DHAVE_LIBAVUTIL_MEM_H -DHAVE_LIBAVUTIL_AVUTIL_H -DHAVE_LIBAVFORMAT_AVFORMAT_H -DHAVE_LIBAVFILTER_AVFILTER_H -DOMX -DOMX_SKIP64BIT
diff --git a/Makefile.include b/Makefile.include
deleted file mode 100644
index 58e9560..0000000
--- a/Makefile.include
+++ /dev/null
@@ -1,40 +0,0 @@
-USE_BUILDROOT=0
-FLOAT=hard
-
-ifeq ($(USE_BUILDROOT), 1)
-BUILDROOT :=/opt/xbmc-bcm/buildroot
-SDKSTAGE :=$(BUILDROOT)/output/staging
-TARGETFS :=$(BUILDROOT)/output/target
-TOOLCHAIN :=$(BUILDROOT)/output/host/usr/
-HOST :=arm-unknown-linux-gnueabi
-SYSROOT :=$(BUILDROOT)/output/host/usr/arm-unknown-linux-gnueabi/sysroot
-else
-BUILDROOT :=/opt/bcm-rootfs
-SDKSTAGE :=/opt/bcm-rootfs
-TARGETFS :=/opt/bcm-rootfs
-TOOLCHAIN :=/home/dc4/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/
-HOST :=arm-linux-gnueabihf
-#SYSROOT :=$(TOOLCHAIN)/arm-bcm2708hardfp-linux-gnueabi/sysroot
-SYSROOT :=/opt/bcm-rootfs
-endif
-
-JOBS=7
-
-CFLAGS := -isystem$(PREFIX)/include
-CXXFLAGS := $(CFLAGS)
-CPPFLAGS := $(CFLAGS)
-LDFLAGS := -L$(BUILDROOT)/lib
-LD := $(TOOLCHAIN)/bin/$(HOST)-ld --sysroot=$(SYSROOT)
-CC := $(TOOLCHAIN)/bin/$(HOST)-gcc --sysroot=$(SYSROOT)
-CXX := $(TOOLCHAIN)/bin/$(HOST)-g++ --sysroot=$(SYSROOT)
-OBJDUMP := $(TOOLCHAIN)/bin/$(HOST)-objdump
-RANLIB := $(TOOLCHAIN)/bin/$(HOST)-ranlib
-STRIP := $(TOOLCHAIN)/bin/$(HOST)-strip
-AR := $(TOOLCHAIN)/bin/$(HOST)-ar
-CXXCP := $(CXX) -E
-PATH := $(PREFIX)/bin:$(BUILDROOT)/output/host/usr/bin:$(PATH)
-
-CFLAGS += -pipe -mfloat-abi=$(FLOAT) -mcpu=arm1176jzf-s -fomit-frame-pointer -mabi=aapcs-linux -mtune=arm1176jzf-s -mfpu=vfp -Wno-psabi -mno-apcs-stack-check -g -mstructure-size-boundary=32 -mno-sched-prolog
-LDFLAGS += -L$(SDKSTAGE)/lib -L$(SDKSTAGE)/usr/lib -L$(SDKSTAGE)/opt/vc/lib/ -Lpcre/build
-#INCLUDES += -isystem$(SDKSTAGE)/usr/include -isystem$(SDKSTAGE)/opt/vc/include -isystem$(SYSROOT)/usr/include -isystem$(SDKSTAGE)/opt/vc/include/interface/vcos/pthreads -isystem$(SDKSTAGE)/usr/include/freetype2
-INCLUDES += -isystem$(SDKSTAGE)/opt/vc/include -isystem$(SYSROOT)/usr/include -isystem$(SDKSTAGE)/opt/vc/include/interface/vcos/pthreads -Ipcre/build -Iboost-trunk -Ifreetype2/include

View File

@@ -0,0 +1,51 @@
From 1e92da659375eae1622984d4cc0ffd2a7b082fcf Mon Sep 17 00:00:00 2001
From: Andrei Gherzan <andrei@gherzan.ro>
Date: Sun, 24 Aug 2014 00:13:13 +0200
Subject: [PATCH] Libraries and headers from ffmpeg are installed in /usr.
Don't search for libraries and headers in /usr/local.
Upstream-Status: Inappropriate [embedded specific]
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
---
Makefile | 6 +++---
Makefile.ffmpeg | 2 +-
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/Makefile b/Makefile
index 38e1400..1b15999 100644
--- a/Makefile
+++ b/Makefile
@@ -1,9 +1,9 @@
CFLAGS+=-std=c++0x -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -DTARGET_POSIX -DTARGET_LINUX -fPIC -DPIC -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DHAVE_CMAKE_CONFIG -D__VIDEOCORE4__ -U_FORTIFY_SOURCE -Wall -DHAVE_OMXLIB -DUSE_EXTERNAL_FFMPEG -DHAVE_LIBAVCODEC_AVCODEC_H -DHAVE_LIBAVUTIL_OPT_H -DHAVE_LIBAVUTIL_MEM_H -DHAVE_LIBAVUTIL_AVUTIL_H -DHAVE_LIBAVFORMAT_AVFORMAT_H -DHAVE_LIBAVFILTER_AVFILTER_H -DHAVE_LIBSWRESAMPLE_SWRESAMPLE_H -DOMX -DOMX_SKIP64BIT -ftree-vectorize -DUSE_EXTERNAL_OMX -DTARGET_RASPBERRY_PI -DUSE_EXTERNAL_LIBBCM_HOST
-LDFLAGS+=-L./ -Lffmpeg_compiled/usr/local/lib/ -lc -lWFC -lGLESv2 -lEGL -lbcm_host -lopenmaxil -lfreetype -lz
+LDFLAGS+=-L./ -Lffmpeg_compiled/usr/lib/ -lc -lWFC -lGLESv2 -lEGL -lbcm_host -lopenmaxil -lfreetype -lz
-INCLUDES+=-I./ -Ilinux -Iffmpeg_compiled/usr/local/include/ -I /usr/include/dbus-1.0 -I /usr/lib/arm-linux-gnueabihf/dbus-1.0/include
+INCLUDES+=-I./ -Ilinux -Iffmpeg_compiled/usr/include/ -I=/usr/include/dbus-1.0 -I /usr/lib/arm-linux-gnueabihf/dbus-1.0/include
DIST ?= omxplayer-dist
@@ -87,5 +87,5 @@ dist: omxplayer.bin omxplayer.1
cp COPYING $(DIST)/usr/share/doc/omxplayer
cp README.md $(DIST)/usr/share/doc/omxplayer/README
cp omxplayer.1 $(DIST)/usr/share/man/man1
- cp -a ffmpeg_compiled/usr/local/lib/*.so* $(DIST)/usr/lib/omxplayer/
+ cp -a ffmpeg_compiled/usr/lib/*.so* $(DIST)/usr/lib/omxplayer/
cd $(DIST); tar -czf ../$(DIST).tgz *
diff --git a/Makefile.ffmpeg b/Makefile.ffmpeg
index 4d2d720..9d66a85 100644
--- a/Makefile.ffmpeg
+++ b/Makefile.ffmpeg
@@ -256,5 +256,5 @@ checkout:
.PHONY : install
install:
cd ffmpeg; make -j9 DESTDIR="$(WORK)/ffmpeg_compiled" install
- $(HOST)-strip ffmpeg_compiled/usr/local/lib/*.so
+ $(HOST)-strip ffmpeg_compiled/usr/lib/*.so
--
1.9.3

View File

@@ -0,0 +1,39 @@
From b738724c6ca45ee5fecebed01c7ac91c92446123 Mon Sep 17 00:00:00 2001
From: Andrei Gherzan <andrei@gherzan.ro>
Date: Sun, 24 Aug 2014 00:18:05 +0200
Subject: [PATCH] Remove strip step in Makefile
Build system will strip binaries so remove strip step in Makefile.
Avoid warnings/errors like:
WARNING: File '/usr/lib/omxplayer/libavutil.so.51.56.100' from
omxplayer was already stripped, this will prevent future debugging!
Upstream-Status: Inappropriate [embedded specific]
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
---
Makefile.ffmpeg | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/Makefile.ffmpeg b/Makefile.ffmpeg
index 9d66a85..00df197 100644
--- a/Makefile.ffmpeg
+++ b/Makefile.ffmpeg
@@ -243,7 +243,8 @@ configure:
--disable-decoder=xbin \
--disable-decoder=idf \
--enable-decoder=opus \
- --cross-prefix=$(HOST)-
+ --cross-prefix=$(HOST)- \
+ --disable-stripping
.PHONY : clean
clean:
@@ -256,5 +257,3 @@ checkout:
.PHONY : install
install:
cd ffmpeg; make -j9 DESTDIR="$(WORK)/ffmpeg_compiled" install
- $(HOST)-strip ffmpeg_compiled/usr/lib/*.so
-
--
1.9.3

View File

@@ -0,0 +1,31 @@
From 100982ee1fc1cb571c7453d14f9acd60e67d4765 Mon Sep 17 00:00:00 2001
From: Andrei Gherzan <andrei.gherzan@windriver.com>
Date: Sun, 25 Jan 2015 11:13:51 +0200
Subject: [PATCH] Add FFMPEG_EXTRA_CFLAGS and FFMPEG_EXTRA_LDFLAGS
In this way we can inject flags to LD and CC using
--extra-cflags and --extra-ldflags.
Upstream-Status: Inappropriate [embedded specific]
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
---
Makefile.ffmpeg | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/Makefile.ffmpeg b/Makefile.ffmpeg
index abe4b26..c9d42d7 100644
--- a/Makefile.ffmpeg
+++ b/Makefile.ffmpeg
@@ -22,7 +22,8 @@ configure:
CFLAGS="$(CFLAGS) ${INCLUDES}" \
LDFLAGS="" \
./configure \
- --extra-cflags="-mfpu=vfp -mfloat-abi=$(FLOAT) -mno-apcs-stack-check -mstructure-size-boundary=32 -mno-sched-prolog" \
+ --extra-cflags="-mfpu=vfp -mfloat-abi=$(FLOAT) -mno-apcs-stack-check -mstructure-size-boundary=32 -mno-sched-prolog $(FFMPEG_EXTRA_CFLAGS)" \
+ --extra-ldflags="$(FFMPEG_EXTRA_LDFLAGS)" \
--enable-cross-compile \
--enable-shared \
--disable-static \
--
2.1.0

View File

@@ -1,28 +0,0 @@
Build system will strip binaries so remove strip step in Makefile.
Avoid warnings/errors like:
WARNING: File '/usr/lib/omxplayer/libavutil.so.51.56.100' from
omxplayer was already stripped, this will prevent future debugging!
Upstream-Status: Inappropriate [embedded specific]
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Index: git/Makefile.ffmpeg
===================================================================
--- git.orig/Makefile.ffmpeg 2012-08-26 15:38:45.099379852 +0300
+++ git/Makefile.ffmpeg 2012-08-26 15:46:51.913055176 +0300
@@ -52,7 +52,8 @@
--enable-hardcoded-tables \
--disable-runtime-cpudetect \
--disable-debug \
- --cross-prefix=$(HOST)-
+ --cross-prefix=$(HOST)- \
+ --disable-stripping
clean:
@rm -rf ffmpeg
@@ -63,5 +64,4 @@
install:
cd ffmpeg; make -j9 DESTDIR="$(WORK)/ffmpeg_compiled" install
- $(HOST)-strip ffmpeg_compiled/usr/lib/*.so

View File

@@ -0,0 +1,18 @@
Revert the tar command change introduced in:
https://github.com/popcornmix/omxplayer/commit/201c77973155861e60492e45d35467b19b69c1c4
This fails if DIST is an absolute path. The old command was working just fine.
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Index: git/Makefile
===================================================================
--- git.orig/Makefile
+++ git/Makefile
@@ -71,4 +71,4 @@ dist: omxplayer.bin
cp COPYING $(DIST)/usr/share/doc/
cp README.md $(DIST)/usr/share/doc/README
cp -a ffmpeg_compiled/usr/lib/*.so* $(DIST)/usr/lib/omxplayer/
- cd $(DIST); tar -czf ../$(DIST).tgz *
+ tar -czf omxplayer-dist.tar.gz $(DIST)
\ No newline at end of file

View File

@@ -1,37 +0,0 @@
Libraries and headers from ffmpeg are installed in usr/lib.
Upstream-Status: Pending
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Index: git/Makefile.ffmpeg
===================================================================
--- git.orig/Makefile.ffmpeg 2012-08-26 02:46:40.380518313 +0300
+++ git/Makefile.ffmpeg 2012-08-26 02:46:40.512511177 +0300
@@ -63,5 +63,5 @@
install:
cd ffmpeg; make -j9 DESTDIR="$(WORK)/ffmpeg_compiled" install
- $(HOST)-strip ffmpeg_compiled/usr/local/lib/*.so
+ $(HOST)-strip ffmpeg_compiled/usr/lib/*.so
Index: git/Makefile
===================================================================
--- git.orig/Makefile 2012-08-26 02:52:11.578611542 +0300
+++ git/Makefile 2012-08-26 02:52:53.952320465 +0300
@@ -1,7 +1,7 @@
CFLAGS+=-std=c++0x -DSTANDALONE -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -DTARGET_POSIX -D_LINUX -fPIC -DPIC -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DHAVE_CMAKE_CONFIG -D__VIDEOCORE4__ -U_FORTIFY_SOURCE -Wall -DHAVE_OMXLIB -DUSE_EXTERNAL_FFMPEG -DHAVE_LIBAVCODEC_AVCODEC_H -DHAVE_LIBAVUTIL_OPT_H -DHAVE_LIBAVUTIL_MEM_H -DHAVE_LIBAVUTIL_AVUTIL_H -DHAVE_LIBAVFORMAT_AVFORMAT_H -DHAVE_LIBAVFILTER_AVFILTER_H -DOMX -DOMX_SKIP64BIT -ftree-vectorize -DUSE_EXTERNAL_OMX -DTARGET_RASPBERRY_PI -DUSE_EXTERNAL_LIBBCM_HOST
-LDFLAGS+=-L./ -lc -lWFC -lGLESv2 -lEGL -lbcm_host -lopenmaxil -lfreetype -lz -Lffmpeg_compiled/usr/local/lib/
-INCLUDES+=-I./ -Ilinux -Iffmpeg_compiled/usr/local/include/
+LDFLAGS+=-L./ -lc -lWFC -lGLESv2 -lEGL -lbcm_host -lopenmaxil -lfreetype -lz -Lffmpeg_compiled/usr/lib/
+INCLUDES+=-I./ -Ilinux -Iffmpeg_compiled/usr/include/
SRC=linux/XMemUtils.cpp \
utils/log.cpp \
@@ -63,5 +63,5 @@
cp omxplayer omxplayer.bin omxplayer-dist/usr/usr/bin
cp COPYING omxplayer-dist/usr/share/doc/
cp README.md omxplayer-dist/usr/share/doc/README
- cp -a ffmpeg_compiled/usr/local/lib/*.so* omxplayer-dist/usr/lib/omxplayer/
+ cp -a ffmpeg_compiled/usr/lib/*.so* omxplayer-dist/usr/lib/omxplayer/
tar -czf omxplayer-dist.tar.gz omxplayer-dist

View File

@@ -1,32 +0,0 @@
Modify install rule to use /usr/bin path and not /usr/usr/bin for
installing omxplayer binary and script.
As well, add a variable to let the user specify where to install
the files.
Upstream-Status: Pending
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Index: git/Makefile
===================================================================
--- git.orig/Makefile 2012-08-26 05:03:31.710678243 +0300
+++ git/Makefile 2012-08-26 05:03:11.000000000 +0300
@@ -59,11 +57,11 @@
make -f Makefile.ffmpeg install
dist: omxplayer.bin
- mkdir -p omxplayer-dist/usr/lib/omxplayer
- mkdir -p omxplayer-dist/usr/usr/bin
- mkdir -p omxplayer-dist/usr/share/doc
- cp omxplayer omxplayer.bin omxplayer-dist/usr/usr/bin
- cp COPYING omxplayer-dist/usr/share/doc/
- cp README.md omxplayer-dist/usr/share/doc/README
- cp -a ffmpeg_compiled/usr/lib/*.so* omxplayer-dist/usr/lib/omxplayer/
- tar -czf omxplayer-dist.tar.gz omxplayer-dist
+ mkdir -p $(DEST)/usr/lib/omxplayer
+ mkdir -p $(DEST)/usr/bin
+ mkdir -p $(DEST)/usr/share/doc
+ cp omxplayer omxplayer.bin $(DEST)/usr/bin
+ cp COPYING $(DEST)/usr/share/doc/
+ cp README.md $(DEST)/usr/share/doc/README
+ cp -a ffmpeg_compiled/usr/lib/*.so* $(DEST)/usr/lib/omxplayer/
+ tar -czf omxplayer-dist.tar.gz $(DEST)

View File

@@ -1,69 +0,0 @@
Remove Makefile.include which includes hardcoded paths and rely on
variables provided by build system.
Upstream-Status: Inappropriate [embedded specific]
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Index: git/Makefile.ffmpeg
===================================================================
--- git.orig/Makefile.ffmpeg 2012-08-26 01:04:27.208235775 +0300
+++ git/Makefile.ffmpeg 2012-08-26 01:05:03.958245731 +0300
@@ -1,5 +1,3 @@
-include Makefile.include
-
CFLAGS=-D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -DTARGET_POSIX -D_LINUX -fPIC -DPIC -D_REENTRANT -D_HAVE_SBRK -D_LARGEFILE64_SOURCE -DHAVE_CMAKE_CONFIG -DHAVE_VMCS_CONFIG -D_REENTRANT -DUSE_VCHIQ_ARM -DVCHI_BULK_ALIGN=1 -DVCHI_BULK_GRANULARITY=1 -DEGL_SERVER_DISPMANX -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D__VIDEOCORE4__ -DGRAPHICS_X_VG=1 -U_FORTIFY_SOURCE -Wall -DHAVE_OMXLIB -DUSE_EXTERNAL_FFMPEG -DHAVE_LIBAVCODEC_AVCODEC_H -DHAVE_LIBAVUTIL_MEM_H -DHAVE_LIBAVUTIL_AVUTIL_H -DHAVE_LIBAVFORMAT_AVFORMAT_H -DHAVE_LIBAVFILTER_AVFILTER_H -DOMX -DOMX_SKIP64BIT
WORK=$(PWD)
Index: git/Makefile
===================================================================
--- git.orig/Makefile 2012-08-25 21:46:44.771745783 +0300
+++ git/Makefile 2012-08-25 21:48:59.220406089 +0300
@@ -1,5 +1,3 @@
-include Makefile.include
-
CFLAGS+=-std=c++0x -DSTANDALONE -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -DTARGET_POSIX -D_LINUX -fPIC -DPIC -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DHAVE_CMAKE_CONFIG -D__VIDEOCORE4__ -U_FORTIFY_SOURCE -Wall -DHAVE_OMXLIB -DUSE_EXTERNAL_FFMPEG -DHAVE_LIBAVCODEC_AVCODEC_H -DHAVE_LIBAVUTIL_OPT_H -DHAVE_LIBAVUTIL_MEM_H -DHAVE_LIBAVUTIL_AVUTIL_H -DHAVE_LIBAVFORMAT_AVFORMAT_H -DHAVE_LIBAVFILTER_AVFILTER_H -DOMX -DOMX_SKIP64BIT -ftree-vectorize -DUSE_EXTERNAL_OMX -DTARGET_RASPBERRY_PI -DUSE_EXTERNAL_LIBBCM_HOST
LDFLAGS+=-L./ -lc -lWFC -lGLESv2 -lEGL -lbcm_host -lopenmaxil -lfreetype -lz -Lffmpeg_compiled/usr/local/lib/
Index: git/Makefile.include
===================================================================
--- git.orig/Makefile.include 2012-08-25 21:46:44.771745783 +0300
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,38 +0,0 @@
-USE_BUILDROOT=1
-FLOAT=hard
-
-ifeq ($(USE_BUILDROOT), 1)
-BUILDROOT :=/opt/xbmc-bcm/buildroot
-SDKSTAGE :=$(BUILDROOT)/output/staging
-TARGETFS :=$(BUILDROOT)/output/target
-TOOLCHAIN :=$(BUILDROOT)/output/host/usr/
-HOST :=arm-unknown-linux-gnueabi
-SYSROOT :=$(BUILDROOT)/output/host/usr/arm-unknown-linux-gnueabi/sysroot
-else
-BUILDROOT :=/opt/bcm-rootfs
-SDKSTAGE :=/opt/bcm-rootfs
-TARGETFS :=/opt/bcm-rootfs
-TOOLCHAIN :=/usr/local/bcm-gcc
-HOST :=bcm2708
-SYSROOT :=$(TOOLCHAIN)/arm-bcm2708-linux-gnueabi/sys-root
-endif
-
-JOBS=7
-
-CFLAGS := -isystem$(PREFIX)/include
-CXXFLAGS := $(CFLAGS)
-CPPFLAGS := $(CFLAGS)
-LDFLAGS := -L$(BUILDROOT)/lib
-LD := $(TOOLCHAIN)/bin/$(HOST)-ld --sysroot=$(SYSROOT)
-CC := $(TOOLCHAIN)/bin/$(HOST)-gcc --sysroot=$(SYSROOT)
-CXX := $(TOOLCHAIN)/bin/$(HOST)-g++ --sysroot=$(SYSROOT)
-OBJDUMP := $(TOOLCHAIN)/bin/$(HOST)-objdump
-RANLIB := $(TOOLCHAIN)/bin/$(HOST)-ranlib
-STRIP := $(TOOLCHAIN)/bin/$(HOST)-strip
-AR := $(TOOLCHAIN)/bin/$(HOST)-ar
-CXXCP := $(CXX) -E
-PATH := $(PREFIX)/bin:$(BUILDROOT)/output/host/usr/bin:$(PATH)
-
-CFLAGS += -pipe -mfloat-abi=$(FLOAT) -mcpu=arm1176jzf-s -fomit-frame-pointer -mabi=aapcs-linux -mtune=arm1176jzf-s -mfpu=vfp -Wno-psabi -mno-apcs-stack-check -O3 -mstructure-size-boundary=32 -mno-sched-prolog
-LDFLAGS += -L$(SDKSTAGE)/lib -L$(SDKSTAGE)/usr/lib -L$(SDKSTAGE)/opt/vc/lib/
-INCLUDES += -isystem$(SDKSTAGE)/usr/include -isystem$(SDKSTAGE)/opt/vc/include -isystem$(SYSROOT)/usr/include -isystem$(SDKSTAGE)/opt/vc/include/interface/vcos/pthreads -isystem$(SDKSTAGE)/usr/include/freetype2

View File

@@ -0,0 +1,19 @@
Force the pkg-config native tool. Strangely ffmpeg prepends cross_prefix
to the default value which obviously is wrong.
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Index: git/Makefile.ffmpeg
===================================================================
--- git.orig/Makefile.ffmpeg
+++ git/Makefile.ffmpeg
@@ -245,7 +245,8 @@ configure:
--disable-decoder=idf \
--enable-decoder=opus \
--cross-prefix=$(HOST)- \
- --disable-stripping
+ --disable-stripping \
+ --pkg-config=pkg-config
.PHONY : clean
clean:

View File

@@ -1,48 +1,53 @@
DESCRIPTION = "OMXPlayer is a commandline OMX player for the Raspberry Pi" SUMMARY = "A commandline OMX player for the Raspberry Pi"
HOMEPAGE = "https://github.com/huceke/omxplayer" DESCRIPTION = "This player was developed as a testbed for the XBMC \
Raspberry PI implementation and is quite handy to use standalone"
HOMEPAGE = "https://github.com/popcornmix/omxplayer"
SECTION = "console/utils" SECTION = "console/utils"
LICENSE = "GPLv2"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
DEPENDS = "libpcre libav virtual/egl boost freetype" DEPENDS = "libpcre libav virtual/egl boost freetype dbus openssl samba libssh"
PR = "r4"
PR = "r0" SRCREV = "d99bd86c9fd80ea01f98761e130d7ac9a2bb7588"
SRC_URI = "git://github.com/popcornmix/omxplayer.git;protocol=git;branch=master \
SRCREV = "231c08b42005e3de565013bc1cee18bd5a349c1f" file://0001-Remove-Makefile.include-which-includes-hardcoded.patch \
SRC_URI = "git://github.com/huceke/omxplayer.git;protocol=git;branch=master \ file://0002-Libraries-and-headers-from-ffmpeg-are-installed-in-u.patch \
file://remove-makefile-include.patch \ file://0003-Remove-strip-step-in-Makefile.patch \
file://libraries-are-installed-in-usr-lib.patch \ file://0004-Add-FFMPEG_EXTRA_CFLAGS-and-FFMPEG_EXTRA_LDFLAGS.patch \
file://remove-hardcoded-directory-omxplayer-dist.patch \ file://fix-tar-command-with-DIST.patch \
file://don-t-strip-while-installing.patch \ file://use-native-pkg-config.patch \
" "
S = "${WORKDIR}/git" S = "${WORKDIR}/git"
COMPATIBLE_MACHINE = "raspberrypi" COMPATIBLE_MACHINE = "raspberrypi"
inherit autotools inherit autotools-brokensep pkgconfig
# Variable added in Makefile to INCLUDE # Needed in ffmpeg configure
export ADD_INCDIR = "-I${STAGING_INCDIR}/interface/vcos/pthreads -I${STAGING_INCDIR}/freetype2" export TEMPDIR = "${S}/tmp"
# Needed in configure from Makefile.ffmpeg # Needed in Makefile.ffmpeg
export HOST = "${HOST_SYS}" export HOST = "${HOST_SYS}"
export WORK = "${S}" export WORK = "${S}"
export TEMPDIR = "${S}/tmp" export FLOAT = "${@bb.utils.contains("TUNE_FEATURES", "callconvention-hard", "hard", "softfp", d)}"
export FLOAT = "softfp" export FFMPEG_EXTRA_CFLAGS = "--sysroot=${STAGING_DIR_TARGET}"
export FFMPEG_EXTRA_LDFLAGS = "--sysroot=${STAGING_DIR_TARGET}"
# Needed in top Makefile
export LDFLAGS = "-L${S}/ffmpeg_compiled/usr/lib \ export LDFLAGS = "-L${S}/ffmpeg_compiled/usr/lib \
-L${STAGING_DIR_HOST}/lib \ -L${STAGING_DIR_HOST}/lib \
-L${STAGING_DIR_HOST}/usr/lib \ -L${STAGING_DIR_HOST}/usr/lib \
" "
export INCLUDES = "-isystem${STAGING_DIR_HOST}/usr/include \ export INCLUDES = "-isystem${STAGING_DIR_HOST}/usr/include \
-isystem${STAGING_DIR_HOST}/usr/include/interface/vcos/pthreads \ -isystem${STAGING_DIR_HOST}/usr/include/interface/vcos/pthreads \
-isystem${STAGING_DIR_HOST}/usr/include/freetype2 \ -isystem${STAGING_DIR_HOST}/usr/include/freetype2 \
-isystem${STAGING_DIR_HOST}/usr/include/interface/vmcs_host/linux \
-isystem${STAGING_DIR_HOST}/usr/include/dbus-1.0 \
-isystem${STAGING_DIR_HOST}/usr/lib/dbus-1.0/include \
" "
export DIST = "${D}"
# Install in ${D}
export DEST = "${D}"
do_compile() { do_compile() {
# Needed for compiler test in ffmpeg's configure # Needed for compiler test in ffmpeg's configure
@@ -53,10 +58,15 @@ do_compile() {
} }
do_install() { do_install() {
oe_runmake dist oe_runmake STRIP='echo skipping strip' dist
mkdir -p ${D}${datadir}/fonts/truetype/freefont/
install ${S}/fonts/* ${D}${datadir}/fonts/truetype/freefont/
} }
FILES_${PN} = "${bindir}/omxplayer* \ FILES_${PN} = "${bindir}/omxplayer* \
${libdir}/omxplayer/lib*${SOLIBS}" ${libdir}/omxplayer/lib*${SOLIBS} \
${datadir}/fonts"
FILES_${PN}-dev += "${libdir}/omxplayer/*.so" FILES_${PN}-dev += "${libdir}/omxplayer/*.so"
RDEPENDS_${PN} += "bash procps"

View File

@@ -0,0 +1,6 @@
# short-description: Create Raspberry Pi SD card image
# long-description: Creates a partitioned SD card image for use with
# Raspberry Pi. Boot files are located in the first vfat partition.
part /boot --source bootimg-partition --ondisk mmcblk --fstype=vfat --label boot --active --align 4096 --size 20
part / --source rootfs --ondisk mmcblk --fstype=ext4 --label root --align 4096