package/rpi-firmware: only install one firmware file
authorYann E. MORIN <yann.morin.1998@free.fr>
Mon, 2 Dec 2013 20:49:28 +0000 (21:49 +0100)
committerPeter Korsgaard <peter@korsgaard.com>
Tue, 3 Dec 2013 11:20:17 +0000 (12:20 +0100)
Since only one firmware is used to boot the Raspberry Pi, there is no
reason to install all of them.

Add an option to select what firmware to install.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
package/rpi-firmware/Config.in
package/rpi-firmware/rpi-firmware.mk

index eb10a8a8088cfdfeae96f0925c69b80d4cbda532..cd45be4ea45a8a98a241b48de46a3fbb1f0b1dd8 100644 (file)
@@ -7,3 +7,42 @@ config BR2_PACKAGE_RPI_FIRMWARE
 
          https://github.com/raspberrypi/firmware
 
+if BR2_PACKAGE_RPI_FIRMWARE
+
+choice
+       bool "Firmware to boot"
+       default BR2_PACKAGE_RPI_FIRMWARE_DEFAULT
+       help
+         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.
+
+config BR2_PACKAGE_RPI_FIRMWARE_DEFAULT
+       bool "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
+         The cut-down firmware, for emergency situations, with only
+         features required to boot a Linux kernel.
+
+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
+
+endif # BR2_PACKAGE_RPI_FIRMWARE
index f0882d4bc035a3c394f6220d3a8139b9b96fb60c..25eab69bcdb088a245c61aba21b637d4a4058491 100644 (file)
@@ -11,12 +11,8 @@ RPI_FIRMWARE_LICENSE_FILES = 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/start_x.elf $(BINARIES_DIR)/rpi-firmware/start_x.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 $(@D)/boot/fixup_x.dat $(BINARIES_DIR)/rpi-firmware/fixup_x.dat
+       $(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