summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Barker <paul@paulbarker.me.uk>2016-10-22 20:49:55 +0100
committerAndrei Gherzan <andrei@resin.io>2016-10-31 15:58:48 +0100
commit56047ad7dbbfc26f37a54a5afe7bc222924e4cc2 (patch)
treec6ef20a287a7048b3015019620d0bee164c1d99a
parent1f24992a3c5bd6546c9054942f1b1df8180769e0 (diff)
downloadmeta-raspberrypi-56047ad7dbbfc26f37a54a5afe7bc222924e4cc2.tar.gz
rpi-u-boot-scr: Add recipe to create u-boot boot script
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@paulbarker.me.uk>
-rw-r--r--recipes-bsp/rpi-u-boot-scr/files/raspberrypi/boot.cmd6
-rw-r--r--recipes-bsp/rpi-u-boot-scr/files/raspberrypi0/boot.cmd6
-rw-r--r--recipes-bsp/rpi-u-boot-scr/files/raspberrypi2/boot.cmd6
-rw-r--r--recipes-bsp/rpi-u-boot-scr/files/raspberrypi3/boot.cmd6
-rw-r--r--recipes-bsp/rpi-u-boot-scr/rpi-u-boot-scr.bb21
5 files changed, 45 insertions, 0 deletions
diff --git a/recipes-bsp/rpi-u-boot-scr/files/raspberrypi/boot.cmd b/recipes-bsp/rpi-u-boot-scr/files/raspberrypi/boot.cmd
new file mode 100644
index 0000000..c86c758
--- /dev/null
+++ b/recipes-bsp/rpi-u-boot-scr/files/raspberrypi/boot.cmd
@@ -0,0 +1,6 @@
1setenv fdtfile bcm2708-rpi-b.dtb
2setenv bootargs 'earlyprintk console=tty0 console=ttyAMA0 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait noinitrd'
3mmc dev 0
4fatload mmc 0:1 ${kernel_addr_r} uImage
5fatload mmc 0:1 ${fdt_addr_r} ${fdtfile}
6bootm ${kernel_addr_r} - ${fdt_addr_r}
diff --git a/recipes-bsp/rpi-u-boot-scr/files/raspberrypi0/boot.cmd b/recipes-bsp/rpi-u-boot-scr/files/raspberrypi0/boot.cmd
new file mode 100644
index 0000000..c86c758
--- /dev/null
+++ b/recipes-bsp/rpi-u-boot-scr/files/raspberrypi0/boot.cmd
@@ -0,0 +1,6 @@
1setenv fdtfile bcm2708-rpi-b.dtb
2setenv bootargs 'earlyprintk console=tty0 console=ttyAMA0 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait noinitrd'
3mmc dev 0
4fatload mmc 0:1 ${kernel_addr_r} uImage
5fatload mmc 0:1 ${fdt_addr_r} ${fdtfile}
6bootm ${kernel_addr_r} - ${fdt_addr_r}
diff --git a/recipes-bsp/rpi-u-boot-scr/files/raspberrypi2/boot.cmd b/recipes-bsp/rpi-u-boot-scr/files/raspberrypi2/boot.cmd
new file mode 100644
index 0000000..aa4ea64
--- /dev/null
+++ b/recipes-bsp/rpi-u-boot-scr/files/raspberrypi2/boot.cmd
@@ -0,0 +1,6 @@
1setenv fdtfile bcm2709-rpi-2-b.dtb
2setenv bootargs 'earlyprintk console=tty0 console=ttyAMA0 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait noinitrd'
3mmc dev 0
4fatload mmc 0:1 ${kernel_addr_r} uImage
5fatload mmc 0:1 ${fdt_addr_r} ${fdtfile}
6bootm ${kernel_addr_r} - ${fdt_addr_r}
diff --git a/recipes-bsp/rpi-u-boot-scr/files/raspberrypi3/boot.cmd b/recipes-bsp/rpi-u-boot-scr/files/raspberrypi3/boot.cmd
new file mode 100644
index 0000000..2950856
--- /dev/null
+++ b/recipes-bsp/rpi-u-boot-scr/files/raspberrypi3/boot.cmd
@@ -0,0 +1,6 @@
1setenv fdtfile bcm2710-rpi-3-b.dtb
2setenv bootargs 'earlyprintk console=tty0 console=ttyAMA0 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait noinitrd'
3mmc dev 0
4fatload mmc 0:1 ${kernel_addr_r} uImage
5fatload mmc 0:1 ${fdt_addr_r} ${fdtfile}
6bootm ${kernel_addr_r} - ${fdt_addr_r}
diff --git a/recipes-bsp/rpi-u-boot-scr/rpi-u-boot-scr.bb b/recipes-bsp/rpi-u-boot-scr/rpi-u-boot-scr.bb
new file mode 100644
index 0000000..4936dcf
--- /dev/null
+++ b/recipes-bsp/rpi-u-boot-scr/rpi-u-boot-scr.bb
@@ -0,0 +1,21 @@
1SUMMARY = "U-boot boot scripts for Raspberry Pi"
2LICENSE = "MIT"
3LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
4COMPATIBLE_MACHINE = "rpi"
5
6DEPENDS = "u-boot-mkimage-native"
7
8SRC_URI = "file://boot.cmd"
9
10do_compile() {
11 mkimage -A arm -T script -C none -n "Boot script" -d "${WORKDIR}/boot.cmd" boot.scr
12}
13
14inherit deploy
15
16do_deploy() {
17 install -d ${DEPLOYDIR}
18 install -m 0644 boot.scr ${DEPLOYDIR}
19}
20
21addtask do_deploy after do_compile before do_build