Skip to contentSkip to conversation

Pull request for branch yem-misc-updates

GIT PULL New Yann E. MORIN 3 participants 17 messages Jun 3, 2013 – Jun 6, 2013

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

From: "Yann E. MORIN" <[email protected]>

Hello All!

Here are a few version bumps related to the Raspberry Pi:
- rpi_defconfig: bump kernel (many fixes, improvements)
- linux-firmware: bump (new firmware files for WiFi dongles)
- rpi-firmware: bump (new codecs, mostly)
- rpi-firmware: select firmware(s) to install

Also, promote genext2fs as a host-package, too, like we have for other filesystem generators.

Notes only slightly related to this series:

For the Linux kernel for the RPi, there are a few branches available in the raspbberypi repository:
- rpi-3.6.y: that branch seems stable, and I just bump to the latest cset in that branch
- rpi-3.8.y: I've expereienced many MMC errors using that branch
- rpi-3.9.y: ditto, many MMC errors

However, with a RAM-based rootfs (eg. initramfs) or a network rootfs (eg. NFS), it might be possible to reliably use those two last branches, as long as the SDcard is not used.

Booting one of those two branches with the rpi-firmware currently packaged in Buildroot fails, so it seems we first need to update rpi-firmware before switching to rpi-3.{8,9}.y.

I'll report back on any improvement in this area.

Regards,
Yann E. MORIN

The following changes since commit 7672b1235d8f786938af66068c1c1da8a766bb38:

gnutls: wchar only needed for tools (2013-06-03 17:27:00 +0200)

are available in the git repository at:

git://gitorious.org/buildroot/buildroot.git yem-misc-updates

for you to fetch changes up to a72081fb5d6b38ae6a661e2777003e4dd109e18c:

package/rpi-firmware: update (2013-06-03 20:01:21 +0200)

----------------------------------------------------------------
Yann E. MORIN (6):
package/tvheadend: update to a git snapshot package/linux-firmware: bump version for new firmware package/genext2fs: add host variant
boards/rpi: bump kernel
package/rpi-firmware: add options to select what firmware to install package/rpi-firmware: update

 board/raspberrypi/readme.txt                       | 12 ++---
 configs/rpi_defconfig                              |  2 +-
 fs/ext2/Config.in                                  |  1 +
 package/Config.in.host                             |  1 +
 package/genext2fs/Config.in.host                   |  9 ++++
 package/linux-firmware/Config.in                   | 12 ++---
 package/linux-firmware/linux-firmware.mk           | 15 +++---
 package/rpi-firmware/Config.in                     | 55 ++++++++++++++++++++++
 package/rpi-firmware/cmdline.txt                   |  1 +
 package/rpi-firmware/config.txt                    |  1 -
 package/rpi-firmware/rpi-firmware.mk               | 25 ++++++++--
 .../tvheadend-001-no-auto-download-dvbscans.patch  | 13 +++--
 .../tvheadend/tvheadend-002-no-check_config.patch  |  4 +-
 package/tvheadend/tvheadend.mk                     |  4 +-
 14 files changed, 117 insertions(+), 38 deletions(-)
 create mode 100644 package/genext2fs/Config.in.host
 create mode 100644 package/rpi-firmware/cmdline.txt
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.  |
'------------------------------^-------^------------------^--------------------'
#1 lore raw

PATCH 1/6 package/tvheadend: update to a git snapshot

From: "Yann E. MORIN" <[email protected]>

There are a buncha fixes that are not available in a release yet.

Needs refreshing our patches.

---
 .../tvheadend/tvheadend-001-no-auto-download-dvbscans.patch | 13 ++++++-------
 package/tvheadend/tvheadend-002-no-check_config.patch       |  4 ++--
 package/tvheadend/tvheadend.mk                              |  4 ++--
 3 files changed, 10 insertions(+), 11 deletions(-)
package/tvheadend/tvheadend-001-no-auto-download-dvbscans.patch +6 -7
index cc25c56..b64627e 100644
@@ -11,13 +11,13 @@ Signed-off-by: "Yann E. MORIN" <[email protected]>
 diff -durN tvheadend-v3.5.orig/configure tvheadend-v3.5/configure
 --- tvheadend-v3.5.orig/configure	2013-02-15 14:41:26.000000000 +0100
 +++ tvheadend-v3.5/configure	2013-02-16 15:41:16.675556099 +0100
-@@ -178,15 +178,16 @@
+@@ -179,15 +179,16 @@
  #
  # DVB scan
  #
 -if enabled linuxdvb && enabled dvbscan; then
 -  printf "${TAB}" "fetching dvb-scan files ..."
--  ${ROOTDIR}/support/getmuxlist
+-  "${ROOTDIR}/support/getmuxlist"
 -  if [ $? -ne 0 ]; then
 -    echo "fail"
 -    die "Failed to fetch dvb-scan data (use --disable-dvbscan)"
@@ -27,7 +27,7 @@ diff -durN tvheadend-v3.5.orig/configure tvheadend-v3.5/configure
 +# For buildroot, we already installed those files via the dvb-apps package
 +#if enabled linuxdvb && enabled dvbscan; then
 +#  printf "${TAB}" "fetching dvb-scan files ..."
-+#  ${ROOTDIR}/support/getmuxlist
++#  "${ROOTDIR}/support/getmuxlist"
 +#  if [ $? -ne 0 ]; then
 +#    echo "fail"
 +#    die "Failed to fetch dvb-scan data (use --disable-dvbscan)"
@@ -37,11 +37,10 @@ diff -durN tvheadend-v3.5.orig/configure tvheadend-v3.5/configure
  
  # ###########################################################################
  # Write config
-Binary files tvheadend-v3.5.orig/.configure.swp and tvheadend-v3.5/.configure.swp differ
 diff -durN tvheadend-v3.5.orig/Makefile tvheadend-v3.5/Makefile
 --- tvheadend-v3.5.orig/Makefile	2013-02-15 14:41:26.000000000 +0100
 +++ tvheadend-v3.5/Makefile	2013-02-16 15:41:38.218821287 +0100
-@@ -207,7 +207,7 @@
+@@ -211,7 +211,7 @@
  SRCS-${CONFIG_BUNDLE}     += bundle.c
  BUNDLES-yes               += docs/html docs/docresources src/webui/static
  BUNDLES-yes               += data/conf
@@ -62,5 +61,5 @@ diff -durN tvheadend-v3.5.orig/support/posix.mk tvheadend-v3.5/support/posix.mk
 +	ln -sf /usr/share/dvb ${DESTDIR}${datadir}/tvheadend/data/dvb-scan
 +
  uninstall:
- 	rm -f ${DESTDIR}${bindir)/tvheadend
- 	rm -f ${DESTDIR}${mandir)/tvheadend.1
+ 	rm -f ${DESTDIR}${bindir}/tvheadend
+ 	rm -f ${DESTDIR}${mandir}/tvheadend.1
package/tvheadend/tvheadend-002-no-check_config.patch +2 -2
index a0edcdc..aad04e5 100644
@@ -12,8 +12,8 @@ Signed-off-by: "Yann E. MORIN" <[email protected]>
 diff -durN tvheadend-v3.5.orig/Makefile tvheadend-v3.5/Makefile
 --- tvheadend-v3.5.orig/Makefile	2013-02-17 15:15:03.228749505 +0100
 +++ tvheadend-v3.5/Makefile	2013-02-17 15:15:51.591923062 +0100
-@@ -246,7 +246,7 @@
- 	$(CURDIR)/configure $(CONFIGURE_ARGS)
+@@ -250,7 +250,7 @@
+ 	$(ROOTDIR)/configure $(CONFIGURE_ARGS)
  
  # Binary
 -${PROG}: check_config $(OBJS) $(ALLDEPS)
package/tvheadend/tvheadend.mk +2 -2
index 58965d6..5ddcd75c 100644
@@ -4,8 +4,8 @@
 #
 ##############################################################
 
-TVHEADEND_VERSION           = v3.5
-TVHEADEND_SITE              = http://github.com/tvheadend/tvheadend/tarball/$(TVHEADEND_VERSION)
+TVHEADEND_VERSION           = 5513b44
+TVHEADEND_SITE              = git://github.com/tvheadend/tvheadend.git
 TVHEADEND_LICENSE           = GPLv3+
 TVHEADEND_LICENSE_FILES     = LICENSE
 TVHEADEND_DEPENDENCIES      = host-pkgconf host-python openssl
Signature · 1 line
1.8.1.2
#2 lore raw

PATCH 1/6 package/tvheadend: update to a git snapshot

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

"Yann" == Yann E MORIN <[email protected]> writes:

Yann> From: "Yann E. MORIN" <[email protected]>
Yann> There are a buncha fixes that are not available in a release yet.

Yann> Needs refreshing our patches.

Committed, thanks.

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

PATCH 2/6 package/linux-firmware: bump version for new firmware

In reply to Yann E. MORIN

From: "Yann E. MORIN" <[email protected]>

Bump version to get a few new firmware files for some WiFi adapters.

In the rtl81xx familly, it's hard to differentiate each members: I have a USB stick that identifies itself as TRL8188CUS, but is handled by the rtl8192ce driver. So I moved all of rtl81xx firmwares under the same option to avoid confusion.

It will be the responsibility of the user to eventually get rid of unwanted firmware files in a post-build script, if needed.

Ditto for rtl87xx.

---
 package/linux-firmware/Config.in         | 12 ++++++------
 package/linux-firmware/linux-firmware.mk | 15 +++++++++------
 2 files changed, 15 insertions(+), 12 deletions(-)
package/linux-firmware/Config.in +6 -6
index 9998f22..d9bb095 100644
@@ -61,15 +61,15 @@ config BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT2XX
 	help
 	  Ralink rt27xx/rt28xx/rt30xx
 
-config BR2_PACKAGE_LINUX_FIRMWARE_RTL_8192
-	bool "Realtek 8192"
+config BR2_PACKAGE_LINUX_FIRMWARE_RTL_81XX
+	bool "Realtek 81xx"
 	help
-	  Realtek 8192
+	  Realtek 8188/8192
 
-config BR2_PACKAGE_LINUX_FIRMWARE_RTL_8712
-	bool "Realtek 8712"
+config BR2_PACKAGE_LINUX_FIRMWARE_RTL_87XX
+	bool "Realtek 87xx"
 	help
-	  Realtek 8712
+	  Realtek 8712/8723
 
 config BR2_PACKAGE_LINUX_FIRMWARE_TI_WL127X
 	bool "TI wl127X"
package/linux-firmware/linux-firmware.mk +9 -6
index 0cb08b4..0ba2b82 100644
@@ -4,7 +4,7 @@
 #
 #############################################################
 
-LINUX_FIRMWARE_VERSION = 65a5163b8bb77bd7759efa3ca780867fcaed89b0
+LINUX_FIRMWARE_VERSION = 07ea598af5b9dde3acdf279846b062fa1b2987b8
 LINUX_FIRMWARE_SITE = http://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
 LINUX_FIRMWARE_SITE_METHOD = git
 
@@ -22,16 +22,19 @@ LINUX_FIRMWARE_FILES_$(BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT2XX) += \
 	rt2860.bin rt2870.bin rt3070.bin rt3071.bin rt3090.bin 	\
 	LICENCE.ralink-firmware.txt
 
-# rtl8192
-LINUX_FIRMWARE_FILES_$(BR2_PACKAGE_LINUX_FIRMWARE_RTL_8192) += \
+# rtl81xx
+LINUX_FIRMWARE_FILES_$(BR2_PACKAGE_LINUX_FIRMWARE_RTL_81XX) += \
 	rtlwifi/rtl8192cfw.bin rtlwifi/rtl8192cfwU.bin 		\
 	rtlwifi/rtl8192cfwU_B.bin rtlwifi/rtl8192cufw.bin	\
 	rtlwifi/rtl8192defw.bin rtlwifi/rtl8192sefw.bin		\
+	rtlwifi/rtl8188efw.bin					\
 	LICENCE.rtlwifi_firmware.txt
 
-# rtl8712
-LINUX_FIRMWARE_FILES_$(BR2_PACKAGE_LINUX_FIRMWARE_RTL_8712) += \
-	rtlwifi/rtl8712u.bin LICENCE.rtlwifi_firmware.txt
+# rtl87xx
+LINUX_FIRMWARE_FILES_$(BR2_PACKAGE_LINUX_FIRMWARE_RTL_87XX) += \
+	rtlwifi/rtl8712u.bin rtlwifi/rtl8723fw.bin		\
+	rtlwifi/rtl8723fw_B.bin					\
+	LICENCE.rtlwifi_firmware.txt
 
 # ar7010
 LINUX_FIRMWARE_FILES_$(BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_7010) += \
Signature · 1 line
1.8.1.2
#4 lore raw

PATCH 2/6 package/linux-firmware: bump version for new firmware

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

"Yann" == Yann E MORIN <[email protected]> writes:

Yann> From: "Yann E. MORIN" <[email protected]>
Yann> Bump version to get a few new firmware files for some WiFi adapters.

Yann> In the rtl81xx familly, it's hard to differentiate each members: I have Yann> a USB stick that identifies itself as TRL8188CUS, but is handled by the Yann> rtl8192ce driver. So I moved all of rtl81xx firmwares under the same Yann> option to avoid confusion.

Yann> It will be the responsibility of the user to eventually get rid of Yann> unwanted firmware files in a post-build script, if needed.

Yann> Ditto for rtl87xx.

Committed, thanks.

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

PATCH 2/6 package/linux-firmware: bump version for new firmware

In reply to Yann E. MORIN

Dear Yann E. MORIN,

Quoted 5 lines · Yann E. MORIN
package/linux-firmware/Config.in +2 -2
-config BR2_PACKAGE_LINUX_FIRMWARE_RTL_8192
-	bool "Realtek 8192"
+config BR2_PACKAGE_LINUX_FIRMWARE_RTL_81XX
+	bool "Realtek 81xx"
 	help

package/linux-firmware/Config.in config BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT2XX · line 72

Quoted 10 lines
package/linux-firmware/Config.in +4 -4
-	  Realtek 8192
+	  Realtek 8188/8192
 
-config BR2_PACKAGE_LINUX_FIRMWARE_RTL_8712
-	bool "Realtek 8712"
+config BR2_PACKAGE_LINUX_FIRMWARE_RTL_87XX
+	bool "Realtek 87xx"
 	help
-	  Realtek 8712
+	  Realtek 8712/8723

Warning, warning, warning: renaming of Kconfig options without Config.in.legacy updates!

I must say I'm proud to be the one who mentions that, even after Peter reviewed and committed the patch :-)

Best regards,

Thomas

Signature · 4 lines
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
#6 lore raw

PATCH 2/6 package/linux-firmware: bump version for new firmware

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

"Thomas" == Thomas Petazzoni <[email protected]> writes:

Thomas> Dear Yann E. MORIN,

Quoted 8 lines · Yann E. MORIN
Quoted 8 lines
package/linux-firmware/Config.in +2 -2
-config BR2_PACKAGE_LINUX_FIRMWARE_RTL_8192
-	bool "Realtek 8192"
+config BR2_PACKAGE_LINUX_FIRMWARE_RTL_81XX
+	bool "Realtek 81xx"

help

package/linux-firmware/Config.in +1 -1
-	  Realtek 8192
+	  Realtek 8188/8192
Quoted 7 lines

package/linux-firmware/Config.in config BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT2XX · line 72

Quoted 7 lines
package/linux-firmware/Config.in +2 -2
-config BR2_PACKAGE_LINUX_FIRMWARE_RTL_8712
-	bool "Realtek 8712"
+config BR2_PACKAGE_LINUX_FIRMWARE_RTL_87XX
+	bool "Realtek 87xx"

help

package/linux-firmware/Config.in +1 -1
-	  Realtek 8712
+	  Realtek 8712/8723

Thomas> Warning, warning, warning: renaming of Kconfig options without Thomas> Config.in.legacy updates!

Thomas> I must say I'm proud to be the one who mentions that, even after Peter Thomas> reviewed and committed the patch :-)

Gaah, I even thought about it when I saw it, but then forgot about it again.

Yann, will you send a patch adding Config.in.legacy handling for the old names?

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

PATCH 2/6 package/linux-firmware: bump version for new firmware

Thomas, Peter, All,

Quoted 13 lines · On Tuesday 04 June 2013 09:25:05 Peter Korsgaard wrote:
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Thomas" == Thomas Petazzoni <[email protected]> writes:

Thomas> Dear Yann E. MORIN,

Quoted 8 lines · Yann E. MORIN
Quoted 8 lines
package/linux-firmware/Config.in +2 -2
-config BR2_PACKAGE_LINUX_FIRMWARE_RTL_8192
-	bool "Realtek 8192"
+config BR2_PACKAGE_LINUX_FIRMWARE_RTL_81XX
+	bool "Realtek 81xx"

help

package/linux-firmware/Config.in +1 -1
-	  Realtek 8192
+	  Realtek 8188/8192
Quoted 10 lines
Quoted 7 lines

package/linux-firmware/Config.in config BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT2XX · line 72

Quoted 7 lines
package/linux-firmware/Config.in +2 -2
-config BR2_PACKAGE_LINUX_FIRMWARE_RTL_8712
-	bool "Realtek 8712"
+config BR2_PACKAGE_LINUX_FIRMWARE_RTL_87XX
+	bool "Realtek 87xx"

help

package/linux-firmware/Config.in +1 -1
-	  Realtek 8712
+	  Realtek 8712/8723

Thomas> Warning, warning, warning: renaming of Kconfig options without Thomas> Config.in.legacy updates!

Gahhh... :-(
I even thought about it at the time, and just forgot... :-(

Quoted 8 lines

Thomas> I must say I'm proud to be the one who mentions that, even after Peter Thomas> reviewed and committed the patch :-)

Gaah, I even thought about it when I saw it, but then forgot about it again.

Yann, will you send a patch adding Config.in.legacy handling for the old names?

Yes, this evening, when back at home.

Regards,
Yann E. MORIN.

Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +0/33 662376056 | Software  Designer | \ / CAMPAIGN     |   ^                |
| --==< O_o >==-- '------------.-------:  X  AGAINST      |  /e\  There is no  |
| http://ymorin.is-a-geek.org/ | (*_*) | / \ HTML MAIL    |  """  conspiracy.  |
'------------------------------'-------'------------------'--------------------'
#8 lore raw

PATCH 3/6 package/genext2fs: add host variant

In reply to Yann E. MORIN

From: "Yann E. MORIN" <[email protected]>

genext2fs is built only if the user selected an ext2 root filesystem.

However, some use-cases can't live with the full target/ dir on the root filesystem, and requires separate partitions (eg. for /usr). In this case, the user would not select an ext2 root fs in the Buildrooot menu, and would only generate a tarball of the rootfs. This tarball would then be used from a post-image script to build the actual required FSes.

But then, genext2fs is not built, since the ext2 root FS was not selected.

As for the other filesystem generators, provide a host variant of genext2fs (genext2fs is already host-package aware, so only needs adding a Kconfig entry).

---
 fs/ext2/Config.in                | 1 +
 package/Config.in.host           | 1 +
 package/genext2fs/Config.in.host | 9 +++++++++
 3 files changed, 11 insertions(+)
 create mode 100644 package/genext2fs/Config.in.host
fs/ext2/Config.in +1 -0
index e75ef54..c26482f 100644
@@ -1,5 +1,6 @@
 config BR2_TARGET_ROOTFS_EXT2
 	bool "ext2/3/4 root filesystem"
+	select BR2_PACKAGE_HOST_GENEXT2FS
 	select BR2_PACKAGE_HOST_E2FSPROGS
 	help
 	  Build an ext2/3/4 root filesystem
package/Config.in.host +1 -0
index 54178ea..5fd2570 100644
@@ -3,6 +3,7 @@ menu "Host utilities"
 source "package/dfu-util/Config.in.host"
 source "package/dosfstools/Config.in.host"
 source "package/e2fsprogs/Config.in.host"
+source "package/genext2fs/Config.in.host"
 source "package/genimage/Config.in.host"
 source "package/genpart/Config.in.host"
 source "package/lpc3250loader/Config.in.host"
package/genext2fs/Config.in.host new file +9 -0
new file mode 100644
index 0000000..a03e16b
@@ -0,0 +1,9 @@
+config BR2_PACKAGE_HOST_GENEXT2FS
+	bool "host genext2fs"
+	help
+	  genext2fs generates an ext2 filesystem as a normal (non-root)
+	  user.  It does not require you to mount the image file to
+	  copy files on it, nor does it require that you become the
+	  superuser to make device nodes.
+
+	  http://genext2fs.sourceforge.net/
Signature · 1 line
1.8.1.2
#9 lore raw

PATCH 3/6 package/genext2fs: add host variant

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

"Yann" == Yann E MORIN <[email protected]> writes:

Yann> From: "Yann E. MORIN" <[email protected]>
Yann> genext2fs is built only if the user selected an ext2 root filesystem.

Yann> However, some use-cases can't live with the full target/ dir on the Yann> root filesystem, and requires separate partitions (eg. for /usr). Yann> In this case, the user would not select an ext2 root fs in the Yann> Buildrooot menu, and would only generate a tarball of the rootfs. Yann> This tarball would then be used from a post-image script to build Yann> the actual required FSes.

Yann> But then, genext2fs is not built, since the ext2 root FS was not Yann> selected.

Yann> As for the other filesystem generators, provide a host variant of Yann> genext2fs (genext2fs is already host-package aware, so only needs Yann> adding a Kconfig entry).

Committed, thanks.

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

PATCH 4/6 boards/rpi: bump kernel

In reply to Yann E. MORIN

From: "Yann E. MORIN" <[email protected]>

---
 configs/rpi_defconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
configs/rpi_defconfig +1 -1
index 96f63ba..e3d0a79 100644
@@ -17,7 +17,7 @@ BR2_DEFAULT_KERNEL_VERSION="3.6.11"
 BR2_LINUX_KERNEL=y
 BR2_LINUX_KERNEL_CUSTOM_GIT=y
 BR2_LINUX_KERNEL_CUSTOM_GIT_REPO_URL="git://github.com/raspberrypi/linux.git"
-BR2_LINUX_KERNEL_CUSTOM_GIT_VERSION="e959a8e"
+BR2_LINUX_KERNEL_CUSTOM_GIT_VERSION="5d5301e"
 BR2_LINUX_KERNEL_USE_DEFCONFIG=y
 BR2_LINUX_KERNEL_DEFCONFIG="bcmrpi"
 BR2_LINUX_KERNEL_ZIMAGE=y
Signature · 1 line
1.8.1.2
#12 lore raw

PATCH 5/6 package/rpi-firmware: add options to select what firmware to install

In reply to Yann E. MORIN

From: "Yann E. MORIN" <[email protected]>

Add two options to rpi-firmware:
- the first option to select the firmware being booted, amongst:
- the default one
- the cut-down one, for emergency
- the second to also install all firmwares

---
 board/raspberrypi/readme.txt         |  8 -------
 package/rpi-firmware/Config.in       | 45 ++++++++++++++++++++++++++++++++++++
 package/rpi-firmware/rpi-firmware.mk | 20 ++++++++++++----
 3 files changed, 61 insertions(+), 12 deletions(-)
board/raspberrypi/readme.txt +0 -8
index 3287795..720a0ac 100644
@@ -34,9 +34,7 @@ After building, you should obtain this tree:
     +-- rpi-firmware
     |?? +-- bootcode.bin
     |?? +-- config.txt
-    |?? +-- fixup_cd.dat
     |?? +-- fixup.dat
-    |?? +-- start_cd.elf
     |?? `-- start.elf
     `-- zImage
 
@@ -52,9 +50,7 @@ At the root of the partition, the RaspberryPi must find the following files:
 
  * bootcode.bin
  * config.txt
- * fixup_cd.dat
  * fixup.dat
- * start_cd.elf
  * start.elf
  * zImage
 
@@ -83,9 +79,7 @@ After building, you should obtain this tree:
     +-- rpi-firmware
     |?? +-- bootcode.bin
     |?? +-- config.txt
-    |?? +-- fixup_cd.dat
     |?? +-- fixup.dat
-    |?? +-- start_cd.elf
     |?? `-- start.elf
     `-- zImage
 
@@ -104,9 +98,7 @@ You must copy theses files at the root of partition:
 
  * bootcode.bin
  * config.txt
- * fixup_cd.dat
  * fixup.dat
- * start_cd.elf
  * start.elf
  * zImage
 
package/rpi-firmware/Config.in +45 -0

48 lines not on this page · raw message

package/rpi-firmware/rpi-firmware.mk +16 -4
index dcda6b0..ebcd753 100644
@@ -9,13 +9,25 @@ RPI_FIRMWARE_SITE = http://github.com/raspberrypi/firmware/tarball/master
 RPI_FIRMWARE_LICENSE = BSD-3c
 RPI_FIRMWARE_LICENSE_FILES = boot/LICENCE.broadcom
 
-define RPI_FIRMWARE_INSTALL_TARGET_CMDS
+define RPI_FIRMWARE_INSTALL_TARGET_CMDS_BASE
 	$(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$(BR2_PACKAGE_RPI_FIRMWARE_BOOT).elf $(BINARIES_DIR)/rpi-firmware/start.elf
+	$(INSTALL) -D -m 0644 $(@D)/boot/fixup$(BR2_PACKAGE_RPI_FIRMWARE_BOOT).dat $(BINARIES_DIR)/rpi-firmware/fixup.dat
+	$(INSTALL) -D -m 0644 package/rpi-firmware/config.txt $(BINARIES_DIR)/rpi-firmware/config.txt
+endef
+
+ifeq ($(BR2_PACKAGE_RPI_FIRMWARE_ALL),y)
+define RPI_FIRMWARE_INSTALL_TARGET_CMDS_EXTRA
+	$(INSTALL) -D -m 0644 $(@D)/boot/start.elf $(BINARIES_DIR)/rpi-firmware/start_default.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.dat $(BINARIES_DIR)/rpi-firmware/fixup_default.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
+endif
+
+define RPI_FIRMWARE_INSTALL_TARGET_CMDS
+$(RPI_FIRMWARE_INSTALL_TARGET_CMDS_BASE)
+$(RPI_FIRMWARE_INSTALL_TARGET_CMDS_EXTRA)
 endef
 
 $(eval $(generic-package))
Signature · 1 line
1.8.1.2
#13 lore raw

PATCH 5/6 package/rpi-firmware: add options to select what firmware to install

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

"Yann" == Yann E MORIN <[email protected]> writes:

Yann> From: "Yann E. MORIN" <[email protected]> Yann> Add two options to rpi-firmware:
Yann> - the first option to select the firmware being booted, amongst:
Yann> - the default one
Yann> - the cut-down one, for emergency
Yann> - the second to also install all firmwares

Yann> Signed-off-by: "Yann E. MORIN" <[email protected]> Yann> ---

 Yann>  board/raspberrypi/readme.txt         |  8 -------
 Yann>  package/rpi-firmware/Config.in       | 45 ++++++++++++++++++++++++++++++++++++
 Yann>  package/rpi-firmware/rpi-firmware.mk | 20 ++++++++++++----

Yann> 3 files changed, 61 insertions(+), 12 deletions(-)

Yann> diff --git a/board/raspberrypi/readme.txt b/board/raspberrypi/readme.txt Yann> index 3287795..720a0ac 100644
Yann> --- a/board/raspberrypi/readme.txt
Yann> +++ b/board/raspberrypi/readme.txt
Yann> @@ -34,9 +34,7 @@ After building, you should obtain this tree:

 Yann>      +-- rpi-firmware
 Yann>      |?? +-- bootcode.bin
 Yann>      |?? +-- config.txt
 Yann> -    |?? +-- fixup_cd.dat
 Yann>      |?? +-- fixup.dat
 Yann> -    |?? +-- start_cd.elf
 Yann>      |?? `-- start.elf
 Yann>      `-- zImage

Yann> @@ -52,9 +50,7 @@ At the root of the partition, the RaspberryPi must find the following files:

Yann> * bootcode.bin
Yann> * config.txt
Yann> - * fixup_cd.dat
Yann> * fixup.dat
Yann> - * start_cd.elf
Yann> * start.elf
Yann> * zImage

Yann> @@ -83,9 +79,7 @@ After building, you should obtain this tree:

 Yann>      +-- rpi-firmware
 Yann>      |?? +-- bootcode.bin
 Yann>      |?? +-- config.txt
 Yann> -    |?? +-- fixup_cd.dat
 Yann>      |?? +-- fixup.dat
 Yann> -    |?? +-- start_cd.elf
 Yann>      |?? `-- start.elf
 Yann>      `-- zImage

Yann> @@ -104,9 +98,7 @@ You must copy theses files at the root of partition:

Yann> * bootcode.bin
Yann> * config.txt
Yann> - * fixup_cd.dat
Yann> * fixup.dat
Yann> - * start_cd.elf
Yann> * start.elf
Yann> * zImage

Yann> diff --git a/package/rpi-firmware/Config.in b/package/rpi-firmware/Config.in Yann> index eb10a8a..4573204 100644
Yann> --- a/package/rpi-firmware/Config.in
Yann> +++ b/package/rpi-firmware/Config.in
Yann> @@ -7,3 +7,48 @@ config BR2_PACKAGE_RPI_FIRMWARE

Yann> https://github.com/raspberrypi/firmware

Yann> +if BR2_PACKAGE_RPI_FIRMWARE
Yann> +
Yann> +choice
Yann> + bool "Firmware to boot"
Yann> + default BR2_PACKAGE_RPI_FIRMWARE_DEFAULT
Yann> + help
Yann> + There are two different firmware files:
Yann> + - the default firmware, that enables standard GPU features;
Yann> + - the cut-down firmware, for emergency situations, with only
Yann> + features required to boot a Linux kernel.
Yann> +
Yann> +config BR2_PACKAGE_RPI_FIRMWARE_DEFAULT
Yann> + bool "default"
Yann> + help
Yann> + The default firmware, that enables standard GPU features.
Yann> +
Yann> +config BR2_PACKAGE_RPI_FIRMWARE_CD
Yann> + bool "cut-down ('cd', emergency)"
Yann> + help
Yann> + The cut-down firmware, for emergency situations, with only
Yann> + features required to boot a Linux kernel.
Yann> +
Yann> +endchoice
Yann> +
Yann> +config BR2_PACKAGE_RPI_FIRMWARE_BOOT
Yann> + string
Yann> + default "" if BR2_PACKAGE_RPI_FIRMWARE_DEFAULT
Yann> + default "_cd" if BR2_PACKAGE_RPI_FIRMWARE_CD
Yann> +
Yann> +config BR2_PACKAGE_RPI_FIRMWARE_ALL
Yann> + bool "Install all firmwares"
Yann> + default y
Yann> + help

So this option overrides whatever you have selected above?

 Yann> +	  If you say 'y' here (the default), then all firmware files will
 Yann> +	  be installed, so you can later switch to an alternate firmware.
 Yann> +	  The firmware files will be installed thusly:

Yann> + - the 'default' will be denoted with '_default' in filenames

That seems different from above where the default version doesn't have any suffix?

Do we really need this? Can't people just delete the files they don't want in a post build script like for everything else?

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

PATCH 5/6 package/rpi-firmware: add options to select what firmware to install

Peter, All,

Quoted 9 lines · On Tuesday 04 June 2013 08:38:47 Peter Korsgaard wrote:
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Yann" == Yann E MORIN <[email protected]> writes:

Yann> From: "Yann E. MORIN" <[email protected]> Yann> Add two options to rpi-firmware:
Yann> - the first option to select the firmware being booted, amongst:
Yann> - the default one
Yann> - the cut-down one, for emergency
Yann> - the second to also install all firmwares

Quoted 6 lines

Yann> Signed-off-by: "Yann E. MORIN" <[email protected]> Yann> ---

 Yann>  board/raspberrypi/readme.txt         |  8 -------
 Yann>  package/rpi-firmware/Config.in       | 45 ++++++++++++++++++++++++++++++++++++
 Yann>  package/rpi-firmware/rpi-firmware.mk | 20 ++++++++++++----

Yann> 3 files changed, 61 insertions(+), 12 deletions(-)

[--SNIP--]

Quoted 34 lines

Yann> +if BR2_PACKAGE_RPI_FIRMWARE
Yann> +
Yann> +choice
Yann> + bool "Firmware to boot"
Yann> + default BR2_PACKAGE_RPI_FIRMWARE_DEFAULT
Yann> + help
Yann> + There are two different firmware files:
Yann> + - the default firmware, that enables standard GPU features;
Yann> + - the cut-down firmware, for emergency situations, with only
Yann> + features required to boot a Linux kernel.
Yann> +
Yann> +config BR2_PACKAGE_RPI_FIRMWARE_DEFAULT
Yann> + bool "default"
Yann> + help
Yann> + The default firmware, that enables standard GPU features.
Yann> +
Yann> +config BR2_PACKAGE_RPI_FIRMWARE_CD
Yann> + bool "cut-down ('cd', emergency)"
Yann> + help
Yann> + The cut-down firmware, for emergency situations, with only
Yann> + features required to boot a Linux kernel.
Yann> +
Yann> +endchoice
Yann> +
Yann> +config BR2_PACKAGE_RPI_FIRMWARE_BOOT
Yann> + string
Yann> + default "" if BR2_PACKAGE_RPI_FIRMWARE_DEFAULT
Yann> + default "_cd" if BR2_PACKAGE_RPI_FIRMWARE_CD
Yann> +
Yann> +config BR2_PACKAGE_RPI_FIRMWARE_ALL
Yann> + bool "Install all firmwares"
Yann> + default y
Yann> + help

Quoted 1 line

So this option overrides whatever you have selected above?

No, the firmware files will be installed as:

source file | installed file
---- Installed by the choice: --------------+-------------------
start$(BR2_PACKAGE_RPI_FIRMWARE_BOOT).elf | start.elf
fixup$(BR2_PACKAGE_RPI_FIRMWARE_BOOT).dat | fixup.dat
---- Installed with "Install all": ---------+-------------------
start.elf | start_default.elf
fixup.elf | fixup_default.elf
start_cd.elf | start_cd.elf
fixup_cd.elf | fixup_cd.elf
start_x.elf | start_x.elf [*]
fixup._xelf | fixup_x.elf [*]

[*] After the bump with the following patch

Quoted 7 lines
 Yann> +	  If you say 'y' here (the default), then all firmware files will
 Yann> +	  be installed, so you can later switch to an alternate firmware.
 Yann> +	  The firmware files will be installed thusly:

Yann> + - the 'default' will be denoted with '_default' in filenames

That seems different from above where the default version doesn't have any suffix?

I guess the table above answers that.

Quoted 2 lines

Do we really need this? Can't people just delete the files they don't want in a post build script like for everything else?

Yes, it is possible. But since a single firmware will ever be booted, there is no reason to install all of them in the first place.

This last option is here for people that want to switch firmware at /runtime/ (ie. with just a mv from within the target).

Of course, I'm fine with this not going in (but I'd be sad, as I'd have to tweak my post-image scripts. ;-) ).

Regards,
Yann E. MORIN.

Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +0/33 662376056 | Software  Designer | \ / CAMPAIGN     |   ^                |
| --==< O_o >==-- '------------.-------:  X  AGAINST      |  /e\  There is no  |
| http://ymorin.is-a-geek.org/ | (*_*) | / \ HTML MAIL    |  """  conspiracy.  |
'------------------------------'-------'------------------'--------------------'
#15 lore raw

PATCH 5/6 package/rpi-firmware: add options to select what firmware to install

Peter, All,

On 2013-06-04 08:55 +0200, Yann E. MORIN spake thusly:

Quoted 10 lines · On Tuesday 04 June 2013 08:38:47 Peter Korsgaard wrote:
Quoted 9 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Yann" == Yann E MORIN <[email protected]> writes:

Yann> From: "Yann E. MORIN" <[email protected]> Yann> Add two options to rpi-firmware:
Yann> - the first option to select the firmware being booted, amongst:
Yann> - the default one
Yann> - the cut-down one, for emergency
Yann> - the second to also install all firmwares

[--SNIP--]

Quoted 11 lines
Quoted 2 lines

Do we really need this? Can't people just delete the files they don't want in a post build script like for everything else?

Yes, it is possible. But since a single firmware will ever be booted, there is no reason to install all of them in the first place.

This last option is here for people that want to switch firmware at /runtime/ (ie. with just a mv from within the target).

Of course, I'm fine with this not going in (but I'd be sad, as I'd have to tweak my post-image scripts. ;-) ).

Should I drop this for good, or is there still the slightest chance this can go in? ;-)

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.  |
'------------------------------^-------^------------------^--------------------'
#16 lore raw

PATCH 6/6 package/rpi-firmware: update

In reply to Yann E. MORIN

From: "Yann E. MORIN" <[email protected]>

Updating brings in a new bootloader that enables more free codecs:
MJPEG, VP6, VP8, Ogg Theora and Ogg Vorbis

Also, the command-line definition has moved to its own file, now. Although the legacy 'cmdline' variable seems to still be supported for a little while, better switch now than forget when we upgrade later.

Update the RPi board readme accordingly.

---
 board/raspberrypi/readme.txt         |  4 ++++
 package/rpi-firmware/Config.in       | 12 +++++++++++-
 package/rpi-firmware/cmdline.txt     |  1 +
 package/rpi-firmware/config.txt      |  1 -
 package/rpi-firmware/rpi-firmware.mk |  5 ++++-
 5 files changed, 20 insertions(+), 3 deletions(-)
 create mode 100644 package/rpi-firmware/cmdline.txt
board/raspberrypi/readme.txt +4 -0
index 720a0ac..78d1910 100644
@@ -34,6 +34,7 @@ After building, you should obtain this tree:
     +-- rpi-firmware
     |?? +-- bootcode.bin
     |?? +-- config.txt
+    |?? +-- cmdline.txt
     |?? +-- fixup.dat
     |?? `-- start.elf
     `-- zImage
@@ -49,6 +50,7 @@ Your SDCard must have its first partition using fat32 and marked bootable.
 At the root of the partition, the RaspberryPi must find the following files:
 
  * bootcode.bin
+ * cmdline.txt
  * config.txt
  * fixup.dat
  * start.elf
@@ -78,6 +80,7 @@ After building, you should obtain this tree:
     +-- rootfs.tar
     +-- rpi-firmware
     |?? +-- bootcode.bin
+    |?? +-- cmdline.txt
     |?? +-- config.txt
     |?? +-- fixup.dat
     |?? `-- start.elf
@@ -97,6 +100,7 @@ The first partition will contain everything used to boot the RaspberryPi.
 You must copy theses files at the root of partition:
 
  * bootcode.bin
+ * cmdline.txt
  * config.txt
  * fixup.dat
  * start.elf
package/rpi-firmware/Config.in +11 -1
index 4573204..85a9478 100644
@@ -13,8 +13,10 @@ choice
 	bool "Firmware to boot"
 	default BR2_PACKAGE_RPI_FIRMWARE_DEFAULT
 	help
-	  There are two different firmware files:
+	  There are three different firmware files:
 	    - the default firmware, that enables standard GPU features;
+	    - the extended firmware, that enables additional GPU features
+	      (eg. more audio/video codecs);
 	    - the cut-down firmware, for emergency situations, with only
 	      features required to boot a Linux kernel.
 
@@ -23,6 +25,12 @@ config BR2_PACKAGE_RPI_FIRMWARE_DEFAULT
 	help
 	  The default firmware, that enables standard GPU features.
 
+config BR2_PACKAGE_RPI_FIRMWARE_X
+	bool "extended ('x', more codecs)"
+	help
+	  The extended firmware, that enables additional GPU features
+	  (eg. more audio/video codecs).
+
 config BR2_PACKAGE_RPI_FIRMWARE_CD
 	bool "cut-down ('cd', emergency)"
 	help
@@ -34,6 +42,7 @@ endchoice
 config BR2_PACKAGE_RPI_FIRMWARE_BOOT
 	string
 	default ""      if BR2_PACKAGE_RPI_FIRMWARE_DEFAULT
+	default "_x"    if BR2_PACKAGE_RPI_FIRMWARE_X
 	default "_cd"   if BR2_PACKAGE_RPI_FIRMWARE_CD
 
 config BR2_PACKAGE_RPI_FIRMWARE_ALL
@@ -44,6 +53,7 @@ config BR2_PACKAGE_RPI_FIRMWARE_ALL
 	  be installed, so you can later switch to an alternate firmware.
 	  The firmware files will be installed thusly:
 	    - the 'default'  will be denoted with '_default' in filenames
+	    - the 'extended' will be denoted with '_x'       in filenames
 	    - the 'cut-down' will be denoted with '_cd'      in filenames
 
 	  If you say 'n', then only the firmware you choose above will be
package/rpi-firmware/cmdline.txt new file +1 -0
new file mode 100644
index 0000000..061e54b
@@ -0,0 +1 @@
+dwc_otg.fiq_fix_enable=1 sdhci-bcm2708.sync_after_dma=0 dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootwait
package/rpi-firmware/config.txt +0 -1
index a818762..994972b 100644
@@ -12,4 +12,3 @@ 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 rootwait"
package/rpi-firmware/rpi-firmware.mk +4 -1
index ebcd753..32bc180 100644
@@ -4,7 +4,7 @@
 #
 #############################################################
 
-RPI_FIRMWARE_VERSION = 76d0ac38f16b6343c6155c80db1e4758b3a5838a
+RPI_FIRMWARE_VERSION = 57b604530d3c86edd5093d2a58c9d026fdfa7a7a
 RPI_FIRMWARE_SITE = http://github.com/raspberrypi/firmware/tarball/master
 RPI_FIRMWARE_LICENSE = BSD-3c
 RPI_FIRMWARE_LICENSE_FILES = boot/LICENCE.broadcom
@@ -14,13 +14,16 @@ define RPI_FIRMWARE_INSTALL_TARGET_CMDS_BASE
 	$(INSTALL) -D -m 0644 $(@D)/boot/start$(BR2_PACKAGE_RPI_FIRMWARE_BOOT).elf $(BINARIES_DIR)/rpi-firmware/start.elf
 	$(INSTALL) -D -m 0644 $(@D)/boot/fixup$(BR2_PACKAGE_RPI_FIRMWARE_BOOT).dat $(BINARIES_DIR)/rpi-firmware/fixup.dat
 	$(INSTALL) -D -m 0644 package/rpi-firmware/config.txt $(BINARIES_DIR)/rpi-firmware/config.txt
+	$(INSTALL) -D -m 0644 package/rpi-firmware/cmdline.txt $(BINARIES_DIR)/rpi-firmware/cmdline.txt
 endef
 
 ifeq ($(BR2_PACKAGE_RPI_FIRMWARE_ALL),y)
 define RPI_FIRMWARE_INSTALL_TARGET_CMDS_EXTRA
 	$(INSTALL) -D -m 0644 $(@D)/boot/start.elf $(BINARIES_DIR)/rpi-firmware/start_default.elf
+	$(INSTALL) -D -m 0644 $(@D)/boot/start_x.elf $(BINARIES_DIR)/rpi-firmware/start_x.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_default.dat
+	$(INSTALL) -D -m 0644 $(@D)/boot/fixup_x.dat $(BINARIES_DIR)/rpi-firmware/fixup_x.dat
 	$(INSTALL) -D -m 0644 $(@D)/boot/fixup_cd.dat $(BINARIES_DIR)/rpi-firmware/fixup_cd.dat
 endef
 endif
Signature · 1 line
1.8.1.2