171 Commits
danny ... dizzy

Author SHA1 Message Date
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
Seth Bollinger
770b88b2ce sdcard_image-rpi.bbclass: Fix error in conditional test
When the shell tests for rootfs type I was seeing "[[: not found".  I
use echo and egrep to test for the xz rootfs type to work around this
error.

Signed-off-by: Seth Bollinger <seth.boll@gmail.com>
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2013-05-02 14:11:32 +02:00
Jan Schmidt
c5f81306b5 sdcard_image-rpi: Use the size of the generated rootfs
When constructing the SD card image, the code was using
the inherited ROOTFS_SIZE, which is the size of the
rootfs contents. When building (for example) a compressed
rootfs, this allocates a partition much larger than necessary.

Instead, take the size of the generated rootfs file that is
about to be written into the generated image, and round it
up to the IMAGE_ROOTFS_ALIGNMENT size.

Fix some comments - the alignment is 4MiB, not 4KiB.

Signed-off-by: Jan Schmidt <thaytan@noraisin.net>
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2013-05-02 13:10:14 +02:00
Eric Bénard
8ad03b9533 Use right license name for GPLv2
This patch fixes the license name for bcm2835 and rpi-first-run-wizard.

Signed-off-by: Eric Bénard <eric@eukrea.com>
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2013-05-01 22:10:15 +02:00
Seth Bollinger
fe5cd81d27 sdcard_image-rpi.bbclass: Copy startup files required for 16MB GPU operation.
start_cd.elf and fixup_cd.dat are required when running the system with
a 16MB GPU memory configuration.  This change copies all files contained
in bcm2835-bootfiles instead of cherry picking.

Signed-off-by: Seth Bollinger <seth.boll@gmail.com>
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2013-05-01 21:20:42 +02:00
Paul Barker
53555972bc netbase: Remove bbappend and files
Dropped raspberrypi modifications to hosts and interfaces files as they are
unnecessary.

Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2013-05-01 20:58:46 +02:00
Andrei Gherzan
cf25e6fc90 rpi-first-run-wizard: Fix RDEPENDS warning
WARNING: QA Issue: [...]/rpi-first-run-wizard.bb:
Variable RDEPENDS is set as not being package specific, please fix this.

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2013-03-13 19:49:20 +02:00
Andrei Gherzan
7da69cff7c vc-graphics.inc: There is no libgl so get rid of this PROVIDES
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2013-03-13 19:42:56 +02:00
Andrei Gherzan
592274937b userland: Update to 8700279495e266378d36092ccf86424f0ee2539f
* install_vmcs not needed anymore
* By default package is installed in /opt/vc. Move everything in ${prefix}.
* Move recipe in recipes-graphics
* Add PACKAGE_ARCH = MACHINE_ARCH

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2013-03-13 19:42:51 +02:00
Andrei Gherzan
201f717a60 recipes.txt: Remove file
This file contains outdated informations.

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2013-03-13 19:42:45 +02:00
Andrei Gherzan
db2b8af828 layer.conf: Set LICENSE_PATH to layers's custom licenses directory
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2013-03-13 19:42:39 +02:00
Andrei Gherzan
996990c98f custom-licenses: Add directory to hold custom licenses
Add Broadcom license to this directory.

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2013-03-13 19:42:27 +02:00
Andrei Gherzan
33d2e1d7bb rpi-default-providers: Use userland as provider for egl and gles2
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2013-03-13 19:42:19 +02:00
Andrei Gherzan
bff90c7a0d rpi-default-providers: Remove virtual/libgl provider
There are no libgl binary shipped in raspberrypi firmware repo.

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2013-03-13 19:42:09 +02:00
Jan Schmidt
e7fdddc4e1 linux: Add a Linux 3.6 kernel recipe
* Add a recipe to build the linux kernel from the rpi-3.6.y branch at
  https://github.com/raspberrypi/linux
* Since this has a higher version, it will be the preferred linux kernel
  by default.

Signed-off-by: Jan Schmidt <thaytan@noraisin.net>
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2013-01-27 15:28:25 +02:00
Jan Schmidt
b3de8baa2f bcm2835-bootfiles: Bump the firmware revision
* Pull in a newer firmware revision (0ac68c 7th Jan 2013) from
  https://github.com/raspberrypi/firmware for various fixes and
  improvements

Signed-off-by: Jan Schmidt <thaytan@noraisin.net>
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2013-01-27 15:28:09 +02:00
Andreas Müller
d3ec4b1258 layer.conf: fix parse
after meta-systemd commit [1] the following error was thrown during parsing:

ERROR: Unable to parse /home/Superandy/data/oe-core/sources/meta-raspberrypi/conf/layer.conf:
Failure expanding variable BBFILES, expression was
...
which triggered exception NameError: name 'base_contains' is not defined

[1] http://cgit.openembedded.org/meta-openembedded/commit/?id=3c21a46020bd0816579648f684c41dbd6333583e

Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2013-01-27 01:01:39 +02:00
Andrei Gherzan
e3e92fe903 README: Refactor
* Use maximum 80 columns per line
* Add contents
* Add "Contribution" section

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2013-01-24 21:34:48 +02:00
Andrei Gherzan
305c5259e2 arch-arm: define different ARMPKGARCH when different CCARGS are used
* without this tune-xscale and tune-arm926ejs were both creating
  packages in armv5te feed, but each with different -mtune, with
  OEBasicHash enabled it was causing each package to rebuild with new
  -mtune after MACHINE switch, but that doesn't make sense with output
  stored in the same armv5te feed

* this makes different feed for each -mtune, but more generic one to be
  selected with DEFAULTTUNE

* tune-iwmmxt and tune-ep9312 were already using this, just move it
  bellow AVAILTUNES and use ARMPKGARCH_tune-foo syntax

* tune-cortexr4 and tune-cortexm3 are using armv7r/armv7m as ARMPKGARCH
  because there isn't another tune to use the same -march

(From OE-Core rev: cffda9a821a3b83a8529d643c567859e091c6846)

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2012-11-28 02:30:04 +02:00
Andrei Gherzan
76c6b87958 tune-*: define more generic DEFAULTTUNE to share feed between machines
* this is mostly for backwards compatibility and to share binary feed
  like it was before, but now without missing different -mtune in it
* if you want to build some package with -mtune add something like this
  to your distro config
  DEFAULTTUNE_qemuarm_pn-openssl = "arm926ejs"
  DEFAULTTUNE_qemuarmx_pn-openssl = "xscale"
  be aware that if you do this you should do it also for all packages
  which depends on openssl because if you dont and you build e.g. dhcp,
  then dhcp build for arm926ejs (even with DEFAULTTUNE armv5te) will
  depend on openssl with arm926ejs, so dhcp in armv5te feed will be
  rebuild after each MACHINE switch.
* cortexm3, cortexr4, iwmmx and ep9312 are using own DEFAULTTUNE because
  they define also different -march
* shared feeds are
  armv4t: arm920t, arm9tdmi
  armv5te: arm926ejs, xscale
  armv7a-neon: cortexa8, cortexa9

(From OE-Core rev: a11bdc36a1be18cc5aa14682b2a2c9ee83141f51)

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2012-11-28 02:30:04 +02:00
Andrei Gherzan
c71508dae6 userland: Initial integration
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2012-11-27 22:42:43 +02:00
Andrei Gherzan
cf62711b7c sdcard_image-rpi: Remove RPI_GPU_FIRMWARE and add/remove files to boot partition
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2012-11-27 22:42:43 +02:00
Andrei Gherzan
ed0cd94914 README: Replace old RPI_GPU_FIRMWARE with GPU_MEM variables
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2012-11-27 22:42:42 +02:00
Andrei Gherzan
43faccc504 rpi-config: Add variables to set memory split for 256/512 models
GPU_MEM
gpu_mem - GPU memory in megabyte. Sets the memory split between the ARM and
GPU. ARM gets the remaining memory. Min 16. Default 64

GPU_MEM_256
gpu_mem_256 -GPU memory in megabyte for the 256MB Raspberry Pi. Ignored by
the 512MB RP. Overrides gpu_mem. Max 192.

GPU_MEM_512
gpu_mem_512 -GPU memory in megabyte for the 512MB Raspberry Pi. Ignored by
the 256MB RP. Overrides gpu_mem. Max 448.

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2012-11-27 22:42:42 +02:00
Andrei Gherzan
14734e73a3 rpi-config: Update to 62bf3e9db62f547eb1a2a352dde957d2f94bd216
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2012-11-27 22:42:42 +02:00
Andrei Gherzan
e79ec70804 linux.inc: Refactor inc file
Clean up the file and add function to setup configs.

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2012-11-27 22:42:42 +02:00
Andrei Gherzan
bc7e740348 linux-raspberrypi: Update to 10182a3bc434b27740f81c2b836a1af943060241
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2012-11-27 22:42:41 +02:00
Andrei Gherzan
48e0739783 linux-raspberrypi: Cleanup recipe
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2012-11-27 22:42:41 +02:00
Andrei Gherzan
d952980bd4 bcm2835-bootfiles: Deploy .dat files too
These files are used in the boot process with the updated bootloader.

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2012-11-27 22:42:41 +02:00
Andrei Gherzan
4ac170e18b firmware: Update to 537c78b113d06e37e2cca90a0b3d3f39a129ee23
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2012-11-27 22:42:41 +02:00
Andrei Gherzan
cfd5c65469 rpi-default-versions: Remove preferred version of udev
We use now the latest one from meta-openembedded.

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2012-11-27 22:42:40 +02:00
Andrei Gherzan
b3a4e96cf9 raspberrypi.conf: Remove RPI_GPU_FIRMWARE definition
We don't use this anymore as the memory split is now done from config.txt.

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2012-11-27 22:42:40 +02:00
Andrei Gherzan
e1e8477a77 rpi-default-providers: Use linux-libc-headers-raspberrypi
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2012-11-27 22:42:39 +02:00
Andrei Gherzan
a74544ac37 linux-libc-headers-raspberrypi: Add headers for raspberrypi kernel
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2012-11-27 22:42:39 +02:00
69 changed files with 1478 additions and 1462 deletions

251
README
View File

@@ -24,110 +24,107 @@
.... ....
OpenEmbedded BSP Layer - RaspberryPi
-------------------------------------- Contents:
=========
1. Description
2. Yocto BSP Layer - RaspberryPi
2.A. Compressed deployed files
2.B. GPU memory
2.C. Add purchased license codecs
2.D. Disable overscan
2.E. Set overclocking options
2.F. Optional - Video camera support with V4L2 drivers
2.G. Optional - Enable offline compositing support
2.H. Images
2.I. Boot to U-Boot
2.J. Image with Initramfs
3. Extra apps
3.A. omxplayer
4. Source code and mirrors
5. Contribution
5.A. Mailing List
5.B. Gerrit Review Server
5.C. Trello Board
6. Maintainers
1. Description
==============
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 OpenEmbedded/Yocto
distributions and layer stacks, such as:
The core BSP part of meta-raspberrypi should work with different
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: 2. Yocto BSP Layer - RaspberryPi
================================
URI: git://git.openembedded.org/openembedded-core
branch: master
revision: HEAD
URI: git://git.openembedded.org/meta-openembedded
branch: master
revision: HEAD
It is preferred that people raise pull requests using GIThub by forking the appropriate tree:
https://github.com/djwillis/
(More info on achieving this can be found at http://help.github.com/send-pull-requests/)
Yocto BSP Layer - RaspberryPi
-------------------------------
This layer depends on: This layer depends on:
URI: git://git.yoctoproject.org/poky URI: git://git.yoctoproject.org/poky
branch: danny branch: master
revision: HEAD revision: HEAD
URI: git://git.openembedded.org/meta-openembedded URI: git://git.openembedded.org/meta-openembedded
layers: meta-multimedia
branch: master branch: master
revision: 1571c2c566c51799eceea2aabe13d1c3116f36b3 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 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.
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).
Optional - GPU firmware: 2.B. Optional - GPU memory:
======================== ===========================
By default the GPU firmware shipped is arm192. You can overwrite this using the Variable : Details
variable RPI_GPU_FIRMWARE with one of the values below. GPU_MEM : GPU memory in megabyte. Sets the memory split between the ARM and
# arm128 : 128M ARM, 128M GPU split GPU. ARM gets the remaining memory. Min 16. Default 64.
# arm192 : 192M ARM, 64M GPU split GPU_MEM_256 : GPU memory in megabyte for the 256MB Raspberry Pi. Ignored by the
# arm224 : 224M ARM, 32M GPU split 512MB RP. Overrides gpu_mem. Max 192. Default not set.
# arm240 : 240M ARM, 16M GPU split GPU_MEM_512 : GPU memory in megabyte for the 512MB Raspberry Pi. Ignored by the
256MB RP. Overrides gpu_mem. Max 448. Default not set.
Optional - Add purchased license codecs: 2.C.Optional - Add purchased license codecs:
======================================== ============================================
To add you own licenses use variables KEY_DECODE_MPG2 and KEY_DECODE_WVC1 in local.conf. Example: To add you own licenses use variables KEY_DECODE_MPG2 and KEY_DECODE_WVC1 in
local.conf. Example:
KEY_DECODE_MPG2 = "12345678" KEY_DECODE_MPG2 = "12345678"
KEY_DECODE_WVC1 = "12345678" KEY_DECODE_WVC1 = "12345678"
You can supply more licenses separated by comma. Example: You can supply more licenses separated by comma. Example:
KEY_DECODE_WVC1 = "0x12345678,0xabcdabcd,0x87654321" KEY_DECODE_WVC1 = "0x12345678,0xabcdabcd,0x87654321"
Optional - Disable overscan: 2.D. Optional - Disable overscan:
============================ =================================
By default the GPU adds a black border around the video output to compensate for TVs By default the GPU adds a black border around the video output to compensate for
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" DISALE_OVERSCAN = "0"
Optional - Set overclocking options: 2.E. Optional - Set overclocking options:
==================================== =========================================
The Raspberry PI can be overclocked. As of now overclocking up to the "Turbo The Raspberry PI can be overclocked. As of now overclocking up to the "Turbo
Mode" is officially supported by the raspbery and does not void warranty. Mode" is officially supported by the raspbery and does not void warranty.
Check the config.txt for a detailed description of options and modes. Example: Check the config.txt for a detailed description of options and modes. Example:
@@ -137,6 +134,130 @@ 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"
Layer maintainer: John Willis <John.Willis at distant-earth.com> 2.G. Optional - Enable offline compositing support
==================================================
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
2.H. 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.I. 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.J. 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"
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. Source code and mirrors
==========================
Main repo:
git://git.yoctoproject.org/meta-raspberrypi
http://git.yoctoproject.org/git/meta-raspberrypi
Github mirror:
https://github.com/djwillis/meta-raspberrypi
Gerrit review repo:
https://review.gherzan.ro:8443/meta-raspberrypi
5. Contributing
===============
5.A. Mailing list
=================
To contribute to this layer you should send the patches for review to the
mailing list.
The patches should be compliant with the openembedded patch guidelines:
http://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines
Mailing list:
https://lists.yoctoproject.org/listinfo/yocto
To send changes to mailing list use something like:
git send-email --to yocto@yoctoproject.org \
--subject-prefix='meta-raspberrypi][PATCH'
OPTIONALLY push changes to gerrit (help maintainers merge and review patches
easier in this way).
git push ssh://<username>@review.gherzan.ro:29418/meta-raspberrypi
<local-branch>:refs/for/master
See 5.B. Gerrit Review Server.
5.B. Gerrit Review Server
=========================
We have a gerrit server configured at review.gherzan.ro. Changes made in gerrit
are merged in git.yoctoproject.org/meta-raspberrypi.
You can setup a gerrit account in less than 2 minutes:
A) Login / Register on https://review.gherzan.ro:8443.
B) Add your PUBLIC key in Settings/SSH Public Keys.
C) Add remote in your local repo:
git remote add gherzan ssh://<username>@review.gherzan.ro:29418/meta-raspberrypi
D) Push changes to gerrit using:
git push gherzan <local-branch>:refs/for/master
Please check your spam folder for gerrit messages. Sometimes they end up there.
5.C. Trello Board
=================
A public Trello board is set to manage tasks and bugs. Join us there:
https://trello.com/b/QsYeVjVe/meta-raspberrypi
6. Maintainers
==============
John Willis <John.Willis at distant-earth.com>
Andrei Gherzan <andrei at gherzan.ro> Andrei Gherzan <andrei at gherzan.ro>

View File

@@ -13,23 +13,28 @@ 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
# <---------> # <--------->
# 4KiB 20MiB SDIMG_ROOTFS # 4MiB 20MiB SDIMG_ROOTFS
# <-----------------------> <----------> <----------------------> # <-----------------------> <----------> <---------------------->
# ------------------------ ------------ ------------------------ ------------------------------- # ------------------------ ------------ ------------------------
# | IMAGE_ROOTFS_ALIGNMENT | BOOT_SPACE | ROOTFS_SIZE | IMAGE_ROOTFS_ALIGNMENT | # | IMAGE_ROOTFS_ALIGNMENT | BOOT_SPACE | ROOTFS_SIZE |
# ------------------------ ------------ ------------------------ ------------------------------- # ------------------------ ------------ ------------------------
# ^ ^ ^ ^ ^ # ^ ^ ^ ^
# | | | | | # | | | |
# 0 4096 4KiB + 20MiB 4KiB + 20Mib + SDIMG_ROOTFS 4KiB + 20MiB + SDIMG_ROOTFS + 4KiB # 0 4MiB 4MiB + 20MiB 4MiB + 20Mib + 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 ?= ""
# Boot partition volume id # Boot partition volume id
BOOTDD_VOLUME_ID ?= "${MACHINE}" BOOTDD_VOLUME_ID ?= "${MACHINE}"
# Boot partition size [in KiB] # Boot partition size [in KiB] (will be rounded up to IMAGE_ROOTFS_ALIGNMENT)
BOOT_SPACE ?= "20480" BOOT_SPACE ?= "20480"
# Set alignment to 4MB [in KiB] # Set alignment to 4MB [in KiB]
@@ -37,9 +42,7 @@ 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}"
RPI_GPU_FIRMWARE ?= "arm192"
IMAGE_DEPENDS_rpi-sdimg = " \ IMAGE_DEPENDS_rpi-sdimg = " \
parted-native \ parted-native \
@@ -47,11 +50,19 @@ IMAGE_DEPENDS_rpi-sdimg = " \
dosfstools-native \ dosfstools-native \
virtual/kernel \ virtual/kernel \
${IMAGE_BOOTLOADER} \ ${IMAGE_BOOTLOADER} \
${@base_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 ?= ""
@@ -62,39 +73,40 @@ 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})
SDIMG_SIZE=$(expr ${IMAGE_ROOTFS_ALIGNMENT} + ${BOOT_SPACE_ALIGNED} + $ROOTFS_SIZE + ${IMAGE_ROOTFS_ALIGNMENT}) ROOTFS_SIZE=`du -bks ${SDIMG_ROOTFS} | awk '{print $1}'`
# 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"
# Initialize sdcard image file # Initialize sdcard image file
dd if=/dev/zero of=${SDIMG} bs=1 count=0 seek=$(expr 1024 \* ${SDIMG_SIZE}) dd if=/dev/zero of=${SDIMG} bs=1024 count=0 seek=${SDIMG_SIZE}
# Create partition table # Create partition table
parted -s ${SDIMG} mklabel msdos parted -s ${SDIMG} mklabel msdos
# Create boot partition and mark it as bootable # Create boot partition and mark it as bootable
parted -s ${SDIMG} unit KiB mkpart primary fat32 ${IMAGE_ROOTFS_ALIGNMENT} $(expr ${BOOT_SPACE_ALIGNED} \+ ${IMAGE_ROOTFS_ALIGNMENT}) parted -s ${SDIMG} unit KiB mkpart primary fat32 ${IMAGE_ROOTFS_ALIGNMENT} $(expr ${BOOT_SPACE_ALIGNED} \+ ${IMAGE_ROOTFS_ALIGNMENT})
parted -s ${SDIMG} set 1 boot on parted -s ${SDIMG} set 1 boot on
# Create rootfs partition # Create rootfs partition to the end of disk
parted -s ${SDIMG} unit KiB mkpart primary ext2 $(expr ${BOOT_SPACE_ALIGNED} \+ ${IMAGE_ROOTFS_ALIGNMENT}) $(expr ${BOOT_SPACE_ALIGNED} \+ ${IMAGE_ROOTFS_ALIGNMENT} \+ ${ROOTFS_SIZE}) parted -s ${SDIMG} -- unit KiB mkpart primary ext2 $(expr ${BOOT_SPACE_ALIGNED} \+ ${IMAGE_ROOTFS_ALIGNMENT}) -1s
parted ${SDIMG} print parted ${SDIMG} print
# 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 }')
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
case "${RPI_GPU_FIRMWARE}" in mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/bcm2835-bootfiles/* ::/
"arm128" | "arm192" | "arm224" | "arm240") case "${KERNEL_IMAGETYPE}" in
mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/bcm2835-bootfiles/${RPI_GPU_FIRMWARE}_start.elf ::start.elf "uImage")
mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/u-boot.img ::kernel.img
mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}${KERNEL_INITRAMFS}-${MACHINE}.bin ::uImage
;; ;;
*) *)
bberror "RPI_GPU_FIRMWARE is undefined or value not recognised. Possible values: arm128, arm192, arm224 or arm240." mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}${KERNEL_INITRAMFS}-${MACHINE}.bin ::kernel.img
exit 1
;; ;;
esac esac
mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/bcm2835-bootfiles/config.txt ::
mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/bcm2835-bootfiles/cmdline.txt ::
mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/bcm2835-bootfiles/bootcode.bin ::
mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/bcm2835-bootfiles/loader.bin ::
mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${MACHINE}.bin ::kernel.img
if [ -n ${FATPAYLOAD} ] ; then if [ -n ${FATPAYLOAD} ] ; then
echo "Copying payload into VFAT" echo "Copying payload into VFAT"
for entry in ${FATPAYLOAD} ; do for entry in ${FATPAYLOAD} ; do
@@ -110,12 +122,25 @@ IMAGE_CMD_rpi-sdimg () {
# Burn Partitions # Burn Partitions
dd if=${WORKDIR}/boot.img of=${SDIMG} conv=notrunc seek=1 bs=$(expr ${IMAGE_ROOTFS_ALIGNMENT} \* 1024) && sync && sync dd if=${WORKDIR}/boot.img of=${SDIMG} conv=notrunc seek=1 bs=$(expr ${IMAGE_ROOTFS_ALIGNMENT} \* 1024) && sync && sync
# If SDIMG_ROOTFS_TYPE is a .xz file use xzcat # If SDIMG_ROOTFS_TYPE is a .xz file use xzcat
if [[ "$SDIMG_ROOTFS_TYPE" == *.xz ]] if echo "${SDIMG_ROOTFS_TYPE}" | egrep -q "*\.xz"
then then
xzcat ${SDIMG_ROOTFS} | dd of=${SDIMG} conv=notrunc seek=1 bs=$(expr 1024 \* ${BOOT_SPACE_ALIGNED} + ${IMAGE_ROOTFS_ALIGNMENT} \* 1024) && sync && sync xzcat ${SDIMG_ROOTFS} | dd of=${SDIMG} conv=notrunc seek=1 bs=$(expr 1024 \* ${BOOT_SPACE_ALIGNED} + ${IMAGE_ROOTFS_ALIGNMENT} \* 1024) && sync && sync
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

@@ -2,9 +2,13 @@
BBPATH .= ":${LAYERDIR}" BBPATH .= ":${LAYERDIR}"
# We have a recipes directory containing .bb and .bbappend files, add to BBFILES # We have a recipes directory containing .bb and .bbappend files, add to BBFILES
BBFILES := "${BBFILES} ${LAYERDIR}/recipes*/*/*.bb \ BBFILES += "${LAYERDIR}/recipes*/*/*.bb \
${LAYERDIR}/recipes*/*/*.bbappend" ${LAYERDIR}/recipes*/*/*.bbappend"
BBFILE_COLLECTIONS += "raspberrypi" BBFILE_COLLECTIONS += "raspberrypi"
BBFILE_PATTERN_raspberrypi := "^${LAYERDIR}/" BBFILE_PATTERN_raspberrypi := "^${LAYERDIR}/"
BBFILE_PRIORITY_raspberrypi = "6" BBFILE_PRIORITY_raspberrypi = "6"
# Additional license directories.
LICENSE_PATH += "${LAYERDIR}/files/custom-licenses"

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_u-boot = "u-boot-rpi"
PREFERRED_PROVIDER_virtual/xserver = "xserver-xorg" PREFERRED_PROVIDER_virtual/xserver = "xserver-xorg"
PREFERRED_PROVIDER_virtual/egl ?= "vc-graphics-hardfp" PREFERRED_PROVIDER_virtual/egl ?= "userland"
PREFERRED_PROVIDER_virtual/libgles2 ?= "vc-graphics-hardfp" PREFERRED_PROVIDER_virtual/libgles2 ?= "userland"
PREFERRED_PROVIDER_virtual/libgl ?= "vc-graphics-hardfp" PREFERRED_PROVIDER_virtual/libgl ?= "mesa-gl"
PREFERRED_PROVIDER_virtual/mesa ?= "mesa-gl"
PREFERRED_PROVIDER_jpeg = "jpeg"

View File

@@ -1,3 +1,3 @@
# RaspberryPi BSP default versions # RaspberryPi BSP default versions
PREFERRED_VERSION_udev = "164" PREFERRED_VERSION_linux-raspberrypi ?= "3.12.%"

View File

@@ -1,10 +1,18 @@
DEFAULTTUNE ?= "arm1176jzfs" DEFAULTTUNE ?= "armv6"
require conf/machine/include/arm/arch-armv6.inc 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"
TUNE_FEATURES_tune-arm1176jzfs = "${TUNE_FEATURES_tune-armv6} arm1176jzfs" TUNE_FEATURES_tune-arm1176jzfs = "${TUNE_FEATURES_tune-armv6} arm1176jzfs"
ARMPKGARCH_tune-arm1176jzfs = "arm1176jzfs"
PACKAGE_EXTRA_ARCHS_tune-arm1176jzfs = "${PACKAGE_EXTRA_ARCHS_tune-armv6}" PACKAGE_EXTRA_ARCHS_tune-arm1176jzfs = "${PACKAGE_EXTRA_ARCHS_tune-armv6}"
AVAILTUNES += "arm1176jzfshf"
TUNE_FEATURES_tune-arm1176jzfshf = "${TUNE_FEATURES_tune-arm1176jzfs} callconvention-hard"
ARMPKGARCH_tune-arm1176jzfshf = "arm1176jzfs"
PACKAGE_EXTRA_ARCHS_tune-arm1176jzfshf = "${PACKAGE_EXTRA_ARCHS_tune-armv6hf-vfp} arm1176jzfshf-vfp"

View File

@@ -12,7 +12,7 @@ IMAGE_FSTYPES ?= "tar.bz2 ext3 rpi-sdimg"
SERIAL_CONSOLE = "115200 ttyAMA0" SERIAL_CONSOLE = "115200 ttyAMA0"
MACHINE_KERNEL_PR = "r4" MACHINE_KERNEL_PR = "r5"
XSERVER = " \ XSERVER = " \
xserver-xorg \ xserver-xorg \
@@ -22,9 +22,9 @@ XSERVER = " \
xf86-video-fbdev \ xf86-video-fbdev \
" "
KERNEL_IMAGETYPE = "Image" KERNEL_IMAGETYPE ?= "Image"
MACHINE_FEATURES = "kernel26 apm usbgadget usbhost keyboard vfat ext2 screen touchscreen alsa bluetooth wifi sdio" MACHINE_FEATURES = "kernel26 apm usbhost keyboard vfat ext2 screen touchscreen alsa bluetooth wifi sdio"
#RaspberryPi has no hardware clock #RaspberryPi has no hardware clock
MACHINE_FEATURES_BACKFILL_CONSIDERED = "rtc" MACHINE_FEATURES_BACKFILL_CONSIDERED = "rtc"
@@ -33,5 +33,7 @@ MACHINE_EXTRA_RRECOMMENDS += " \
kernel-modules \ kernel-modules \
" "
# Set default GPU firmware image to be shipped # Set raspberrypi splash image
RPI_GPU_FIRMWARE ?= "arm192" SPLASH = "psplash-raspberrypi"
IMAGE_BOOT_FILES ?= "bcm2835-bootfiles/* ${KERNEL_IMAGETYPE};kernel.img"

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

@@ -5,38 +5,36 @@ SECTION = "base"
HOMEPAGE = "http://www.open.com.au/mikem/bcm2835" HOMEPAGE = "http://www.open.com.au/mikem/bcm2835"
AUTHOR = "Mike McCauley (mikem@open.com.au)" AUTHOR = "Mike McCauley (mikem@open.com.au)"
LICENSE = "GPL-2.0" 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.open.com.au/mikem/bcm2835/bcm2835-${PV}.tar.gz"
SRC_URI[md5sum] = "cca8500049d4ebf9087de4bd1601d185" SRC_URI[md5sum] = "3299ddaef60f80b7f85de3318f08dee7"
SRC_URI[sha256sum] = "64be77b10aaf48ecb2a9022e13057f3b564093916875c0fc56373b4142dd5cae" SRC_URI[sha256sum] = "b4dfcdb453d44ba9ff55634ce7e0ddca21b96355ab61e40b4c3afb9406d4b8d2"
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

@@ -3,32 +3,37 @@ LICENSE = "Proprietary"
LIC_FILES_CHKSUM = "file://LICENCE.broadcom;md5=e86e693d19572ee64cc8b17fb062faa9" LIC_FILES_CHKSUM = "file://LICENCE.broadcom;md5=e86e693d19572ee64cc8b17fb062faa9"
inherit deploy
include ../common/firmware.inc include ../common/firmware.inc
RDEPENDS_${PN} = "rpi-config" RDEPENDS_${PN} = "rpi-config"
COMPATIBLE_MACHINE = "raspberrypi" COMPATIBLE_MACHINE = "raspberrypi"
SRC_URI = " \ S = "${RPIFW_S}/boot"
git://github.com/raspberrypi/firmware.git;protocol=git;branch=master \
"
S = "${WORKDIR}/git/boot" PR = "r3"
PR = "r2"
addtask deploy before do_package after do_install
do_deploy() { do_deploy() {
install -d ${DEPLOY_DIR_IMAGE}/bcm2835-bootfiles install -d ${DEPLOYDIR}/${PN}
for i in *.elf ; do
cp $i ${DEPLOY_DIR_IMAGE}/bcm2835-bootfiles for i in ${S}/*.elf ; do
cp $i ${DEPLOYDIR}/${PN}
done done
for i in *.bin ; do for i in ${S}/*.dat ; do
cp $i ${DEPLOY_DIR_IMAGE}/bcm2835-bootfiles cp $i ${DEPLOYDIR}/${PN}
done done
for i in ${S}/*.bin ; do
cp $i ${DEPLOYDIR}/${PN}
done
# Add stamp in deploy directory # Add stamp in deploy directory
touch ${DEPLOY_DIR_IMAGE}/bcm2835-bootfiles/${PN}-${PV}.stamp touch ${DEPLOYDIR}/${PN}/${PN}-${PV}.stamp
} }
addtask deploy before do_package after do_install
do_deploy[dirs] += "${DEPLOYDIR}/${PN}"
PACKAGE_ARCH = "${MACHINE_ARCH}" PACKAGE_ARCH = "${MACHINE_ARCH}"

View File

@@ -1,46 +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 = "afeaed02ba5f01298dec3ac4e1bd98f27bcd876e"
SRC_URI = "git://github.com/Evilpaul/RPi-config.git;protocol=git;branch=master \
"
S = "${WORKDIR}/git"
PR = "r1"
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
}
PACKAGE_ARCH = "${MACHINE_ARCH}"

View File

@@ -0,0 +1,74 @@
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_MVC1=${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
}
addtask deploy before do_package after do_install
do_deploy[dirs] += "${DEPLOYDIR}/bcm2835-bootfiles"
PACKAGE_ARCH = "${MACHINE_ARCH}"

View File

@@ -1,6 +1,8 @@
# 13/09/2012 firmware; this can be overridden from distro config RPIFW_SRCREV ?= "43c5b2fc9bdb0a43ba67661b8677445e71ae9e82"
RPIFW_SRCREV ?= "b616053edb93713efa25299cb4ea7efa439dcb61" RPIFW_DATE ?= "20140817"
RPIFW_DATE ?= "20120913" 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}" SRCREV = "${RPIFW_SRCREV}"
PV = "${RPIFW_DATE}" PV = "${RPIFW_DATE}"

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

@@ -3,18 +3,19 @@ LICENSE = "Proprietary"
LIC_FILES_CHKSUM = "file://LICENCE;md5=86e53f5f5909ee66900418028de11780" LIC_FILES_CHKSUM = "file://LICENCE;md5=86e53f5f5909ee66900418028de11780"
PROVIDES = "virtual/libgl virtual/libgles2 virtual/egl" PROVIDES = "virtual/libgles2 virtual/egl"
COMPATIBLE_MACHINE = "raspberrypi" COMPATIBLE_MACHINE = "raspberrypi"
include ../common/firmware.inc include ../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 = "r0" INCPR = "r1"
inherit pkgconfig update-rc.d inherit pkgconfig update-rc.d

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 = "330c72c2412f75a32932c4d9b51c9c678bce4180"
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

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

View File

@@ -1,2 +0,0 @@
127.0.0.1 localhost.localdomain localhost raspberrypi rpi

View File

@@ -1,15 +0,0 @@
# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)
# The loopback interface
auto lo
iface lo inet loopback
# Wireless interfaces
iface wlan0 inet dhcp
wireless_mode managed
wireless_essid any
wpa-driver wext
wpa-conf /etc/wpa_supplicant.conf
# Bluetooth networking
iface bnep0 inet dhcp

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

@@ -0,0 +1,19 @@
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 \
"
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

@@ -0,0 +1,77 @@
Add autotools configuration files to simplify cross-compilation
Upstream-Status: Submitted [https://github.com/sarfata/pi-blaster/pull/25]
Signed-off-by: Alex Lennon <ajlennon@dynamicdevices.co.uk>
diff -Nur git.org/Makefile git.new/Makefile
--- git.org/Makefile 2014-06-11 15:42:26.490930706 +0100
+++ git.new/Makefile 1970-01-01 01:00:00.000000000 +0100
@@ -1,23 +0,0 @@
-.PHONY: all
-all: pi-blaster
-
-REVISION=$(shell egrep -q '000f$$' /proc/cpuinfo && echo 2 || echo 1)
-
-pi-blaster: pi-blaster.c
- gcc -Wall -g -O2 -o $@ $< -DREVISION=$(REVISION)
-
-clean:
- rm -f pi-blaster
-
-install: pi-blaster
- cp -f pi-blaster.boot.sh /etc/init.d/pi-blaster
- chmod +x /etc/init.d/pi-blaster
- cp -f pi-blaster /usr/sbin/pi-blaster
- update-rc.d pi-blaster defaults
- /etc/init.d/pi-blaster start
-
-uninstall:
- -/etc/init.d/pi-blaster stop
- rm /usr/sbin/pi-blaster
- rm /etc/init.d/pi-blaster
- update-rc.d pi-blaster remove
diff -Nur git.org/Makefile.am git.new/Makefile.am
--- git.org/Makefile.am 1970-01-01 01:00:00.000000000 +0100
+++ git.new/Makefile.am 2014-06-11 15:40:16.562930372 +0100
@@ -0,0 +1,9 @@
+AUTOMAKE_OPTIONS = foreign
+
+CFLAGS = -Wall -pedantic
+
+sbin_PROGRAMS = pi-blaster
+pi_blaster_SOURCES = pi-blaster.c
+
+init_ddir = $(sysconfdir)/init.d
+init_d_SCRIPTS = pi-blaster.boot.sh
diff -Nur git.org/autogen.sh git.new/autogen.sh
--- git.org/autogen.sh 1970-01-01 01:00:00.000000000 +0100
+++ git.new/autogen.sh 2014-06-11 15:35:57.798929684 +0100
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+echo "Generating configure files... may take a while."
+
+autoreconf --install --force && \
+ echo "Preparing was successful if there was no error messages above." && \
+ echo "Now type:" && \
+ echo " ./configure && make" && \
+ echo "Run './configure --help' for more information"
diff -Nur git.org/configure.ac git.new/configure.ac
--- git.org/configure.ac 1970-01-01 01:00:00.000000000 +0100
+++ git.new/configure.ac 2014-06-11 15:35:53.154929717 +0100
@@ -0,0 +1,14 @@
+# -*- Autoconf -*-
+# Process this file with autoconf to produce a configure script.
+
+AC_PREREQ([2.69])
+AC_INIT(pi-blaster, 0.1.0)
+AC_CONFIG_SRCDIR([pi-blaster.c])
+AC_CONFIG_HEADERS([config.h])
+AM_INIT_AUTOMAKE
+
+# Checks for programs.
+AC_PROG_CC
+
+AC_CONFIG_FILES([Makefile])
+AC_OUTPUT

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,22 @@
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=138;endline=151;md5=e0f0f92050a87a160939707c60940307"
SRC_URI = "git://github.com/sarfata/pi-blaster \
file://enable-autotools-support.patch \
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 = "177cef81774d6df5c6284c198ff818515281db14"

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=35af90ff2a10e8bdc967653b9dfcb22a"
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] = "cbdff15871230ceef29bb407d31da485"
SRC_URI[sha256sum] = "fcfd97dc9687dde76b13b9d12c122e71b13e2ba09a62913d7b8d9ddbb3e8cabf" SRC_URI[sha256sum] = "36b64a9485d6a0dc8f24cfca6af45759ee367ce412b952ebcf0409364e05813a"

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,202 @@
diff --git a/examples/Makefile b/examples/Makefile
index defd510..b84f3de 100644
--- a/examples/Makefile
+++ b/examples/Makefile
@@ -26,10 +26,10 @@
#DEBUG = -g -O0
DEBUG = -O3
CC = gcc
-INCLUDE = -I/usr/local/include
+INCLUDE = -I../wiringPi
CFLAGS = $(DEBUG) -Wall $(INCLUDE) -Winline -pipe
-LDFLAGS = -L/usr/local/lib
+LDFLAGS = -L../wiringPi
LDLIBS = -lwiringPi -lpthread -lm
# Should not alter anything below this line
diff --git a/gpio/Makefile b/gpio/Makefile
index a043962..b1539d9 100644
--- a/gpio/Makefile
+++ b/gpio/Makefile
@@ -23,13 +23,16 @@
#################################################################################
+DESTDIR?=/usr
+PREFIX?=/local
+
#DEBUG = -g -O0
-DEBUG = -O2
-CC = gcc
-INCLUDE = -I/usr/local/include
-CFLAGS = $(DEBUG) -Wall $(INCLUDE) -Winline -pipe
+DEBUG ?= -O2
+CC ?= gcc
+INCLUDE ?= -I../wiringPi
+CFLAGS ?= $(DEBUG) -Wall $(INCLUDE) -Winline -pipe
-LDFLAGS = -L/usr/local/lib
+LDFLAGS ?= -L../wiringPi
LIBS = -lwiringPi -lpthread -lm
# May not need to alter anything below this line
@@ -61,17 +64,16 @@ tags: $(SRC)
.PHONEY: install
install:
@echo "[Install]"
- @cp gpio /usr/local/bin
- @chown root.root /usr/local/bin/gpio
- @chmod 4755 /usr/local/bin/gpio
- @mkdir -p /usr/local/man/man1
- @cp gpio.1 /usr/local/man/man1
+ @install -d $(DESTDIR)$(PREFIX)/bin
+ @install -m 4755 -o root -g root gpio $(DESTDIR)$(PREFIX)/bin
+ @install -d $(DESTDIR)$(PREFIX)/share/man/man1
+ @install -m 644 -o root -g root gpio.1 $(DESTDIR)$(PREFIX)/share/man/man1
.PHONEY: uninstall
uninstall:
@echo "[UnInstall]"
- @rm -f /usr/local/bin/gpio
- @rm -f /usr/local/man/man1/gpio.1
+ @rm -f $(DESTDIR)$(PREFIX)/bin/gpio
+ @rm -f $(DESTDIR)$(PREFIX)/share/man/man1/gpio.1
.PHONEY: depend
depend:
diff --git a/wiringPi/Makefile b/wiringPi/Makefile
index c6a4555..2c7ae82 100644
--- a/wiringPi/Makefile
+++ b/wiringPi/Makefile
@@ -25,17 +25,20 @@ DYN_VERS_MAJ=1
DYN_VERS_MIN=0
VERSION=$(DYN_VERS_MAJ).$(DYN_VERS_MIN)
-DESTDIR=/usr
-PREFIX=/local
+DESTDIR?=/usr
+PREFIX?=/local
+INCLUDE_DIR?=$(DESTDIR)$(PREFIX)/include
+LIB_DIR?=$(DESTDIR)$(PREFIX)/lib
-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.
-CFLAGS = $(DEBUG) -Wall $(INCLUDE) -Winline -pipe -fPIC
+DEBUG ?= -O2
+CC ?= gcc
+INCLUDE ?= -I.
+CFLAGS ?= $(DEBUG) -Wall $(INCLUDE) -Winline -pipe -fPIC
LIBS =
@@ -67,19 +70,19 @@ $(STATIC): $(OBJ)
$(DYNAMIC): $(OBJ)
@echo "[Link (Dynamic)]"
- @$(CC) -shared -Wl,-soname,libwiringPi.so.1 -o libwiringPi.so.1.0 -lpthread $(OBJ)
+ @$(CC) -shared -Wl,-soname,$(BASE_NAME).so.$(DYN_VERS_MAJ) -o $(BASE_NAME).so -lpthread $(OBJ)
i2c: $(OBJ) $(OBJ_I2C)
@echo "[Link (Dynamic + I2C)]"
- @$(CC) -shared -Wl,-soname,libwiringPi.so.1 -o libwiringPi.so.1.0 -lpthread $(OBJ) $(OBJ_I2C)
+ @$(CC) -shared -Wl,-soname,$(BASE_NAME).so.$(DYN_VERS_MAJ) -o $(BASE_NAME).so -lpthread $(OBJ) $(OBJ_I2C)
.c.o:
@echo [Compile] $<
- @$(CC) -c $(CFLAGS) $< -o $@
+ @$(CC) -c $(CFLAGS) -fPIC $< -o $@
.PHONEY: clean
clean:
- rm -f $(OBJ) $(OBJ_I2C) *~ core tags Makefile.bak libwiringPi.*
+ rm -f $(OBJ) $(OBJ_I2C) *~ core tags Makefile.bak $(BASE_NAME).so* $(BASE_NAME).a
.PHONEY: tags
tags: $(SRC)
@@ -89,45 +92,46 @@ tags: $(SRC)
.PHONEY: install
install: $(DYNAMIC)
@echo "[Install]"
- @install -m 0755 -d $(DESTDIR)$(PREFIX)/lib
- @install -m 0755 -d $(DESTDIR)$(PREFIX)/include
- @install -m 0644 wiringPi.h $(DESTDIR)$(PREFIX)/include
- @install -m 0644 wiringSerial.h $(DESTDIR)$(PREFIX)/include
- @install -m 0644 wiringShift.h $(DESTDIR)$(PREFIX)/include
- @install -m 0644 gertboard.h $(DESTDIR)$(PREFIX)/include
- @install -m 0644 piNes.h $(DESTDIR)$(PREFIX)/include
- @install -m 0644 softPwm.h $(DESTDIR)$(PREFIX)/include
- @install -m 0644 softServo.h $(DESTDIR)$(PREFIX)/include
- @install -m 0644 softTone.h $(DESTDIR)$(PREFIX)/include
- @install -m 0644 lcd.h $(DESTDIR)$(PREFIX)/include
- @install -m 0644 wiringPiSPI.h $(DESTDIR)$(PREFIX)/include
- @install -m 0644 wiringPiI2C.h $(DESTDIR)$(PREFIX)/include
- @install -m 0755 libwiringPi.so.$(VERSION) $(DESTDIR)$(PREFIX)/lib
- @ln -sf $(DESTDIR)$(PREFIX)/lib/libwiringPi.so.$(VERSION) $(DESTDIR)/lib/libwiringPi.so
- @ln -sf $(DESTDIR)$(PREFIX)/lib/libwiringPi.so.$(VERSION) $(DESTDIR)/lib/libwiringPi.so.1
- @ldconfig
+ @install -m 0755 -d $(LIB_DIR)
+ @install -m 0755 -d $(INCLUDE_DIR)
+ @install -m 0644 wiringPi.h $(INCLUDE_DIR)
+ @install -m 0644 wiringSerial.h $(INCLUDE_DIR)
+ @install -m 0644 wiringShift.h $(INCLUDE_DIR)
+ @install -m 0644 gertboard.h $(INCLUDE_DIR)
+ @install -m 0644 piNes.h $(INCLUDE_DIR)
+ @install -m 0644 softPwm.h $(INCLUDE_DIR)
+ @install -m 0644 softServo.h $(INCLUDE_DIR)
+ @install -m 0644 softTone.h $(INCLUDE_DIR)
+ @install -m 0644 lcd.h $(INCLUDE_DIR)
+ @install -m 0644 wiringPiSPI.h $(INCLUDE_DIR)
+ @install -m 0644 wiringPiI2C.h $(INCLUDE_DIR)
+ @install -m 0755 $(BASE_NAME).so $(LIB_DIR)/$(DYNAMIC)
+ @ln -sf $(DYNAMIC) $(LIB_DIR)/$(BASE_NAME).so
+ @ln -sf $(DYNAMIC) $(LIB_DIR)/$(BASE_NAME).so.$(DYN_VERS_MAJ)
.PHONEY: install-static
install-static: $(STATIC)
@echo "[Install Static]"
- @install -m 0755 libwiringPi.a $(DESTDIR)$(PREFIX)/lib
+ @install -m 0644 $(STATIC) $(LIB_DIR)
.PHONEY: uninstall
uninstall:
@echo "[UnInstall]"
- @rm -f $(DESTDIR)$(PREFIX)/include/wiringPi.h
- @rm -f $(DESTDIR)$(PREFIX)/include/wiringSerial.h
- @rm -f $(DESTDIR)$(PREFIX)/include/wiringShift.h
- @rm -f $(DESTDIR)$(PREFIX)/include/gertboard.h
- @rm -f $(DESTDIR)$(PREFIX)/include/piNes.h
- @rm -f $(DESTDIR)$(PREFIX)/include/softPwm.h
- @rm -f $(DESTDIR)$(PREFIX)/include/softServo.h
- @rm -f $(DESTDIR)$(PREFIX)/include/softTone.h
- @rm -f $(DESTDIR)$(PREFIX)/include/lcd.h
- @rm -f $(DESTDIR)$(PREFIX)/include/wiringPiSPI.h
- @rm -f $(DESTDIR)$(PREFIX)/include/wiringPiI2C.h
- @rm -f $(DESTDIR)$(PREFIX)/lib/libwiringPi.*
- @ldconfig
+ @rm -f $(INCLUDE_DIR)/wiringPi.h
+ @rm -f $(INCLUDE_DIR)/wiringSerial.h
+ @rm -f $(INCLUDE_DIR)/wiringShift.h
+ @rm -f $(INCLUDE_DIR)/gertboard.h
+ @rm -f $(INCLUDE_DIR)/piNes.h
+ @rm -f $(INCLUDE_DIR)/softPwm.h
+ @rm -f $(INCLUDE_DIR)/softServo.h
+ @rm -f $(INCLUDE_DIR)/softTone.h
+ @rm -f $(INCLUDE_DIR)/lcd.h
+ @rm -f $(INCLUDE_DIR)/wiringPiSPI.h
+ @rm -f $(INCLUDE_DIR)/wiringPiI2C.h
+ @rm -f $(LIB_DIR)/$(STATIC)
+ @rm -f $(LIB_DIR)/$(DYNAMIC)
+ @rm -f $(LIB_DIR)/$(BASE_NAME).so
+ @rm -f $(LIB_DIR)/$(BASE_NAME).so.$(DYN_VERS_MAJ)
.PHONEY: depend

View File

@@ -0,0 +1,31 @@
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"
SRCREV = "98bcb20d9391ebde24f9eb1244f0d238fb1a1dab"
S = "${WORKDIR}/git"
SRC_URI = "\
git://git.drogon.net/wiringPi \
file://Makefiles-install.patch \
"
COMPATIBLE_MACHINE = "raspberrypi"
CFLAGS_prepend = "-I${S}/wiringPi"
EXTRA_OEMAKE += "'INCLUDE_DIR=${D}${includedir}' 'LIB_DIR=${D}${libdir}'"
EXTRA_OEMAKE += "'DESTDIR=${D}/usr' 'PREFIX=""'"
do_compile() {
oe_runmake -C wiringPi
oe_runmake -C gpio 'LDFLAGS=${LDFLAGS} -L${S}/wiringPi'
}
do_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 = "slim sudo zenity dbus"
COMPATIBLE_MACHINE = "raspberrypi"
PR = "r1"
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,41 @@
DESCRIPTION = "This repository contains the source code for the ARM side \
libraries used on Raspberry Pi. These typically are installed in /opt/vc/lib \
and includes source for the ARM side code to interface to: EGL, mmal, GLESv2,\
vcos, openmaxil, vchiq_arm, bcm_host, WFC, OpenVG."
LICENSE = "Broadcom"
LIC_FILES_CHKSUM = "file://LICENCE;md5=957f6640d5e2d2acfce73a36a56cb32f"
PR = "r4"
PROVIDES = "virtual/libgles2 \
virtual/egl"
COMPATIBLE_MACHINE = "raspberrypi"
SRCBRANCH = "master"
SRCFORK = "raspberrypi"
SRCREV = "85441185e653347e6b3c2bbc7494f5e29a6ca4a2"
SRC_URI = "git://github.com/${SRCFORK}/userland.git;protocol=git;branch=${SRCBRANCH} \
"
S = "${WORKDIR}/git"
inherit cmake
EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=Release -DCMAKE_EXE_LINKER_FLAGS='-Wl,--no-as-needed'"
# The compiled binaries don't provide sonames.
SOLIBS = "${SOLIBSDEV}"
do_install_append() {
mkdir -p ${D}/${prefix}
mv ${D}/opt/vc/* ${D}/${prefix}
rm -rf ${D}/opt
}
FILES_${PN} += "${libdir}/*${SOLIBS}"
FILES_${PN}-dev = "${includedir} \
${prefix}/src"
FILES_${PN}-doc += "${datadir}/install"
PACKAGE_ARCH = "${MACHINE_ARCH}"

View File

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

View File

@@ -0,0 +1,36 @@
require linux.inc
DESCRIPTION = "Linux Kernel for Raspberry Pi"
SECTION = "kernel"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
SRC_URI += " \
file://defconfig \
"
COMPATIBLE_MACHINE = "raspberrypi"
PV_append = "+git${SRCREV}"
# 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_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
}

View File

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

View File

@@ -0,0 +1,32 @@
Fix i2c timing errors.
When Transmitting: Make SDA valid quarter of a cycle after the falling edge of SCL.
When Receiving: Sample SDA Quarter of a cycle after the rising edge of SCL.
Upstream-Status: Pending
RP 2013/04/21
Index: git/drivers/i2c/busses/i2c-bcm2708.c
===================================================================
--- git.orig/drivers/i2c/busses/i2c-bcm2708.c 2013-01-06 17:15:00.754954587 +0000
+++ git/drivers/i2c/busses/i2c-bcm2708.c 2013-01-06 17:50:09.794905741 +0000
@@ -150,6 +150,7 @@
unsigned long bus_hz;
u32 cdiv;
u32 c = BSC_C_I2CEN | BSC_C_INTD | BSC_C_ST | BSC_C_CLEAR_1;
+ u32 cdel;
bus_hz = clk_get_rate(bi->clk);
cdiv = bus_hz / baudrate;
@@ -163,6 +164,10 @@
bcm2708_wr(bi, BSC_A, bi->msg->addr);
bcm2708_wr(bi, BSC_DLEN, bi->msg->len);
bcm2708_wr(bi, BSC_C, c);
+
+ cdel = (cdiv / 4) & 0xffff;
+ cdel = cdel << 16 | cdel;
+ bcm2708_wr(bi, BSC_DEL, cdel);
}
static irqreturn_t bcm2708_i2c_interrupt(int irq, void *dev_id)

View File

@@ -0,0 +1,6 @@
SRCREV = "1b49b450222df26e4abf7abb6d9302f72b2ed386"
SRC_URI = "git://github.com/raspberrypi/linux.git;protocol=git;branch=rpi-3.10.y \
file://sl030raspberrypii2ckernel.patch \
"
require linux-raspberrypi.inc

View File

@@ -0,0 +1,6 @@
SRCREV = "f03cd5e1012d3fe8314a944879308cf0f3d9e29b"
SRC_URI = "git://github.com/raspberrypi/linux.git;protocol=git;branch=rpi-3.12.y \
file://sl030raspberrypii2ckernel.patch \
"
require linux-raspberrypi.inc

View File

@@ -0,0 +1,6 @@
SRCREV = "377c82aa1d31b37f1096096b0e4c65beb0bc5c49"
SRC_URI = "git://github.com/raspberrypi/linux.git;protocol=git;branch=rpi-3.16.y \
file://sl030raspberrypii2ckernel.patch \
"
require linux-raspberrypi.inc

View File

@@ -1,44 +1,6 @@
COMPATIBLE_MACHINE = "raspberrypi" SRCREV = "ada8b4415ff44d535d63e4291a0eca733bc2ad0f"
require linux.inc
DESCRIPTION = "Linux kernel for the RaspberryPi board"
PR = "r4"
# Bump MACHINE_KERNEL_PR in the machine config if you update the kernel.
# This is on the rpi-3.2.27 branch
SRCREV = "e33263e7eab2d05349b438f6a4a8d1924686a824"
SRC_URI = "git://github.com/raspberrypi/linux.git;protocol=git;branch=rpi-3.2.27 \ SRC_URI = "git://github.com/raspberrypi/linux.git;protocol=git;branch=rpi-3.2.27 \
file://sl030raspberrypii2ckernel.patch \
" "
LINUX_VERSION ?= "3.2.27-rpi" require linux-raspberrypi.inc
PV = "${LINUX_VERSION}+git${SRCREV}"
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"
PARALLEL_MAKEINST = ""
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 @@
SRCREV = "2a8d45ec0883e3cbdce920855b3461ac77308a5f"
SRC_URI = "git://github.com/raspberrypi/linux.git;protocol=git;branch=rpi-3.6.y \
file://sl030raspberrypii2ckernel.patch \
"
require linux-raspberrypi.inc

View File

@@ -0,0 +1,6 @@
SRCREV = "d996a1b91b2bf3dc06f4f4f822a56f4496457aa1"
SRC_URI = "git://github.com/raspberrypi/linux.git;protocol=git;branch=rpi-3.8.y \
file://sl030raspberrypii2ckernel.patch \
"
require linux-raspberrypi.inc

View File

@@ -5,266 +5,113 @@ 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
RPSRC = "http://www.rpsys.net/openzaurus/patches/archive"
# 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"
# Quirk for udev greater or equal 141 # Quirk for udev greater or equal 141
UDEV_GE_141 ?= "0" UDEV_GE_141 ?= "1"
# Specify the commandline for your device
# Boot from mmc
CMDLINE_at91sam9263ek = "mem=64M console=ttyS0,115200 root=/dev/mmcblk0p1 rootfstype=ext2 rootdelay=5"
# Boot from nfs
#CMDLINE_at91sam9263ek = "mem=64M console=ttyS0,115200 root=301 root=/dev/nfs nfsroot=172.20.3.1:/data/at91 ip=172.20.0.5:::255.255.0.0"
# Set the verbosity of kernel messages during runtime # Set the verbosity of kernel messages during runtime
# You can define CMDLINE_DEBUG in your local.conf or distro.conf to override this behaviour # You can define CMDLINE_DEBUG in your local.conf or distro.conf to override this behaviour
CMDLINE_DEBUG ?= '${@base_conditional("DISTRO_TYPE", "release", "quiet", "debug", d)}' CMDLINE_DEBUG ?= '${@base_conditional("DISTRO_TYPE", "release", "quiet", "debug", d)}'
CMDLINE_append = " ${CMDLINE_DEBUG}" CMDLINE_append = " ${CMDLINE_DEBUG}"
# Kernel bootlogo is distro-specific (default is OE logo). # Set a variable in .configure
# Logo resolution (qvga, vga, ...) is machine-specific. # $1 - Configure variable to be set
LOGO_SIZE ?= "." # $2 - value [n/y/value]
kernel_configure_variable() {
# Support for binary device tree generation # Remove the config
CONF_SED_SCRIPT="$CONF_SED_SCRIPT /CONFIG_$1[ =]/d;"
FILES_kernel-devicetree = "/boot/devicetree*" if test "$2" = "n"
then
KERNEL_DEVICETREE_boc01 = "${WORKDIR}/boc01.dts" echo "# CONFIG_$1 is not set" >> ${B}/.config
KERNEL_DEVICETREE_calamari = "arch/${ARCH}/boot/dts/mpc8536ds.dts" else
KERNEL_DEVICETREE_canyonlands = "arch/${ARCH}/boot/dts/canyonlands.dts" echo "CONFIG_$1=$2" >> ${B}/.config
KERNEL_DEVICETREE_kilauea = "arch/${ARCH}/boot/dts/kilauea.dts" fi
KERNEL_DEVICETREE_lite5200 = "arch/${ARCH}/boot/dts/lite5200.dts"
KERNEL_DEVICETREE_lsppchd = "arch/${ARCH}/boot/dts/kuroboxHD.dts"
KERNEL_DEVICETREE_lsppchg = "arch/${ARCH}/boot/dts/kuroboxHG.dts"
KERNEL_DEVICETREE_mpc8313e-rdb = "arch/${ARCH}/boot/dts/mpc8313erdb.dts"
KERNEL_DEVICETREE_mpc8315e-rdb = "arch/${ARCH}/boot/dts/mpc8315erdb.dts"
KERNEL_DEVICETREE_mpc8323e-rdb = "arch/${ARCH}/boot/dts/mpc832x_rdb.dts"
KERNEL_DEVICETREE_mpc8544ds = "arch/${ARCH}/boot/dts/mpc8544ds.dts"
KERNEL_DEVICETREE_mpc8641-hpcn = "arch/${ARCH}/boot/dts/mpc8641_hpcn.dts"
KERNEL_DEVICETREE_p1020rdb = "arch/${ARCH}/boot/dts/p1020rdb.dts"
KERNEL_DEVICETREE_p2020ds = "arch/${ARCH}/boot/dts/p2020ds.dts"
KERNEL_DEVICETREE_sequoia = "arch/${ARCH}/boot/dts/sequoia.dts"
KERNEL_DEVICETREE_tqm8540 = "arch/${ARCH}/boot/dts/tqm8540.dts"
KERNEL_DEVICETREE_xilinx-ml507 = "arch/${ARCH}/boot/dts/virtex440-ml507.dts"
KERNEL_DEVICETREE_FLAGS = "-R 8 -S 0x3000"
CORTEXA8FIXUP ?= "yes"
python __anonymous () {
import bb
devicetree = bb.data.getVar('KERNEL_DEVICETREE', d, 1) or ''
if devicetree:
depends = bb.data.getVar("DEPENDS", d, 1)
bb.data.setVar("DEPENDS", "%s dtc-native" % depends, d)
packages = bb.data.getVar("PACKAGES", d, 1)
bb.data.setVar("PACKAGES", "%s kernel-devicetree" % packages, d)
} }
do_configure_prepend() { do_configure_prepend() {
# Clean .config
echo "" > ${B}/.config
CONF_SED_SCRIPT=""
# Rename getline in ./scripts/unifdef.c
# Kernels up to 2.6.29 are currently failing to build unifdef.c,
# clashing with exposed getline() from <stdio.h>
# see https://patchwork.kernel.org/patch/11166/
# committed in 2.6.29 (commit d15bd1067b1fcb2b7250d22bc0c7c7fea0b759f7)
sed -i -e 's/getline/parseline/g' ${S}/scripts/unifdef.c
echo "" > ${S}/.config
#
# logo support, if you supply logo_linux_clut224.ppm in SRC_URI, then it's going to be used
#
if [ -e ${WORKDIR}/${LOGO_SIZE}/logo_linux_clut224.ppm ]; then
install -m 0644 ${WORKDIR}/${LOGO_SIZE}/logo_linux_clut224.ppm drivers/video/logo/logo_linux_clut224.ppm
echo "CONFIG_LOGO=y" >> ${S}/.config
echo "CONFIG_LOGO_LINUX_CLUT224=y" >> ${S}/.config
fi
#
# oabi / eabi support # oabi / eabi support
#
if [ "${TARGET_OS}" = "linux-gnueabi" -o "${TARGET_OS}" = "linux-uclibceabi" ]; then if [ "${TARGET_OS}" = "linux-gnueabi" -o "${TARGET_OS}" = "linux-uclibceabi" ]; then
echo "CONFIG_AEABI=y" >> ${S}/.config kernel_configure_variable AEABI y
if [ "${ARM_KEEP_OABI}" = "1" ] ; then if [ "${ARM_KEEP_OABI}" = "1" ] ; then
echo "CONFIG_OABI_COMPAT=y" >> ${S}/.config kernel_configure_variable OABI_COMPAT y
else else
echo "# CONFIG_OABI_COMPAT is not set" >> ${S}/.config kernel_configure_variable OABI_COMPAT n
fi fi
else else
echo "# CONFIG_AEABI is not set" >> ${S}/.config kernel_configure_variable AEABI n
echo "# CONFIG_OABI_COMPAT is not set" >> ${S}/.config kernel_configure_variable OABI_COMPAT n
fi fi
# When enabling thumb for userspace we also need thumb support in the kernel # Set cmdline
if [ "${ARM_INSTRUCTION_SET}" = "thumb" ] ; then kernel_configure_variable CMDLINE "\"${CMDLINE}\""
sed -i -e /CONFIG_ARM_THUMB/d ${WORKDIR}/defconfig
echo "CONFIG_ARM_THUMB=y" >> ${S}/.config
fi
# Enable thumb2 fixup for specific issue in angstrom toolchains when used on A8 r1p[012] silicon # Localversion
if [ "${CORTEXA8FIXUP}" = "yes" ] ; then kernel_configure_variable LOCALVERSION "\"\""
sed -i -e /CONFIG_ARM_ERRATA_430973/d ${WORKDIR}/defconfig kernel_configure_variable LOCALVERSION_AUTO n
echo "CONFIG_ARM_ERRATA_430973=y" >> ${S}/.config
fi
#
# endian support
#
if [ "${SITEINFO_ENDIANNESS}" = "be" ]; then
echo "CONFIG_CPU_BIG_ENDIAN=y" >> ${S}/.config
fi
echo "CONFIG_CMDLINE=\"${CMDLINE}\"" >> ${S}/.config
sed -e '/CONFIG_AEABI/d' \
-e '/CONFIG_OABI_COMPAT=/d' \
-e '/CONFIG_CMDLINE=/d' \
-e '/CONFIG_CPU_BIG_ENDIAN/d' \
-e '/CONFIG_LOGO=/d' \
-e '/CONFIG_LOGO_LINUX_CLUT224=/d' \
-e '/CONFIG_LOCALVERSION/d' \
-e '/CONFIG_LOCALVERSION_AUTO/d' \
< '${WORKDIR}/defconfig' >>'${S}/.config'
echo 'CONFIG_LOCALVERSION=""' >>${S}/.config
echo '# CONFIG_LOCALVERSION_AUTO is not set' >>${S}/.config
#
# Udev quirks # Udev quirks
#
# Newer versions of udev mandate that sysfs doesn't have deprecated entries # Newer versions of udev mandate that sysfs doesn't have deprecated entries
if [ "${UDEV_GE_141}" = "1" ] ; then if [ "${UDEV_GE_141}" = "1" ] ; then
sed -e /CONFIG_SYSFS_DEPRECATED/d \ kernel_configure_variable SYSFS_DEPRECATED n
-e /CONFIG_SYSFS_DEPRECATED_V2/d \ kernel_configure_variable SYSFS_DEPRECATED_V2 n
-e /CONFIG_HOTPLUG/d \ kernel_configure_variable HOTPLUG y
-e /CONFIG_UEVENT_HELPER_PATH/d \ kernel_configure_variable UEVENT_HELPER_PATH "\"\""
-e /CONFIG_UNIX/d \ kernel_configure_variable UNIX y
-e /CONFIG_SYSFS/d \ kernel_configure_variable SYSFS y
-e /CONFIG_PROC_FS/d \ kernel_configure_variable PROC_FS y
-e /CONFIG_TMPFS/d \ kernel_configure_variable TMPFS y
-e /CONFIG_INOTIFY_USER/d \ kernel_configure_variable INOTIFY_USER y
-e /CONFIG_SIGNALFD/d \ kernel_configure_variable SIGNALFD y
-e /CONFIG_TMPFS_POSIX_ACL/d \ kernel_configure_variable TMPFS_POSIX_ACL y
-e /CONFIG_BLK_DEV_BSG/d \ kernel_configure_variable BLK_DEV_BSG y
-i '${S}/.config' kernel_configure_variable DEVTMPFS y
kernel_configure_variable DEVTMPFS_MOUNT y
echo '# CONFIG_SYSFS_DEPRECATED is not set' >> ${S}/.config
echo '# CONFIG_SYSFS_DEPRECATED_V2 is not set' >> ${S}/.config
echo 'CONFIG_HOTPLUG=y' >> ${S}/.config
echo 'CONFIG_UEVENT_HELPER_PATH=""' >> ${S}/.config
echo 'CONFIG_UNIX=y' >> ${S}/.config
echo 'CONFIG_SYSFS=y' >> ${S}/.config
echo 'CONFIG_PROC_FS=y' >> ${S}/.config
echo 'CONFIG_TMPFS=y' >> ${S}/.config
echo 'CONFIG_INOTIFY_USER=y' >> ${S}/.config
echo 'CONFIG_SIGNALFD=y' >> ${S}/.config
echo 'CONFIG_TMPFS_POSIX_ACL=y' >> ${S}/.config
echo 'CONFIG_BLK_DEV_BSG=y' >> ${S}/.config
echo 'CONFIG_DEVTMPFS=y' >> ${S}/.config
echo 'CONFIG_DEVTMPFS_MOUNT=y' >> ${S}/.config
fi fi
# Newer inits like systemd need cgroup support # Newer inits like systemd need cgroup support
if [ "${KERNEL_ENABLE_CGROUPS}" = "1" ] ; then if [ "${KERNEL_ENABLE_CGROUPS}" = "1" ] ; then
sed -e /CONFIG_CGROUP_SCHED/d \ kernel_configure_variable CGROUP_SCHED y
-e /CONFIG_CGROUPS/d \ kernel_configure_variable CGROUPS y
-i '${S}/.config' kernel_configure_variable CGROUP_NS y
kernel_configure_variable CGROUP_FREEZER y
echo 'CONFIG_CGROUP_SCHED=y' >> ${S}/.config kernel_configure_variable CGROUP_DEVICE y
echo 'CONFIG_CGROUPS=y' >> ${S}/.config kernel_configure_variable CPUSETS y
echo 'CONFIG_CGROUP_NS=y' >> ${S}/.config kernel_configure_variable PROC_PID_CPUSET y
echo 'CONFIG_CGROUP_FREEZER=y' >> ${S}/.config kernel_configure_variable CGROUP_CPUACCT y
echo 'CONFIG_CGROUP_DEVICE=y' >> ${S}/.config kernel_configure_variable RESOURCE_COUNTERS y
echo 'CONFIG_CPUSETS=y' >> ${S}/.config
echo 'CONFIG_PROC_PID_CPUSET=y' >> ${S}/.config
echo 'CONFIG_CGROUP_CPUACCT=y' >> ${S}/.config
echo 'CONFIG_RESOURCE_COUNTERS=y' >> ${S}/.config
fi fi
# # root-over-nfs-over-usb-eth support. Limited, but should cover some cases
# root-over-nfs-over-usb-eth support. Limited, but should cover some cases.
# Enable this by setting a proper CMDLINE_NFSROOT_USB. # Enable this by setting a proper CMDLINE_NFSROOT_USB.
#
if [ ! -z "${CMDLINE_NFSROOT_USB}" ]; then if [ ! -z "${CMDLINE_NFSROOT_USB}" ]; then
oenote "Configuring the kernel for root-over-nfs-over-usb-eth with CMDLINE ${CMDLINE_NFSROOT_USB}" oenote "Configuring the kernel for root-over-nfs-over-usb-eth with CMDLINE ${CMDLINE_NFSROOT_USB}"
sed -e '/CONFIG_INET/d' \ kernel_configure_variable INET y
-e '/CONFIG_IP_PNP=/d' \ kernel_configure_variable IP_PNP y
-e '/CONFIG_USB_GADGET=/d' \ kernel_configure_variable USB_GADGET y
-e '/CONFIG_USB_GADGET_SELECTED=/d' \ kernel_configure_variable USB_GADGET_SELECTED y
-e '/CONFIG_USB_ETH=/d' \ kernel_configure_variable USB_ETH y
-e '/CONFIG_NFS_FS=/d' \ kernel_configure_variable NFS_FS y
-e '/CONFIG_ROOT_NFS=/d' \ kernel_configure_variable ROOT_NFS y
-e '/CONFIG_CMDLINE=/d' \ kernel_configure_variable ROOT_NFS y
-i ${S}/.config kernel_configure_variable CMDLINE "\"${CMDLINE_NFSROOT_USB}\""
echo "CONFIG_INET=y" >> ${S}/.config
echo "CONFIG_IP_PNP=y" >> ${S}/.config
echo "CONFIG_USB_GADGET=y" >> ${S}/.config
echo "CONFIG_USB_GADGET_SELECTED=y" >> ${S}/.config
echo "CONFIG_USB_ETH=y" >> ${S}/.config
echo "CONFIG_NFS_FS=y" >> ${S}/.config
echo "CONFIG_ROOT_NFS=y" >> ${S}/.config
echo "CONFIG_CMDLINE=\"${CMDLINE_NFSROOT_USB}\"" >> ${S}/.config
fi fi
yes '' | oe_runmake oldconfig
#
# Activate CONFIG_LEGACY_PTYS # Activate CONFIG_LEGACY_PTYS
# kernel_configure_variable LEGACY_PTYS y
sed -e '/CONFIG_LEGACY_PTYS/d' -i ${S}/.config
echo "CONFIG_LEGACY_PTYS=y" >> ${S}/.config
}
do_configure_append() { # Keep this the last line
if test -e scripts/Makefile.fwinst ; then # Remove all modified configs and add the rest to .config
sed -i -e "s:-m0644:-m 0644:g" scripts/Makefile.fwinst sed -e "${CONF_SED_SCRIPT}" < '${WORKDIR}/defconfig' >> '${B}/.config'
fi
}
# bitbake.conf only prepends PARALLEL make in tasks called do_compile, which isn't the case for compile_modules yes '' | oe_runmake oldconfig
# So explicitly enable it for that in here
EXTRA_OEMAKE = "${PARALLEL_MAKE} "
do_install_append() {
oe_runmake headers_install INSTALL_HDR_PATH=${D}${exec_prefix}/src/linux-${KERNEL_VERSION} ARCH=$ARCH
}
PACKAGES =+ "kernel-headers"
FILES_kernel-headers = "${exec_prefix}/src/linux*"
do_devicetree_image() {
if test -n "${KERNEL_DEVICETREE}" ; then
dtc -I dts -O dtb ${KERNEL_DEVICETREE_FLAGS} -o devicetree ${KERNEL_DEVICETREE}
install -d ${D}/boot
install -m 0644 devicetree ${D}/boot/devicetree-${KERNEL_VERSION}
install -d ${DEPLOY_DIR_IMAGE}
install -m 0644 devicetree ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGE_BASE_NAME}.dtb
package_stagefile_shell ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGE_BASE_NAME}.dtb
cd ${DEPLOY_DIR_IMAGE}
rm -f ${KERNEL_IMAGE_SYMLINK_NAME}.dtb
ln -sf ${KERNEL_IMAGE_BASE_NAME}.dtb ${KERNEL_IMAGE_SYMLINK_NAME}.dtb
package_stagefile_shell ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGE_SYMLINK_NAME}.dtb
fi
}
addtask devicetree_image after do_install before do_package do_deploy
pkg_postinst_kernel-devicetree () {
cd /${KERNEL_IMAGEDEST}; update-alternatives --install /${KERNEL_IMAGEDEST}/devicetree devicetree devicetree-${KERNEL_VERSION} ${KERNEL_PRIORITY} || true
}
pkg_postrm_kernel-devicetree () {
cd /${KERNEL_IMAGEDEST}; update-alternatives --remove devicetree devicetree-${KERNEL_VERSION} || true
} }
# Automatically depend on lzop-native if CONFIG_KERNEL_LZO is enabled # Automatically depend on lzop-native if CONFIG_KERNEL_LZO is enabled

View File

@@ -0,0 +1,3 @@
EXTRA_OECONF_append_raspberrypi = " CPPFLAGS='-I${STAGING_DIR_TARGET}/usr/include/interface/vcos/pthreads \
-I${STAGING_DIR_TARGET}/usr/include/interface/vmcs_host/linux' \
--with-egl-window-system=rpi"

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

@@ -1,48 +1,52 @@
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"
PR = "r3"
PR = "r0" SRCREV = "1817503430b8f195bef12bd7a3542bdd251f8389"
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 \
" "
S = "${WORKDIR}/git" S = "${WORKDIR}/git"
COMPATIBLE_MACHINE = "raspberrypi" COMPATIBLE_MACHINE = "raspberrypi"
inherit autotools inherit autotools-brokensep
# 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 +57,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

@@ -1,9 +0,0 @@
recipes-bcm - Broadcom specific recipes and tweaks (including binary only bootloader).
recipes-bsp - Anything with links to the RaspberryPi hardware configuration information.
recipes-core - Extensions to existing upstream core recipes.
recipes-devtools - Extensions to existing upstream devtools recipes and other RaspberryPi specific devtools recipes.
recipes-devices - Device drivers/Init scripts.
recipes-graphics - XOrg Config and such.
recipes-kernel - The RaspberryPi kernel recipes and anything with strong kernel dependencies.
recipes-multimedia - Extensions to existing upstream multimedia recipes and other RaspberryPi specific multimedia recipes.

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