ARM Trusted Firmware packages
v4 cover ARM Trusted Firmware packages
Hello,
Here is a new iteration of Joao Pinto's patches to add packages for the ARM Trusted Firmware bootloader, and the SCP Firmware used on the ARM Juno platform.
The vexpress-firmware that contains the SCP Firmware is specific to the ARM Juno.
The ARM Trusted Firmware package however can be used for other
platforms: lots of ARM64 platforms use ATF.
This new iteration improves a number of things compared to Joao's proposal, the detailed changes are visible in the packages commit log themselves.
Thomas
Joao Pinto (3):
vexpress-firmware: new package
arm-trusted-firmware: new package
configs/arm_juno: add the bootloader build
board/arm/juno/readme.txt | 21 ++++++- boot/Config.in | 2 + boot/arm-trusted-firmware/Config.in | 65 ++++++++++++++++++++ .../arm-trusted-firmware/arm-trusted-firmware.hash | 3 + boot/arm-trusted-firmware/arm-trusted-firmware.mk | 69 ++++++++++++++++++++++ boot/vexpress-firmware/Config.in | 6 ++ boot/vexpress-firmware/vexpress-firmware.mk | 20 +++++++ configs/arm_juno_defconfig | 10 ++++ 8 files changed, 193 insertions(+), 3 deletions(-) create mode 100644 boot/arm-trusted-firmware/Config.in create mode 100644 boot/arm-trusted-firmware/arm-trusted-firmware.hash create mode 100644 boot/arm-trusted-firmware/arm-trusted-firmware.mk create mode 100644 boot/vexpress-firmware/Config.in create mode 100644 boot/vexpress-firmware/vexpress-firmware.mk
Signature · 1 line
2.7.4
PATCH v4 1/3 vexpress-firmware: new package
From: Joao Pinto <[email protected]>
This commit adds a new package for the SCP (System Control Processor) firmware for the ARM reference platforms. There will most likely be other SCP firmware provided by other vendors, but they might be provided in a different form, so we for now create a vendor-specific package named vexpress-firmware.
Since this firmware is used for booting, we create the package in boot/ and not in package/.
The package simply installs a single pre-built binary file into the images directory.
[Thomas:
- Rename the package from scpfirmware to vexpress-firmware.
- Add a Config.in prompt for the package.
- Remove the prompt-less Config.in options to select the Git repo and version. Since we only support the Vexpress firmware, there's no need for configurability here, so we just use the right Git repo/version in the .mk file.
- Use $(INSTALL) -D to install the firmware file.
- Add license information.]
--- boot/Config.in | 1 + boot/vexpress-firmware/Config.in | 6 ++++++ boot/vexpress-firmware/vexpress-firmware.mk | 20 ++++++++++++++++++++ 3 files changed, 27 insertions(+) create mode 100644 boot/vexpress-firmware/Config.in create mode 100644 boot/vexpress-firmware/vexpress-firmware.mk
boot/Config.in +1 -0
@@ -15,6 +15,7 @@ source "boot/s500-bootloader/Config.in" source "boot/syslinux/Config.in" source "boot/ts4800-mbrboot/Config.in" source "boot/uboot/Config.in" +source "boot/vexpress-firmware/Config.in" source "boot/xloader/Config.in" endmenu
boot/vexpress-firmware/Config.in new file +6 -0
@@ -0,0 +1,6 @@ +config BR2_TARGET_VEXPRESS_FIRMWARE + bool "vexpress-firmware" + depends on BR2_aarch64 + help + Versatile Express firmware from ARM, with Linaro mods last + change.
boot/vexpress-firmware/vexpress-firmware.mk new file +20 -0
@@ -0,0 +1,20 @@ +################################################################################ +# +# vexpress-firmware +# +################################################################################ + +VEXPRESS_FIRMWARE_VERSION = 901f81977c3b367a2e0bf3d6444be302822d97a3 +VEXPRESS_FIRMWARE_SITE = https://git.linaro.org/arm/vexpress-firmware.git +VEXPRESS_FIRMWARE_SITE_METHOD = git +# The only available license files are in PDF and RTF formats, and we +# support only plain text. +VEXPRESS_FIRMWARE_LICENSE = ARM EULA + +VEXPRESS_FIRMWARE_INSTALL_IMAGES = YES + +define VEXPRESS_FIRMWARE_INSTALL_IMAGES_CMDS + $(INSTALL) -D -m 0644 $(@D)/SOFTWARE/bl30.bin $(BINARIES_DIR)/scp-fw.bin +endef + +$(eval $(generic-package))
Signature · 1 line
2.7.4
PATCH v4 1/3 vexpress-firmware: new package
Thomas, Joao, All,
On 2016-10-15 10:03 +0200, Thomas Petazzoni spake thusly:
Quoted 24 lines
From: Joao Pinto <[email protected]>
This commit adds a new package for the SCP (System Control Processor) firmware for the ARM reference platforms. There will most likely be other SCP firmware provided by other vendors, but they might be provided in a different form, so we for now create a vendor-specific package named vexpress-firmware.
Since this firmware is used for booting, we create the package in boot/ and not in package/.
The package simply installs a single pre-built binary file into the images directory.
Signed-off-by Joao Pinto <[email protected]>[Thomas:
- Rename the package from scpfirmware to vexpress-firmware.
- Add a Config.in prompt for the package.
- Remove the prompt-less Config.in options to select the Git repo and version. Since we only support the Vexpress firmware, there's no need for configurability here, so we just use the right Git repo/version in the .mk file.
- Use $(INSTALL) -D to install the firmware file.
- Add license information.]
Quoted 1 line
Signed-off-by Thomas Petazzoni <[email protected]>
No hash file? ;-)
Regards,
Yann E. MORIN.
Quoted 65 lines
--- boot/Config.in | 1 + boot/vexpress-firmware/Config.in | 6 ++++++ boot/vexpress-firmware/vexpress-firmware.mk | 20 ++++++++++++++++++++ 3 files changed, 27 insertions(+) create mode 100644 boot/vexpress-firmware/Config.in create mode 100644 boot/vexpress-firmware/vexpress-firmware.mkboot/Config.in +1
-0@@ -15,6 +15,7 @@ source "boot/s500-bootloader/Config.in" source "boot/syslinux/Config.in" source "boot/ts4800-mbrboot/Config.in" source "boot/uboot/Config.in" +source "boot/vexpress-firmware/Config.in" source "boot/xloader/Config.in" endmenuboot/vexpress-firmware/Config.in new file +6
-0@@ -0,0 +1,6 @@ +config BR2_TARGET_VEXPRESS_FIRMWARE + bool "vexpress-firmware" + depends on BR2_aarch64 + help + Versatile Express firmware from ARM, with Linaro mods last + change.boot/vexpress-firmware/vexpress-firmware.mk new file +20
-0@@ -0,0 +1,20 @@ +################################################################################ +# +# vexpress-firmware +# +################################################################################ + +VEXPRESS_FIRMWARE_VERSION = 901f81977c3b367a2e0bf3d6444be302822d97a3 +VEXPRESS_FIRMWARE_SITE = https://git.linaro.org/arm/vexpress-firmware.git +VEXPRESS_FIRMWARE_SITE_METHOD = git +# The only available license files are in PDF and RTF formats, and we +# support only plain text. +VEXPRESS_FIRMWARE_LICENSE = ARM EULA + +VEXPRESS_FIRMWARE_INSTALL_IMAGES = YES + +define VEXPRESS_FIRMWARE_INSTALL_IMAGES_CMDS + $(INSTALL) -D -m 0644 $(@D)/SOFTWARE/bl30.bin $(BINARIES_DIR)/scp-fw.bin +endef + +$(eval $(generic-package))Signature · 6 lines
2.7.4 _______________________________________________ buildroot mailing list buildroot at busybox.net http://lists.busybox.net/mailman/listinfo/buildroot
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. | '------------------------------^-------^------------------^--------------------'
Thomas Petazzoni
AppliedPATCH v4 1/3 vexpress-firmware: new package
In reply to Thomas PetazzoniHello,
Quoted 24 lines · Thomas Petazzoni
From: Joao Pinto <[email protected]>
This commit adds a new package for the SCP (System Control Processor) firmware for the ARM reference platforms. There will most likely be other SCP firmware provided by other vendors, but they might be provided in a different form, so we for now create a vendor-specific package named vexpress-firmware.
Since this firmware is used for booting, we create the package in boot/ and not in package/.
The package simply installs a single pre-built binary file into the images directory.
Signed-off-by Joao Pinto <[email protected]>[Thomas:
- Rename the package from scpfirmware to vexpress-firmware.
- Add a Config.in prompt for the package.
- Remove the prompt-less Config.in options to select the Git repo and version. Since we only support the Vexpress firmware, there's no need for configurability here, so we just use the right Git repo/version in the .mk file.
- Use $(INSTALL) -D to install the firmware file.
- Add license information.]
Quoted 8 lines
Signed-off-by Thomas Petazzoni <[email protected]>--- boot/Config.in | 1 + boot/vexpress-firmware/Config.in | 6 ++++++ boot/vexpress-firmware/vexpress-firmware.mk | 20 ++++++++++++++++++++ 3 files changed, 27 insertions(+) create mode 100644 boot/vexpress-firmware/Config.in create mode 100644 boot/vexpress-firmware/vexpress-firmware.mk
Applied to master, after adding a hash file, as suggested by Yann.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH v4 1/3 vexpress-firmware: new package
Hi Thomas and Yann,
Thanks for the review and extra-effort.
Joao
Quoted 40 lines · Thomas Petazzoni
Hello,
Quoted 24 lines · Thomas Petazzoni
From: Joao Pinto <[email protected]>
This commit adds a new package for the SCP (System Control Processor) firmware for the ARM reference platforms. There will most likely be other SCP firmware provided by other vendors, but they might be provided in a different form, so we for now create a vendor-specific package named vexpress-firmware.
Since this firmware is used for booting, we create the package in boot/ and not in package/.
The package simply installs a single pre-built binary file into the images directory.
Signed-off-by Joao Pinto <[email protected]>[Thomas:
- Rename the package from scpfirmware to vexpress-firmware.
- Add a Config.in prompt for the package.
- Remove the prompt-less Config.in options to select the Git repo and version. Since we only support the Vexpress firmware, there's no need for configurability here, so we just use the right Git repo/version in the .mk file.
- Use $(INSTALL) -D to install the firmware file.
- Add license information.]Quoted 8 lines
Signed-off-by Thomas Petazzoni <[email protected]>--- boot/Config.in | 1 + boot/vexpress-firmware/Config.in | 6 ++++++ boot/vexpress-firmware/vexpress-firmware.mk | 20 ++++++++++++++++++++ 3 files changed, 27 insertions(+) create mode 100644 boot/vexpress-firmware/Config.in create mode 100644 boot/vexpress-firmware/vexpress-firmware.mkApplied to master, after adding a hash file, as suggested by Yann.
Thomas
PATCH v4 1/3 vexpress-firmware: new package
In reply to Thomas PetazzoniHello,
boot/vexpress-firmware/vexpress-firmware.mk line 8
Quoted 2 lines · Thomas Petazzoni
boot/vexpress-firmware/vexpress-firmware.mk new file +2
-0+VEXPRESS_FIRMWARE_VERSION = 901f81977c3b367a2e0bf3d6444be302822d97a3 +VEXPRESS_FIRMWARE_SITE = https://git.linaro.org/arm/vexpress-firmware.git
Joao, this is an old version of the firmware. Can you test with a newer version?
Indeed, this old version in fact doesn't have any license file in the tree. Newer versions have license.pdf and license.rtf files.
Best regards,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com
PATCH v4 1/3 vexpress-firmware: new package
Hi Thomas,
Quoted 9 lines · Thomas Petazzoni
Hello,
boot/vexpress-firmware/vexpress-firmware.mk line 8
Quoted 2 lines · Thomas Petazzoni
boot/vexpress-firmware/vexpress-firmware.mk new file +2
-0+VEXPRESS_FIRMWARE_VERSION = 901f81977c3b367a2e0bf3d6444be302822d97a3 +VEXPRESS_FIRMWARE_SITE = https://git.linaro.org/arm/vexpress-firmware.gitJoao, this is an old version of the firmware. Can you test with a newer version?
This was the version suggested by Liviu Dudau.
@Liviu: Could you please confirm that there is more recent version that we can use?
Quoted 8 lines
Indeed, this old version in fact doesn't have any license file in the tree. Newer versions have license.pdf and license.rtf files.
Best regards,
Thomas
Thanks,
Joao
A message that is not in the archive (sent off-list or not yet received): [email protected]
PATCH v4 1/3 vexpress-firmware: new package
Hello,
Quoted 5 lines · Liviu Dudau
Quoted 2 lines
This was the version suggested by Liviu Dudau.
@Liviu: Could you please confirm that there is more recent version that we can use?I think at that time that was the latest HEAD version. You can pick any later versions from Linaro. I suggest (for now) to use 16.08 tag.
Could you send a patch doing this?
It should also add the license.pdf file in the LICENSE_FILES variable.
Thanks a lot!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com
PATCH v4 2/3 arm-trusted-firmware: new package
In reply to Thomas PetazzoniFrom: Joao Pinto <[email protected]>
[Thomas:
- Rename the package from atfirmware to arm-trusted-firmware, in order to match upstream.
- Remove option to apply custom patches. We no longer add such options, and use the global patch directory instead.
- Rename the repo URL/version options, in order to not be Git specific, in case support for fetching from other VCS is added later. This is consistent with how other bootloaders handle this.
- Add license information.
- Do not add a weird dependency on the vexpress-firmware package in Config.in. Instead, simply use it if it's available. Of course, some configurations (such as the juno configuration) will fail to build if vexpress-image is not enabled, but it's the responsibility of the user to create a config that builds.
- Simplify misc aspects in the .mk file.]
--- boot/Config.in | 1 + boot/arm-trusted-firmware/Config.in | 65 ++++++++++++++++++++ .../arm-trusted-firmware/arm-trusted-firmware.hash | 3 + boot/arm-trusted-firmware/arm-trusted-firmware.mk | 69 ++++++++++++++++++++++ 4 files changed, 138 insertions(+) create mode 100644 boot/arm-trusted-firmware/Config.in create mode 100644 boot/arm-trusted-firmware/arm-trusted-firmware.hash create mode 100644 boot/arm-trusted-firmware/arm-trusted-firmware.mk
boot/Config.in +1 -0
@@ -4,6 +4,7 @@ source "boot/afboot-stm32/Config.in" source "boot/at91bootstrap/Config.in" source "boot/at91bootstrap3/Config.in" source "boot/at91dataflashboot/Config.in" +source "boot/arm-trusted-firmware/Config.in" source "boot/barebox/Config.in" source "boot/boot-wrapper-aarch64/Config.in" source "boot/grub/Config.in"
boot/arm-trusted-firmware/Config.in new file +65 -0
65 lines not on this page · raw message
boot/arm-trusted-firmware/arm-trusted-firmware.hash new file +3 -0
@@ -0,0 +1,3 @@ +# Locally calculated +sha256 cbdd9b770ec1ab4933fc7f9f520daea5a364bb4dc964820fb017a0cf8c7df556 arm-trusted-firmware-v1.2.tar.gz +md5 fac2c08bd74337fec2e14a98fc9f748f arm-trusted-firmware-v1.2.tar.gz
boot/arm-trusted-firmware/arm-trusted-firmware.mk new file +69 -0
69 lines not on this page · raw message
Signature · 1 line
2.7.4
PATCH v4 2/3 arm-trusted-firmware: new package
Thomas, Joao, All,
On 2016-10-15 10:03 +0200, Thomas Petazzoni spake thusly:
Quoted 19 lines
From: Joao Pinto <[email protected]>
Signed-off-by Joao Pinto <[email protected]>[Thomas:
- Rename the package from atfirmware to arm-trusted-firmware, in order to match upstream.
- Remove option to apply custom patches. We no longer add such options, and use the global patch directory instead.
- Rename the repo URL/version options, in order to not be Git specific, in case support for fetching from other VCS is added later. This is consistent with how other bootloaders handle this.
- Add license information.
- Do not add a weird dependency on the vexpress-firmware package in Config.in. Instead, simply use it if it's available. Of course, some configurations (such as the juno configuration) will fail to build if vexpress-image is not enabled, but it's the responsibility of the user to create a config that builds.
- Simplify misc aspects in the .mk file.]Signed-off-by Thomas Petazzoni <[email protected]>
Quoted 9 lines
--- boot/Config.in | 1 + boot/arm-trusted-firmware/Config.in | 65 ++++++++++++++++++++ .../arm-trusted-firmware/arm-trusted-firmware.hash | 3 + boot/arm-trusted-firmware/arm-trusted-firmware.mk | 69 ++++++++++++++++++++++ 4 files changed, 138 insertions(+) create mode 100644 boot/arm-trusted-firmware/Config.in create mode 100644 boot/arm-trusted-firmware/arm-trusted-firmware.hash create mode 100644 boot/arm-trusted-firmware/arm-trusted-firmware.mk
[--SNIP--]
Quoted 45 lines
boot/arm-trusted-firmware/arm-trusted-firmware.mk new file +39
-0@@ -0,0 +1,69 @@ +################################################################################ +# +# arm-trusted-firmware +# +################################################################################ + +ARM_TRUSTED_FIRMWARE_VERSION = $(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_VERSION)) +ARM_TRUSTED_FIRMWARE_LICENSE = BSD-3c +ARM_TRUSTED_FIRMWARE_LICENSE_FILES = license.md + +ARM_TRUSTED_FIRMWARE_DEPENDENCIES += uboot + +ifeq ($(ARM_TRUSTED_FIRMWARE_VERSION),custom) +# Handle custom ATF tarballs as specified by the configuration +ARM_TRUSTED_FIRMWARE_TARBALL = $(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION)) +ARM_TRUSTED_FIRMWARE_SITE = $(patsubst %/,%,$(dir $(ARM_TRUSTED_FIRMWARE_TARBALL))) +ARM_TRUSTED_FIRMWARE_SOURCE = $(notdir $(ARM_TRUSTED_FIRMWARE_TARBALL)) +BR_NO_CHECK_HASH_FOR += $(ARM_TRUSTED_FIRMWARE_SOURCE) +else ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT),y) +ARM_TRUSTED_FIRMWARE_SITE = $(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL)) +ARM_TRUSTED_FIRMWARE_SITE_METHOD = git +else +ARM_TRUSTED_FIRMWARE_SITE = $(call github,ARM-software,arm-trusted-firmware,$(ARM_TRUSTED_FIRMWARE_VERSION)) +endif + +ARM_TRUSTED_FIRMWARE_INSTALL_IMAGES = YES + +ARM_TRUSTED_FIRMWARE_PLATFORM = $(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM)) + +ARM_TRUSTED_FIRMWARE_MAKE_OPTS += \ + CROSS_COMPILE="$(TARGET_CROSS)" \ + BL33=$(BINARIES_DIR)/u-boot.bin \ + $(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES)) \ + PLAT=$(ARM_TRUSTED_FIRMWARE_PLATFORM) \ + all fip + +ifeq ($(BR2_TARGET_VEXPRESS_FIRMWARE),y) +ARM_TRUSTED_FIRMWARE_MAKE_OPTS += SCP_BL2=$(BINARIES_DIR)/scp-fw.bin +ARM_TRUSTED_FIRMWARE_DEPENDENCIES += vexpress-firmware
boot/arm-trusted-firmware/arm-trusted-firmware.mk line 49
Quoted 10 lines
boot/arm-trusted-firmware/arm-trusted-firmware.mk new file +10
-0+endif + +define ARM_TRUSTED_FIRMWARE_BUILD_CMDS + $(TARGET_CONFIGURE_OPTS) \ + $(MAKE) -C $(@D) $(ARM_TRUSTED_FIRMWARE_MAKE_OPTS) \ + $(ARM_TRUSTED_FIRMWARE_MAKE_TARGET) +endef + +define ARM_TRUSTED_FIRMWARE_INSTALL_IMAGES_CMDS + cp -dpf $(@D)/build/$(ARM_TRUSTED_FIRMWARE_PLATFORM)/release/*.bin $(BINARIES_DIR)/
Usually, we do create the destination directory before copying a bunch files in there. But that one directory, we do guarantee it exists.
Regards,
Yann E. MORIN.
Quoted 27 lines
boot/arm-trusted-firmware/arm-trusted-firmware.mk new file +20
-0+endef + +# Configuration ckeck +ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE)$(BR_BUILDING),yy) + +ifeq ($(ARM_TRUSTED_FIRMWARE_VERSION),custom) +ifeq ($(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION))),) +$(error No tarball location specified. Please check BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION)) +endif +endif + +ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT),y) +ifeq ($(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL)),) +$(error No repository specified. Please check BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL) +endif +endif + +endif + +$(eval $(generic-package))Signature · 6 lines
2.7.4 _______________________________________________ buildroot mailing list buildroot at busybox.net http://lists.busybox.net/mailman/listinfo/buildroot
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. | '------------------------------^-------^------------------^--------------------'
PATCH v4 3/3 configs/arm_juno: add the bootloader build
In reply to Thomas PetazzoniFrom: Joao Pinto <[email protected]>
Thanks to the recent addition of the vexpress-firmware and arm-trusted-firmware packages, this commit improves the ARM Juno defconfig to also build a bootloader.
--- board/arm/juno/readme.txt | 21 ++++++++++++++++++--- configs/arm_juno_defconfig | 10 ++++++++++ 2 files changed, 28 insertions(+), 3 deletions(-)
board/arm/juno/readme.txt +18 -3
@@ -8,8 +8,8 @@ These instructions apply to all models of the ARM Juno: - Juno r1 (supports PCIe) - Juno r2 (Big Cluster with A72) -Buildroot will generate the kernel image, device tree blob and a -minimal root filesystem. +Buildroot will generate the kernel image, device tree blob, bootloader binaries +and a minimal root filesystem. How to build it ===============
@@ -44,6 +44,20 @@ After building, you should obtain this tree: +-- juno-r1.dtb (if Juno r1 is used) +-- juno-r2.dtb (if Juno r2 is used) +-- Image + +-- bl1.bin + +-- bl2.bin + +-- bl2u.bin + +-- bl31.bin + +-- fip.bin + +-- scp-fw.bin + +-- u-boot.bin + +Preparing your rootfs +====================== + +Format your pen drive as a ext3 filesystem by executing: + + $ mkfs.ext3 /dev/<your device> Preparing your rootfs ======================
@@ -113,7 +127,8 @@ Installing kernel image and DTB 3. Open the software/ folder 4. Copy the 'Image' file to software/ 5. Copy the 'juno-r1.dtb' (r1), 'juno.dtb' (r0) or juno-r2.dtb (r2) file to software/ -6. Press the red button in the front pannel of ARM Juno +6. Copy the bootloader binaries (bl1.bin and fip.bin) to software/ +7. Press the red button in the front pannel of ARM Juno At this time, the board will erase the Flash entry for each new item and replace it with the lastest ones.
configs/arm_juno_defconfig +10 -0
@@ -10,3 +10,13 @@ BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/arm/juno/linux-juno-defconfig" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="arm/juno arm/juno-r1 arm/juno-r2" +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL="https://github.com/ARM-software/arm-trusted-firmware.git" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="v1.2" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="juno" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BOARDNAME="vexpress_aemv8a_juno" +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2016.03" +BR2_TARGET_VEXPRESS_FIRMWARE=y
Signature · 1 line
2.7.4
PATCH v4 3/3 configs/arm_juno: add the bootloader build
Thomas, Joao, All,
On 2016-10-15 10:03 +0200, Thomas Petazzoni spake thusly:
Quoted 8 lines
From: Joao Pinto <[email protected]>
Thanks to the recent addition of the vexpress-firmware and arm-trusted-firmware packages, this commit improves the ARM Juno defconfig to also build a bootloader.
Signed-off-by Joao Pinto <[email protected]>Signed-off-by Thomas Petazzoni <[email protected]>
Regards,
Yann E. MORIN.
Quoted 76 lines
--- board/arm/juno/readme.txt | 21 ++++++++++++++++++--- configs/arm_juno_defconfig | 10 ++++++++++ 2 files changed, 28 insertions(+), 3 deletions(-)board/arm/juno/readme.txt +18
-3@@ -8,8 +8,8 @@ These instructions apply to all models of the ARM Juno: - Juno r1 (supports PCIe) - Juno r2 (Big Cluster with A72) -Buildroot will generate the kernel image, device tree blob and a -minimal root filesystem. +Buildroot will generate the kernel image, device tree blob, bootloader binaries +and a minimal root filesystem. How to build it ===============@@ -44,6 +44,20 @@ After building, you should obtain this tree: +-- juno-r1.dtb (if Juno r1 is used) +-- juno-r2.dtb (if Juno r2 is used) +-- Image + +-- bl1.bin + +-- bl2.bin + +-- bl2u.bin + +-- bl31.bin + +-- fip.bin + +-- scp-fw.bin + +-- u-boot.bin + +Preparing your rootfs +====================== + +Format your pen drive as a ext3 filesystem by executing: + + $ mkfs.ext3 /dev/<your device> Preparing your rootfs ======================@@ -113,7 +127,8 @@ Installing kernel image and DTB 3. Open the software/ folder 4. Copy the 'Image' file to software/ 5. Copy the 'juno-r1.dtb' (r1), 'juno.dtb' (r0) or juno-r2.dtb (r2) file to software/ -6. Press the red button in the front pannel of ARM Juno +6. Copy the bootloader binaries (bl1.bin and fip.bin) to software/ +7. Press the red button in the front pannel of ARM Juno At this time, the board will erase the Flash entry for each new item and replace it with the lastest ones.configs/arm_juno_defconfig +10
-0@@ -10,3 +10,13 @@ BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/arm/juno/linux-juno-defconfig" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="arm/juno arm/juno-r1 arm/juno-r2" +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL="https://github.com/ARM-software/arm-trusted-firmware.git" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="v1.2" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="juno" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BOARDNAME="vexpress_aemv8a_juno" +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2016.03" +BR2_TARGET_VEXPRESS_FIRMWARE=ySignature · 6 lines
2.7.4 _______________________________________________ buildroot mailing list buildroot at busybox.net http://lists.busybox.net/mailman/listinfo/buildroot
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. | '------------------------------^-------^------------------^--------------------'