Skip to contentSkip to conversation

Pull request for branch rpi-support

GIT PULL New Maxime Hadjinlian 4 participants 18 messages Jan 6, 2013

lore
Share & tools
lore
#0 lore raw

Hello All!

Version 3 of this series regarding the support of the RaspberryPi board.

- libcofi :
- License added
- Fixes of the make option
- Fixes of the install
- rpi-userland :
- Added a patch from Floris Bos so the userland could compile with uClibc
- Added the dependency to BR2_INSTALL_LIBSTDCPP and BR2_LARGEFILE
- rpi-firmware :
- Getting rid of the cmdline.txt files
- Add the cmline in config.txt along with a comment encouraging the user to create its own config.txt
- Moving all results in BINARIES_DIR instead of TARGET_DIR

The following changes since commit 4ec970246547dce915aaeff8394a3b0303a205db:

sam-ba: select BR2_HOSTARCH_NEEDS_IA32_LIBS (2013-01-06 21:37:40 +0100)

are available in the git repository at:

http://github.com/maximeh/buildroot.git rpi-support

for you to fetch changes up to 5460810c1bece1a398cf9a97e7ee521d75cf05f2:

rpi-firmware: New package (2013-01-06 21:49:27 +0100)

----------------------------------------------------------------
Maxime Hadjinlian (3):
libcofi: new package
rpi-userland: new package
rpi-firmware: New package

 package/Config.in                                  |    3 +
 package/libcofi/Config.in                          |    8 +++
 package/libcofi/libcofi.mk                         |   20 ++++++
 package/rpi-firmware/Config.in                     |    9 +++
 package/rpi-firmware/config.txt                    |   13 ++++
 package/rpi-firmware/rpi-firmware.mk               |   21 ++++++
 package/rpi-userland/Config.in                     |   18 +++++
 ...0002-Test-for-the-existence-of-execinfo-h.patch |   69 ++++++++++++++++++++
 ...make-vmcs.cmake-allow-to-override-VMCS_IN.patch |   26 ++++++++
 package/rpi-userland/rpi-userland.mk               |   20 ++++++
 10 files changed, 207 insertions(+)
 create mode 100644 package/libcofi/Config.in
 create mode 100644 package/libcofi/libcofi.mk
 create mode 100644 package/rpi-firmware/Config.in
 create mode 100644 package/rpi-firmware/config.txt
 create mode 100644 package/rpi-firmware/rpi-firmware.mk
 create mode 100644 package/rpi-userland/Config.in
 create mode 100644 package/rpi-userland/rpi-userland-0002-Test-for-the-existence-of-execinfo-h.patch
 create mode 100644 package/rpi-userland/rpi-userland-makefiles-0001-cmake-vmcs.cmake-allow-to-override-VMCS_IN.patch
 create mode 100644 package/rpi-userland/rpi-userland.mk

Regards,
Maxime Hadjinlian

--

#1 lore raw

PATCH 1/3 libcofi: new package

replacement for memcpy and memset functionality
This package was originally found at : https://github.com/huceke/buildroot-rbp
By gimli <[email protected]>

---
 package/Config.in          |    1 +
 package/libcofi/Config.in  |    8 ++++++++
 package/libcofi/libcofi.mk |   20 ++++++++++++++++++++
 3 files changed, 29 insertions(+)
 create mode 100644 package/libcofi/Config.in
 create mode 100644 package/libcofi/libcofi.mk
package/Config.in +1 -0
index 047af8d..9b50f4b 100644
@@ -511,6 +511,7 @@ endmenu
 menu "Other"
 source "package/apr/Config.in"
 source "package/apr-util/Config.in"
+source "package/libcofi/Config.in"
 source "package/classpath/Config.in"
 source "package/fftw/Config.in"
 source "package/libargtable2/Config.in"
package/libcofi/Config.in new file +8 -0
new file mode 100644
index 0000000..b900b69
@@ -0,0 +1,8 @@
+config BR2_PACKAGE_LIBCOFI
+	bool "libcofi"
+	depends on BR2_arm
+	help
+	  A replacement for memcpy and memset functionality for the Raspberry Pi
+	  with the intention of gaining greater performance.
+
+	  https://github.com/simonjhall/copies-and-fills
package/libcofi/libcofi.mk new file +20 -0
new file mode 100644
index 0000000..e2ce702
@@ -0,0 +1,20 @@
+#############################################################
+#
+# libcofi
+#
+#############################################################
+
+LIBCOFI_VERSION = 7313fbe12b0593034d0a1b606bf33c7cf4ababce
+LIBCOFI_SITE = http://github.com/simonjhall/copies-and-fills/tarball/master
+LIBCOFI_LICENSE = LGPLv2.1
+LIBCOFI_LICENSE_FILES = README.md
+
+define LIBCOFI_BUILD_CMDS
+    $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D)
+endef
+
+define LIBCOFI_INSTALL_TARGET_CMDS
+    $(INSTALL) -D -m 0755 $(@D)/libcofi_rpi.so $(TARGET_DIR)/usr/lib/libcofi_rpi.so
+endef
+
+$(eval $(generic-package))
Signature · 1 line
1.7.10.4
#2 lore raw

PATCH 1/3 libcofi: new package

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Maxime" == Maxime Hadjinlian <[email protected]> writes:

Maxime> replacement for memcpy and memset functionality

Maxime> This package was originally found at :
Maxime> https://github.com/huceke/buildroot-rbp By gimli Maxime> <[email protected]>

The package looks ok from a quick look, but how is it supposed to be used? I wouldn't like to see patches to a bunch of packages to link against this.

It isn't really rpi specific either.

Signature · 1 line
Bye, Peter Korsgaard
#3 lore raw

PATCH 1/3 libcofi: new package

Quoted 11 lines · Peter Korsgaard
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Maxime" == Maxime Hadjinlian <[email protected]> writes:

Maxime> replacement for memcpy and memset functionality

Maxime> This package was originally found at :
Maxime> https://github.com/huceke/buildroot-rbp By gimli Maxime> <[email protected]>

The package looks ok from a quick look, but how is it supposed to be used? I wouldn't like to see patches to a bunch of packages to link against this.

As the author of the package says, the library is used using LD_PRELOAD on the target.
So no patch should be needed for any packages.

Quoted 2 lines

It isn't really rpi specific either.

I don't know about that, the author says it's rpi specific.

Quoted 3 lines

--
Bye, Peter Korsgaard

#4 lore raw

PATCH 1/3 libcofi: new package

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Maxime" == Maxime Hadjinlian <[email protected]> writes:

Hi,

Quoted 3 lines
Quoted 3 lines

The package looks ok from a quick look, but how is it supposed to be used? I wouldn't like to see patches to a bunch of packages to link against this.

Maxime> As the author of the package says, the library is used using Maxime> LD_PRELOAD on the target.
Maxime> So no patch should be needed for any packages.

Ok, great.

Quoted 2 lines
Quoted 2 lines

It isn't really rpi specific either.

Maxime> I don't know about that, the author says it's rpi specific.

The optimizations presumably also applies to other ARM11(76) processors with similar memory speed.

Signature · 1 line
Bye, Peter Korsgaard
#5 lore raw

PATCH 1/3 libcofi: new package

Quoted 11 lines · Peter Korsgaard
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Maxime" == Maxime Hadjinlian <[email protected]> writes:

Hi,

Quoted 3 lines
Quoted 3 lines

The package looks ok from a quick look, but how is it supposed to be used? I wouldn't like to see patches to a bunch of packages to link against this.

Maxime> As the author of the package says, the library is used using Maxime> LD_PRELOAD on the target.
Maxime> So no patch should be needed for any packages.

Quoted 8 lines

Ok, great.

Quoted 2 lines
Quoted 2 lines

It isn't really rpi specific either.

Maxime> I don't know about that, the author says it's rpi specific.

The optimizations presumably also applies to other ARM11(76) processors with similar memory speed.

You're absolutely right, if someone as such a platform, it would be great to know if it works or not !

Quoted 3 lines

--
Bye, Peter Korsgaard

#6 lore raw

PATCH 1/3 libcofi: new package

In reply to Maxime Hadjinlian
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Maxime" == Maxime Hadjinlian <[email protected]> writes:

Maxime> replacement for memcpy and memset functionality
Maxime> This package was originally found at : https://github.com/huceke/buildroot-rbp
Maxime> By gimli <[email protected]>

Maxime> Signed-off-by: Maxime Hadjinlian <[email protected]> Maxime> ---

 Maxime>  package/Config.in          |    1 +
 Maxime>  package/libcofi/Config.in  |    8 ++++++++
 Maxime>  package/libcofi/libcofi.mk |   20 ++++++++++++++++++++
 Maxime>  3 files changed, 29 insertions(+)
 Maxime>  create mode 100644 package/libcofi/Config.in
 Maxime>  create mode 100644 package/libcofi/libcofi.mk

Maxime> diff --git a/package/Config.in b/package/Config.in Maxime> index 047af8d..9b50f4b 100644
Maxime> --- a/package/Config.in
Maxime> +++ b/package/Config.in
Maxime> @@ -511,6 +511,7 @@ endmenu

 Maxime>  menu "Other"
 Maxime>  source "package/apr/Config.in"
 Maxime>  source "package/apr-util/Config.in"
 Maxime> +source "package/libcofi/Config.in"
 Maxime>  source "package/classpath/Config.in"
 Maxime>  source "package/fftw/Config.in"
 Maxime>  source "package/libargtable2/Config.in"

Maxime> diff --git a/package/libcofi/Config.in b/package/libcofi/Config.in Maxime> new file mode 100644
Maxime> index 0000000..b900b69
Maxime> --- /dev/null
Maxime> +++ b/package/libcofi/Config.in
Maxime> @@ -0,0 +1,8 @@
Maxime> +config BR2_PACKAGE_LIBCOFI
Maxime> + bool "libcofi"
Maxime> + depends on BR2_arm
Maxime> + help
Maxime> + A replacement for memcpy and memset functionality for the Raspberry Pi

I've word wrapped this and committed, thanks.

Signature · 1 line
Bye, Peter Korsgaard
#7 lore raw

PATCH 2/3 rpi-userland: new package

In reply to Maxime Hadjinlian

Introducing a package to build the userland part of the Raspberry, needed by anyone who would want to build a rootfs for a RaspberryPi.

---
 package/Config.in                                  |    1 +
 package/rpi-userland/Config.in                     |   18 +++++
 ...0002-Test-for-the-existence-of-execinfo-h.patch |   69 ++++++++++++++++++++
 ...make-vmcs.cmake-allow-to-override-VMCS_IN.patch |   26 ++++++++
 package/rpi-userland/rpi-userland.mk               |   20 ++++++
 5 files changed, 134 insertions(+)
 create mode 100644 package/rpi-userland/Config.in
 create mode 100644 package/rpi-userland/rpi-userland-0002-Test-for-the-existence-of-execinfo-h.patch
 create mode 100644 package/rpi-userland/rpi-userland-makefiles-0001-cmake-vmcs.cmake-allow-to-override-VMCS_IN.patch
 create mode 100644 package/rpi-userland/rpi-userland.mk
package/Config.in +1 -0
index 9b50f4b..17205fe 100644
@@ -580,6 +580,7 @@ source "package/collectd/Config.in"
 source "package/empty/Config.in"
 source "package/googlefontdirectory/Config.in"
 source "package/mobile-broadband-provider-info/Config.in"
+source "package/rpi-userland/Config.in"
 source "package/shared-mime-info/Config.in"
 source "package/snowball-init/Config.in"
 source "package/sound-theme-borealis/Config.in"
package/rpi-userland/Config.in new file +18 -0
new file mode 100644
index 0000000..646d74e
@@ -0,0 +1,18 @@
+config BR2_PACKAGE_RPI_USERLAND
+	bool "RaspberryPi userland"
+	depends on BR2_INSTALL_LIBSTDCPP
+	depends on BR2_LARGEFILE
+	help
+	  Raspberry Pi Userland contains the necessary library to use the
+	  VideoCore driver.
+
+	  Includes source for the ARM side code to interface to: 
+	  EGL, mmal, GLESv2, vcos, openmaxil, vchiq_arm, bcm_host, WFC, OpenVG.
+
+	  https://github.com/raspberrypi/userland/
+
+comment "RaspberryPi userland requires a toolchain with C++ support enabled"
+	depends on !BR2_INSTALL_LIBSTDCPP
+
+comment "RaspberryPi userland requires a toolchain with LARGEFILE support"
+	depends on !BR2_LARGEFILE
package/rpi-userland/rpi-userland-0002-Test-for-the-existence-of-execinfo-h.patch new file +69 -0

69 lines not on this page · raw message

package/rpi-userland/rpi-userland-makefiles-0001-cmake-vmcs.cmake-allow-to-override-VMCS_IN.patch new file +26 -0
new file mode 100644
index 0000000..e54d29e
@@ -0,0 +1,26 @@
+From fec2560cfcb8d3398e4f1ccc3de7923365873676 Mon Sep 17 00:00:00 2001
+From: Samuel Martin <[email protected]>
+Date: Sat, 5 Jan 2013 16:04:55 +0100
+Subject: [PATCH] makefiles/cmake/vmcs.cmake: allow to override
+ VMCS_INSTALL_PREFIX
+
+Signed-off-by: Samuel Martin <[email protected]>
+---
+ makefiles/cmake/vmcs.cmake | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/makefiles/cmake/vmcs.cmake b/makefiles/cmake/vmcs.cmake
+index 0f8641b..cc70cca 100644
+--- a/makefiles/cmake/vmcs.cmake
++++ b/makefiles/cmake/vmcs.cmake
+@@ -9,7 +9,7 @@ INCLUDE(CPack)
+ # Where shall we install?
+ if (ANDROID)
+   SET(VMCS_INSTALL_PREFIX "/vendor/brcm/islands" CACHE PATH "Prefix prepended to install directories" FORCE)
+-else()
++elseif(NOT DEFINED VMCS_INSTALL_PREFIX)
+   SET(VMCS_INSTALL_PREFIX "/opt/vc" CACHE PATH "Prefix prepended to install directories" FORCE)
+ endif()
+ 
+-- 
+1.8.1
package/rpi-userland/rpi-userland.mk new file +20 -0
new file mode 100644
index 0000000..ece37d4
@@ -0,0 +1,20 @@
+#############################################################
+#
+# rpi-userland
+#
+#############################################################
+
+RPI_USERLAND_VERSION = 9852ce28826889e50c4d6786b942f51bccccac54
+RPI_USERLAND_SITE = http://github.com/raspberrypi/userland/tarball/master
+RPI_USERLAND_LICENSE = BSD-3c
+RPI_USERLAND_LICENSE_FILE = LICENCE
+RPI_USERLAND_INSTALL_STAGING = YES
+RPI_USERLAND_CONF_OPT = -DVMCS_INSTALL_PREFIX=/usr
+
+define RPI_USERLAND_POST_TARGET_CLEANUP
+    rm -Rf $(TARGET_DIR)/usr/src
+endef
+
+RPI_USERLAND_POST_INSTALL_TARGET_HOOKS += RPI_USERLAND_POST_TARGET_CLEANUP
+
+$(eval $(cmake-package))
Signature · 1 line
1.7.10.4
#8 lore raw

PATCH 2/3 rpi-userland: new package

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Maxime" == Maxime Hadjinlian <[email protected]> writes:

Maxime> Introducing a package to build the userland part of the Raspberry, Maxime> needed by anyone who would want to build a rootfs for a RaspberryPi.

Presumably it isn't REALLY needed, right? Only if you want to use the GPU?

Maxime> Signed-off-by: Maxime Hadjinlian <[email protected]> Maxime> ---

 Maxime>  package/Config.in                                  |    1 +
 Maxime>  package/rpi-userland/Config.in                     |   18 +++++
 Maxime>  ...0002-Test-for-the-existence-of-execinfo-h.patch |   69 ++++++++++++++++++++
 Maxime>  ...make-vmcs.cmake-allow-to-override-VMCS_IN.patch |   26 ++++++++
 Maxime>  package/rpi-userland/rpi-userland.mk               |   20 ++++++
 Maxime>  5 files changed, 134 insertions(+)
 Maxime>  create mode 100644 package/rpi-userland/Config.in
 Maxime>  create mode 100644 package/rpi-userland/rpi-userland-0002-Test-for-the-existence-of-execinfo-h.patch
 Maxime>  create mode 100644 package/rpi-userland/rpi-userland-makefiles-0001-cmake-vmcs.cmake-allow-to-override-VMCS_IN.patch
 Maxime>  create mode 100644 package/rpi-userland/rpi-userland.mk

Maxime> diff --git a/package/Config.in b/package/Config.in Maxime> index 9b50f4b..17205fe 100644
Maxime> --- a/package/Config.in
Maxime> +++ b/package/Config.in
Maxime> @@ -580,6 +580,7 @@ source "package/collectd/Config.in"

 Maxime>  source "package/empty/Config.in"
 Maxime>  source "package/googlefontdirectory/Config.in"
 Maxime>  source "package/mobile-broadband-provider-info/Config.in"

Maxime> +source "package/rpi-userland/Config.in"

I think 'hardware handling' makes more sense, so I've moved it there instead.

 Maxime>  source "package/shared-mime-info/Config.in"
 Maxime>  source "package/snowball-init/Config.in"
 Maxime>  source "package/sound-theme-borealis/Config.in"

Maxime> diff --git a/package/rpi-userland/Config.in b/package/rpi-userland/Config.in Maxime> new file mode 100644
Maxime> index 0000000..646d74e
Maxime> --- /dev/null
Maxime> +++ b/package/rpi-userland/Config.in
Maxime> @@ -0,0 +1,18 @@
Maxime> +config BR2_PACKAGE_RPI_USERLAND
Maxime> + bool "RaspberryPi userland"

We normally keep the name short and lower case, so I've renamed to 'rpi-userland'.

Maxime> + depends on BR2_INSTALL_LIBSTDCPP
Maxime> + depends on BR2_LARGEFILE
Maxime> + help
Maxime> + Raspberry Pi Userland contains the necessary library to use the
Maxime> + VideoCore driver.
Maxime> +
Maxime> + Includes source for the ARM side code to interface to:

Trailing spaces.

Maxime> + EGL, mmal, GLESv2, vcos, openmaxil, vchiq_arm, bcm_host, WFC, OpenVG.
Maxime> +
Maxime> + https://github.com/raspberrypi/userland/
Maxime> +
Maxime> +comment "RaspberryPi userland requires a toolchain with C++ support enabled"
Maxime> + depends on !BR2_INSTALL_LIBSTDCPP
Maxime> +
Maxime> +comment "RaspberryPi userland requires a toolchain with LARGEFILE support"
Maxime> + depends on !BR2_LARGEFILE

I've merged these two comments.

Committed with those changes, thanks.

Signature · 1 line
Bye, Peter Korsgaard
#9 lore raw

PATCH 2/3 rpi-userland: new package

Quoted 7 lines · Peter Korsgaard
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Maxime" == Maxime Hadjinlian <[email protected]> writes:

Maxime> Introducing a package to build the userland part of the Raspberry, Maxime> needed by anyone who would want to build a rootfs for a RaspberryPi.

Presumably it isn't REALLY needed, right? Only if you want to use the GPU?

I actually don't know if you could do without it since the rpi only video output is the HDMI.
I'll have to check about that.

Quoted 68 lines

Maxime> Signed-off-by: Maxime Hadjinlian <[email protected]> Maxime> ---

 Maxime>  package/Config.in                                  |    1 +
 Maxime>  package/rpi-userland/Config.in                     |   18 +++++
 Maxime>  ...0002-Test-for-the-existence-of-execinfo-h.patch |   69 ++++++++++++++++++++
 Maxime>  ...make-vmcs.cmake-allow-to-override-VMCS_IN.patch |   26 ++++++++
 Maxime>  package/rpi-userland/rpi-userland.mk               |   20 ++++++
 Maxime>  5 files changed, 134 insertions(+)
 Maxime>  create mode 100644 package/rpi-userland/Config.in
 Maxime>  create mode 100644 package/rpi-userland/rpi-userland-0002-Test-for-the-existence-of-execinfo-h.patch
 Maxime>  create mode 100644 package/rpi-userland/rpi-userland-makefiles-0001-cmake-vmcs.cmake-allow-to-override-VMCS_IN.patch
 Maxime>  create mode 100644 package/rpi-userland/rpi-userland.mk

Maxime> diff --git a/package/Config.in b/package/Config.in Maxime> index 9b50f4b..17205fe 100644
Maxime> --- a/package/Config.in
Maxime> +++ b/package/Config.in
Maxime> @@ -580,6 +580,7 @@ source "package/collectd/Config.in"

 Maxime>  source "package/empty/Config.in"
 Maxime>  source "package/googlefontdirectory/Config.in"
 Maxime>  source "package/mobile-broadband-provider-info/Config.in"

Maxime> +source "package/rpi-userland/Config.in"

I think 'hardware handling' makes more sense, so I've moved it there instead.

 Maxime>  source "package/shared-mime-info/Config.in"
 Maxime>  source "package/snowball-init/Config.in"
 Maxime>  source "package/sound-theme-borealis/Config.in"

Maxime> diff --git a/package/rpi-userland/Config.in b/package/rpi-userland/Config.in Maxime> new file mode 100644
Maxime> index 0000000..646d74e
Maxime> --- /dev/null
Maxime> +++ b/package/rpi-userland/Config.in
Maxime> @@ -0,0 +1,18 @@
Maxime> +config BR2_PACKAGE_RPI_USERLAND
Maxime> + bool "RaspberryPi userland"

We normally keep the name short and lower case, so I've renamed to 'rpi-userland'.

 Maxime> +      depends on BR2_INSTALL_LIBSTDCPP
 Maxime> +      depends on BR2_LARGEFILE
 Maxime> +      help

Maxime> + Raspberry Pi Userland contains the necessary library to use the
Maxime> + VideoCore driver.
Maxime> +
Maxime> + Includes source for the ARM side code to interface to:

Trailing spaces.

Maxime> + EGL, mmal, GLESv2, vcos, openmaxil, vchiq_arm, bcm_host, WFC, OpenVG.
Maxime> +
Maxime> + https://github.com/raspberrypi/userland/
Maxime> +
Maxime> +comment "RaspberryPi userland requires a toolchain with C++ support enabled"
Maxime> + depends on !BR2_INSTALL_LIBSTDCPP
Maxime> +
Maxime> +comment "RaspberryPi userland requires a toolchain with LARGEFILE support"
Maxime> + depends on !BR2_LARGEFILE

I've merged these two comments.

Committed with those changes, thanks.

--
Bye, Peter Korsgaard

#10 lore raw

PATCH 2/3 rpi-userland: new package

Maxime, All,

Quoted 11 lines · On Sunday 06 January 2013 Maxime Hadjinlian wrote:
Quoted 7 lines · Peter Korsgaard
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Maxime" == Maxime Hadjinlian <[email protected]> writes:

Maxime> Introducing a package to build the userland part of the Raspberry, Maxime> needed by anyone who would want to build a rootfs for a RaspberryPi.

Presumably it isn't REALLY needed, right? Only if you want to use the GPU?

I actually don't know if you could do without it since the rpi only video output is the HDMI.
I'll have to check about that.

I am running one rpi headless, so I don't need the GPU-related userland on this rpi.

It is needed only if you plan on doing graphics, so it is not strictly /required/ per-se.

Regards,
Yann E. MORIN.

Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#11 lore raw

PATCH 2/3 rpi-userland: new package

Quoted 15 lines · Yann E. MORIN

Maxime, All,

Quoted 11 lines · On Sunday 06 January 2013 Maxime Hadjinlian wrote:
Quoted 7 lines · Peter Korsgaard
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Maxime" == Maxime Hadjinlian <[email protected]> writes:

Maxime> Introducing a package to build the userland part of the Raspberry, Maxime> needed by anyone who would want to build a rootfs for a RaspberryPi.

Presumably it isn't REALLY needed, right? Only if you want to use the GPU?

I actually don't know if you could do without it since the rpi only video output is the HDMI.
I'll have to check about that.

Quoted 5 lines

I am running one rpi headless, so I don't need the GPU-related userland on this rpi.

It is needed only if you plan on doing graphics, so it is not strictly /required/ per-se.

You're totally right.

Quoted 12 lines

Regards,
Yann E. MORIN.

--
.-----------------.--------------------.------------------.--------------------.

|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |

'------------------------------^-------^------------------^--------------------'

#12 lore raw

PATCH 2/3 rpi-userland: new package

In reply to Maxime Hadjinlian
Quoted 8 lines · Maxime Hadjinlian

Maxime> Introducing a package to build the userland part of the Raspberry, Maxime> needed by anyone who would want to build a rootfs for a RaspberryPi.

Presumably it isn't REALLY needed, right? Only if you want to use the GPU?
I actually don't know if you could do without it since the rpi only video output is the HDMI.
I'll have to check about that.

You can do fine without.
Normal unaccelerated framebuffer output does not require those userland libraries at all.

Only needed for applications that require GPU accelerated OpenGL ES, OpenMAX, OpenVG libraries, or if you want to play with HDMI CEC (using a normal TV remote as input device).

Yours sincerely,

Floris Bos

#13 lore raw

PATCH 2/3 rpi-userland: new package

In reply to Maxime Hadjinlian
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Maxime" == Maxime Hadjinlian <[email protected]> writes:

Maxime> +++ b/package/rpi-userland/Config.in
Maxime> @@ -0,0 +1,18 @@
Maxime> +config BR2_PACKAGE_RPI_USERLAND
Maxime> + bool "RaspberryPi userland"
Maxime> + depends on BR2_INSTALL_LIBSTDCPP
Maxime> + depends on BR2_LARGEFILE

Ohh, and you forgot the 'depends on BR2_arm' - I've added it.

Signature · 1 line
Bye, Peter Korsgaard
#14 lore raw

PATCH 2/3 rpi-userland: new package

2013/1/6 Peter Korsgaard <[email protected]>:

Quoted 10 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Maxime" == Maxime Hadjinlian <[email protected]> writes:

Maxime> +++ b/package/rpi-userland/Config.in
Maxime> @@ -0,0 +1,18 @@
Maxime> +config BR2_PACKAGE_RPI_USERLAND

 Maxime> +      bool "RaspberryPi userland"
 Maxime> +      depends on BR2_INSTALL_LIBSTDCPP
 Maxime> +      depends on BR2_LARGEFILE

Ohh, and you forgot the 'depends on BR2_arm' - I've added it.

Argh.
Thanks for all your fixes

Quoted 3 lines

--
Bye, Peter Korsgaard

#15 lore raw

PATCH 3/3 rpi-firmware: New package

In reply to Maxime Hadjinlian

Introducing a package to install pre-built binaries for the bootloader and the GPU firmware for the RaspberryPi board.

---
 package/Config.in                    |    1 +
 package/rpi-firmware/Config.in       |    9 +++++++++
 package/rpi-firmware/config.txt      |   13 +++++++++++++
 package/rpi-firmware/rpi-firmware.mk |   21 +++++++++++++++++++++
 4 files changed, 44 insertions(+)
 create mode 100644 package/rpi-firmware/Config.in
 create mode 100644 package/rpi-firmware/config.txt
 create mode 100644 package/rpi-firmware/rpi-firmware.mk
package/Config.in +1 -0
index 17205fe..30c39ac 100644
@@ -202,6 +202,7 @@ menu "Hardware handling"
 menu "Misc devices firmwares"
 source "package/b43-firmware/Config.in"
 source "package/linux-firmware/Config.in"
+source "package/rpi-firmware/Config.in"
 source "package/ux500-firmware/Config.in"
 source "package/zd1211-firmware/Config.in"
 endmenu
package/rpi-firmware/Config.in new file +9 -0
new file mode 100644
index 0000000..5723dea
@@ -0,0 +1,9 @@
+config BR2_PACKAGE_RPI_FIRMWARE
+	bool "RaspberryPi Firmware"
+	depends on BR2_arm
+	help
+	  RaspberryPi Firmware
+	  Pre-compiled binaries of the current bootloader and GPU firmware
+
+	  https://github.com/raspberrypi/firmware
+
package/rpi-firmware/config.txt new file +13 -0
new file mode 100644
index 0000000..14d320d
@@ -0,0 +1,13 @@
+# Please note that this is only a sample, we recommend you to change it to fit
+# your needs.
+# You should override this file using a post-build script.
+# See http://buildroot.uclibc.org/downloads/manual/manual.html#rootfs-custom 
+
+arm_freq=700
+core_freq=250
+disable_overscan=1
+gpu_mem_256=100
+gpu_mem_512=100
+sdram_freq=400
+over_voltage=0
+cmdline="dwc_otg.fiq_fix_enable=1 sdhci-bcm2708.sync_after_dma=0 dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait"
package/rpi-firmware/rpi-firmware.mk new file +21 -0
new file mode 100644
index 0000000..5a65e34
@@ -0,0 +1,21 @@
+#############################################################
+#
+# rpi-firmware
+#
+#############################################################
+
+RPI_FIRMWARE_VERSION = 76d0ac38f16b6343c6155c80db1e4758b3a5838a
+RPI_FIRMWARE_SITE = http://github.com/raspberrypi/firmware/tarball/master
+RPI_FIRMWARE_LICENSE = BSD-3c
+RPI_FIRMWARE_LICENSE_FILE = boot/LICENCE.broadcom
+
+define RPI_FIRMWARE_INSTALL_TARGET_CMDS
+	$(INSTALL) -D -m 0644 $(@D)/boot/bootcode.bin $(BINARIES_DIR)/rpi-firmware/bootcode.bin
+	$(INSTALL) -D -m 0644 $(@D)/boot/start.elf $(BINARIES_DIR)/rpi-firmware/start.elf
+	$(INSTALL) -D -m 0644 $(@D)/boot/start_cd.elf $(BINARIES_DIR)/rpi-firmware/start_cd.elf
+	$(INSTALL) -D -m 0644 $(@D)/boot/fixup.dat $(BINARIES_DIR)/rpi-firmware/fixup.dat
+	$(INSTALL) -D -m 0644 $(@D)/boot/fixup_cd.dat $(BINARIES_DIR)/rpi-firmware/fixup_cd.dat
+	$(INSTALL) -D -m 0644 package/rpi-firmware/config.txt $(BINARIES_DIR)/rpi-firmware/config.txt
+endef
+
+$(eval $(generic-package))
Signature · 1 line
1.7.10.4
#16 lore raw

PATCH 3/3 rpi-firmware: New package

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Maxime" == Maxime Hadjinlian <[email protected]> writes:

Maxime> Introducing a package to install pre-built binaries for the bootloader and the Maxime> GPU firmware for the RaspberryPi board.

Maxime> Signed-off-by: Maxime Hadjinlian <[email protected]> Maxime> ---

 Maxime>  package/Config.in                    |    1 +
 Maxime>  package/rpi-firmware/Config.in       |    9 +++++++++
 Maxime>  package/rpi-firmware/config.txt      |   13 +++++++++++++
 Maxime>  package/rpi-firmware/rpi-firmware.mk |   21 +++++++++++++++++++++
 Maxime>  4 files changed, 44 insertions(+)
 Maxime>  create mode 100644 package/rpi-firmware/Config.in
 Maxime>  create mode 100644 package/rpi-firmware/config.txt
 Maxime>  create mode 100644 package/rpi-firmware/rpi-firmware.mk

Maxime> diff --git a/package/Config.in b/package/Config.in Maxime> index 17205fe..30c39ac 100644
Maxime> --- a/package/Config.in
Maxime> +++ b/package/Config.in
Maxime> @@ -202,6 +202,7 @@ menu "Hardware handling"

 Maxime>  menu "Misc devices firmwares"
 Maxime>  source "package/b43-firmware/Config.in"
 Maxime>  source "package/linux-firmware/Config.in"
 Maxime> +source "package/rpi-firmware/Config.in"
 Maxime>  source "package/ux500-firmware/Config.in"
 Maxime>  source "package/zd1211-firmware/Config.in"
 Maxime>  endmenu

Maxime> diff --git a/package/rpi-firmware/Config.in b/package/rpi-firmware/Config.in Maxime> new file mode 100644
Maxime> index 0000000..5723dea
Maxime> --- /dev/null
Maxime> +++ b/package/rpi-firmware/Config.in
Maxime> @@ -0,0 +1,9 @@
Maxime> +config BR2_PACKAGE_RPI_FIRMWARE
Maxime> + bool "RaspberryPi Firmware"

Same as for userland, I've renamed this to 'rpi-firmware'

Maxime> +++ b/package/rpi-firmware/config.txt
Maxime> @@ -0,0 +1,13 @@
Maxime> +# Please note that this is only a sample, we recommend you to change it to fit Maxime> +# your needs.
Maxime> +# You should override this file using a post-build script. Maxime> +# See http://buildroot.uclibc.org/downloads/manual/manual.html#rootfs-custom

Trailing spaces. I've changed it to buildroot.org to have a bit shorter URL and added a comment explaining that the config.txt format is described at http://elinux.org/RPiconfig

Committed with those changes, thanks.

It would be good to see a rpi_defconfig as well.

Signature · 1 line
Bye, Peter Korsgaard
#17 lore raw

PATCH 3/3 rpi-firmware: New package

Quoted 46 lines · Peter Korsgaard
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Maxime" == Maxime Hadjinlian <[email protected]> writes:

Maxime> Introducing a package to install pre-built binaries for the bootloader and the Maxime> GPU firmware for the RaspberryPi board.

Maxime> Signed-off-by: Maxime Hadjinlian <[email protected]> Maxime> ---

 Maxime>  package/Config.in                    |    1 +
 Maxime>  package/rpi-firmware/Config.in       |    9 +++++++++
 Maxime>  package/rpi-firmware/config.txt      |   13 +++++++++++++
 Maxime>  package/rpi-firmware/rpi-firmware.mk |   21 +++++++++++++++++++++
 Maxime>  4 files changed, 44 insertions(+)
 Maxime>  create mode 100644 package/rpi-firmware/Config.in
 Maxime>  create mode 100644 package/rpi-firmware/config.txt
 Maxime>  create mode 100644 package/rpi-firmware/rpi-firmware.mk

Maxime> diff --git a/package/Config.in b/package/Config.in Maxime> index 17205fe..30c39ac 100644
Maxime> --- a/package/Config.in
Maxime> +++ b/package/Config.in
Maxime> @@ -202,6 +202,7 @@ menu "Hardware handling"

 Maxime>  menu "Misc devices firmwares"
 Maxime>  source "package/b43-firmware/Config.in"
 Maxime>  source "package/linux-firmware/Config.in"
 Maxime> +source "package/rpi-firmware/Config.in"
 Maxime>  source "package/ux500-firmware/Config.in"
 Maxime>  source "package/zd1211-firmware/Config.in"
 Maxime>  endmenu

Maxime> diff --git a/package/rpi-firmware/Config.in b/package/rpi-firmware/Config.in Maxime> new file mode 100644
Maxime> index 0000000..5723dea
Maxime> --- /dev/null
Maxime> +++ b/package/rpi-firmware/Config.in
Maxime> @@ -0,0 +1,9 @@
Maxime> +config BR2_PACKAGE_RPI_FIRMWARE
Maxime> + bool "RaspberryPi Firmware"

Same as for userland, I've renamed this to 'rpi-firmware'

Maxime> +++ b/package/rpi-firmware/config.txt
Maxime> @@ -0,0 +1,13 @@
Maxime> +# Please note that this is only a sample, we recommend you to change it to fit Maxime> +# your needs.
Maxime> +# You should override this file using a post-build script. Maxime> +# See http://buildroot.uclibc.org/downloads/manual/manual.html#rootfs-custom

Quoted 7 lines

Trailing spaces. I've changed it to buildroot.org to have a bit shorter URL and added a comment explaining that the config.txt format is described at http://elinux.org/RPiconfig

Committed with those changes, thanks.

It would be good to see a rpi_defconfig as well.

Yes, I'll send one tomorrow.

Quoted 3 lines

--
Bye, Peter Korsgaard