From patchwork Mon Jun 3 20:15:51 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: "Yann E. MORIN" X-Patchwork-Id: 248409 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from fraxinus.osuosl.org (fraxinus.osuosl.org [140.211.166.137]) by ozlabs.org (Postfix) with ESMTP id 7CA332C0040 for ; Tue, 4 Jun 2013 06:17:23 +1000 (EST) Received: from localhost (localhost [127.0.0.1]) by fraxinus.osuosl.org (Postfix) with ESMTP id 31FCF10C361; Mon, 3 Jun 2013 20:17:22 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org X-Amavis-Alert: BAD HEADER SECTION, Duplicate header field: "References" Received: from fraxinus.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id qGRxgbZ-VpA0; Mon, 3 Jun 2013 20:17:07 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by fraxinus.osuosl.org (Postfix) with ESMTP id 8E50510C3F0; Mon, 3 Jun 2013 20:16:24 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from whitealder.osuosl.org (whitealder.osuosl.org [140.211.166.138]) by ash.osuosl.org (Postfix) with ESMTP id 96C188F753 for ; Mon, 3 Jun 2013 20:16:19 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id 6EF2B8EA4D for ; Mon, 3 Jun 2013 20:16:12 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org X-Amavis-Alert: BAD HEADER SECTION, Duplicate header field: "References" Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Xsi7bd3BmWsM for ; Mon, 3 Jun 2013 20:16:08 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail-we0-f171.google.com (mail-we0-f171.google.com [74.125.82.171]) by whitealder.osuosl.org (Postfix) with ESMTPS id 123188ED56 for ; Mon, 3 Jun 2013 20:16:07 +0000 (UTC) Received: by mail-we0-f171.google.com with SMTP id m46so2138167wev.16 for ; Mon, 03 Jun 2013 13:16:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:from:to:cc:subject:date:message-id:x-mailer:in-reply-to :references:in-reply-to:references:mime-version:content-type :content-transfer-encoding; bh=WjaZuATaeA4Wtr2bYai72hTgdjWWaY32VaUk0vvxc8o=; b=Bcv9OnR6aRNa0g7s3z0rDPTXba3xyc6xuATMRGNHL6YC9k2HVtS2nm4xCDpYYbibn1 fiJ/QT7pswJudmhYdbtI414r5nS7VexdKi/6sAXiXf8ZSDu0FKj+581FgN17bqOVMUxQ Z01GdEf0JlHON7hwaAz/sXs6y2LxJnRyFvEAurfDgFbSL4KIwTBKvFL195z2xHAp1zQf RgtADX5ibHY1V/nsGhfave6/bhLLKWmZ816DHCE/PRBPwghcOOLYv1RI9suQ6GRXuHbO C8KsrdCxO+QXUWcRRi3rBvDHpTffVYonXtt6aHTQ4uJzmyFOwXksbRhsYMA0RsoaF889 6jOg== X-Received: by 10.180.12.72 with SMTP id w8mr14532397wib.4.1370290566407; Mon, 03 Jun 2013 13:16:06 -0700 (PDT) Received: from gourin.bzh.lan (ks3095497.kimsufi.com. [94.23.60.27]) by mx.google.com with ESMTPSA id ff10sm25878983wib.10.2013.06.03.13.16.04 for (version=TLSv1.1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Mon, 03 Jun 2013 13:16:05 -0700 (PDT) From: "Yann E. MORIN" To: buildroot@busybox.net Date: Mon, 3 Jun 2013 22:15:51 +0200 Message-Id: <30f6d94a556efedb7d999a778bb6e32071efdda0.1370289131.git.yann.morin.1998@free.fr> X-Mailer: git-send-email 1.8.1.2 In-Reply-To: References: In-Reply-To: References: MIME-Version: 1.0 Cc: "Yann E. MORIN" Subject: [Buildroot] [PATCH 5/6] package/rpi-firmware: add options to select what firmware to install X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.14 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: buildroot-bounces@busybox.net Sender: buildroot-bounces@busybox.net From: "Yann E. MORIN" 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 Signed-off-by: "Yann E. MORIN" --- 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(-) diff --git a/board/raspberrypi/readme.txt b/board/raspberrypi/readme.txt index 3287795..720a0ac 100644 --- a/board/raspberrypi/readme.txt +++ b/board/raspberrypi/readme.txt @@ -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 diff --git a/package/rpi-firmware/Config.in b/package/rpi-firmware/Config.in index eb10a8a..4573204 100644 --- a/package/rpi-firmware/Config.in +++ b/package/rpi-firmware/Config.in @@ -7,3 +7,48 @@ 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 two different firmware files: + - the default firmware, that enables standard GPU features; + - 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_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 "_cd" if BR2_PACKAGE_RPI_FIRMWARE_CD + +config BR2_PACKAGE_RPI_FIRMWARE_ALL + bool "Install all firmwares" + default y + help + If you say 'y' here (the default), then all firmware files will + 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 'cut-down' will be denoted with '_cd' in filenames + + If you say 'n', then only the firmware you choose above will be + installed. + + Unless you are sure about it, say 'y'. + +endif # BR2_PACKAGE_RPI_FIRMWARE diff --git a/package/rpi-firmware/rpi-firmware.mk b/package/rpi-firmware/rpi-firmware.mk index dcda6b0..ebcd753 100644 --- a/package/rpi-firmware/rpi-firmware.mk +++ b/package/rpi-firmware/rpi-firmware.mk @@ -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))