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 <p...@paulbarker.me.uk> --- .../rpi-u-boot-scr/files/raspberrypi/boot.cmd | 6 ++++++ .../rpi-u-boot-scr/files/raspberrypi0/boot.cmd | 6 ++++++ .../rpi-u-boot-scr/files/raspberrypi2/boot.cmd | 6 ++++++ .../rpi-u-boot-scr/files/raspberrypi3/boot.cmd | 6 ++++++ recipes-bsp/rpi-u-boot-scr/rpi-u-boot-scr.bb | 21 +++++++++++++++++++++ 5 files changed, 45 insertions(+) create mode 100644 recipes-bsp/rpi-u-boot-scr/files/raspberrypi/boot.cmd create mode 100644 recipes-bsp/rpi-u-boot-scr/files/raspberrypi0/boot.cmd create mode 100644 recipes-bsp/rpi-u-boot-scr/files/raspberrypi2/boot.cmd create mode 100644 recipes-bsp/rpi-u-boot-scr/files/raspberrypi3/boot.cmd create mode 100644 recipes-bsp/rpi-u-boot-scr/rpi-u-boot-scr.bb 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 @@ +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/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 @@ +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/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 @@ +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/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 @@ +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/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 @@ +SUMMARY = "U-boot boot scripts for Raspberry Pi" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" +COMPATIBLE_MACHINE = "rpi" + +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 -- _______________________________________________ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto