[yocto] [meta-raspberrypi][PATCH 2/3] u-boot-scr: Add recipe to create u-boot boot script

Paul Barker paul at paulbarker.me.uk
Sun Jul 10 16:17:55 PDT 2016


Upstream u-boot searches the boot partition for a script named 'boot.scr'. If
this file exists it is executed as a sequence of u-boot commands in order to
boot the system. This script must be compiled using the mkimage command to
ensure that it is understood by u-boot.

Signed-off-by: Paul Barker <paul at paulbarker.me.uk>
---
 recipes-bsp/u-boot-scr/files/raspberrypi/boot.cmd  |  6 ++++++
 recipes-bsp/u-boot-scr/files/raspberrypi0/boot.cmd |  6 ++++++
 recipes-bsp/u-boot-scr/files/raspberrypi2/boot.cmd |  6 ++++++
 recipes-bsp/u-boot-scr/files/raspberrypi3/boot.cmd |  6 ++++++
 recipes-bsp/u-boot-scr/u-boot-scr.bb               | 20 ++++++++++++++++++++
 5 files changed, 44 insertions(+)
 create mode 100644 recipes-bsp/u-boot-scr/files/raspberrypi/boot.cmd
 create mode 100644 recipes-bsp/u-boot-scr/files/raspberrypi0/boot.cmd
 create mode 100644 recipes-bsp/u-boot-scr/files/raspberrypi2/boot.cmd
 create mode 100644 recipes-bsp/u-boot-scr/files/raspberrypi3/boot.cmd
 create mode 100644 recipes-bsp/u-boot-scr/u-boot-scr.bb

diff --git a/recipes-bsp/u-boot-scr/files/raspberrypi/boot.cmd b/recipes-bsp/u-boot-scr/files/raspberrypi/boot.cmd
new file mode 100644
index 0000000..c86c758
--- /dev/null
+++ b/recipes-bsp/u-boot-scr/files/raspberrypi/boot.cmd
@@ -0,0 +1,6 @@
+setenv fdtfile bcm2708-rpi-b.dtb
+setenv bootargs 'earlyprintk console=tty0 console=ttyAMA0 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait noinitrd'
+mmc dev 0
+fatload mmc 0:1 ${kernel_addr_r} uImage
+fatload mmc 0:1 ${fdt_addr_r} ${fdtfile}
+bootm ${kernel_addr_r} - ${fdt_addr_r}
diff --git a/recipes-bsp/u-boot-scr/files/raspberrypi0/boot.cmd b/recipes-bsp/u-boot-scr/files/raspberrypi0/boot.cmd
new file mode 100644
index 0000000..c86c758
--- /dev/null
+++ b/recipes-bsp/u-boot-scr/files/raspberrypi0/boot.cmd
@@ -0,0 +1,6 @@
+setenv fdtfile bcm2708-rpi-b.dtb
+setenv bootargs 'earlyprintk console=tty0 console=ttyAMA0 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait noinitrd'
+mmc dev 0
+fatload mmc 0:1 ${kernel_addr_r} uImage
+fatload mmc 0:1 ${fdt_addr_r} ${fdtfile}
+bootm ${kernel_addr_r} - ${fdt_addr_r}
diff --git a/recipes-bsp/u-boot-scr/files/raspberrypi2/boot.cmd b/recipes-bsp/u-boot-scr/files/raspberrypi2/boot.cmd
new file mode 100644
index 0000000..aa4ea64
--- /dev/null
+++ b/recipes-bsp/u-boot-scr/files/raspberrypi2/boot.cmd
@@ -0,0 +1,6 @@
+setenv fdtfile bcm2709-rpi-2-b.dtb
+setenv bootargs 'earlyprintk console=tty0 console=ttyAMA0 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait noinitrd'
+mmc dev 0
+fatload mmc 0:1 ${kernel_addr_r} uImage
+fatload mmc 0:1 ${fdt_addr_r} ${fdtfile}
+bootm ${kernel_addr_r} - ${fdt_addr_r}
diff --git a/recipes-bsp/u-boot-scr/files/raspberrypi3/boot.cmd b/recipes-bsp/u-boot-scr/files/raspberrypi3/boot.cmd
new file mode 100644
index 0000000..2950856
--- /dev/null
+++ b/recipes-bsp/u-boot-scr/files/raspberrypi3/boot.cmd
@@ -0,0 +1,6 @@
+setenv fdtfile bcm2710-rpi-3-b.dtb
+setenv bootargs 'earlyprintk console=tty0 console=ttyAMA0 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait noinitrd'
+mmc dev 0
+fatload mmc 0:1 ${kernel_addr_r} uImage
+fatload mmc 0:1 ${fdt_addr_r} ${fdtfile}
+bootm ${kernel_addr_r} - ${fdt_addr_r}
diff --git a/recipes-bsp/u-boot-scr/u-boot-scr.bb b/recipes-bsp/u-boot-scr/u-boot-scr.bb
new file mode 100644
index 0000000..310bf3d
--- /dev/null
+++ b/recipes-bsp/u-boot-scr/u-boot-scr.bb
@@ -0,0 +1,20 @@
+SUMMARY = "U-boot boot scripts for Raspberry Pi"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
+
+DEPENDS = "u-boot-mkimage-native"
+
+SRC_URI = "file://boot.cmd"
+
+do_compile() {
+    mkimage -A arm -T script -C none -n "Boot script" -d "${WORKDIR}/boot.cmd" boot.scr
+}
+
+inherit deploy
+
+do_deploy() {
+    install -d ${DEPLOYDIR}
+    install -m 0644 boot.scr ${DEPLOYDIR}
+}
+
+addtask do_deploy after do_compile before do_build
-- 
2.1.4




More information about the yocto mailing list