summaryrefslogtreecommitdiffstats
path: root/meta-sota/recipes-bsp
diff options
context:
space:
mode:
authorAnton Gerasimov <anton@advancedtelematic.com>2016-10-25 11:08:50 +0200
committerAnton Gerasimov <anton@advancedtelematic.com>2016-10-27 11:35:21 +0200
commit1b73e59ec2703605ad20ea7b42516cb382a5436a (patch)
tree1b5f5c79a1744f5af1faf9dfc93476282e3ad202 /meta-sota/recipes-bsp
parenteadecc11aac1b0de7a0841213f647e35ccf5a6a1 (diff)
OSTree-enabled image for raspberry Pi
Bug-AGL: SPEC-254 v2 [jsmoeller]: change rpi fdt addr to 200M (fix cma), re-add inherit gobject-introspection (!) v3 [oytis]: move boot logic to editable uEnv.txt Change-Id: Ic54aadc8377ed1e2a8f2f4ab87db2a7a6660cd15 Signed-off-by: Anton Gerasimov <anton@advancedtelematic.com> Signed-off-by: Jan-Simon Möller <jsmoeller@linuxfoundation.org>
Diffstat (limited to 'meta-sota/recipes-bsp')
-rw-r--r--meta-sota/recipes-bsp/bootfiles/bcm2835-bootfiles.bbappend1
-rw-r--r--meta-sota/recipes-bsp/bootfiles/rpi-config_git.bbappend3
-rw-r--r--meta-sota/recipes-bsp/u-boot-otascript/u-boot-otascript.bb26
-rw-r--r--meta-sota/recipes-bsp/u-boot-otascript/u-boot-otascript/boot.scr3
-rw-r--r--meta-sota/recipes-bsp/u-boot-otascript/u-boot-otascript/uEnv.txt7
-rw-r--r--meta-sota/recipes-bsp/u-boot/u-boot_2016.11.bb7
6 files changed, 47 insertions, 0 deletions
diff --git a/meta-sota/recipes-bsp/bootfiles/bcm2835-bootfiles.bbappend b/meta-sota/recipes-bsp/bootfiles/bcm2835-bootfiles.bbappend
new file mode 100644
index 0000000..74aa6b1
--- /dev/null
+++ b/meta-sota/recipes-bsp/bootfiles/bcm2835-bootfiles.bbappend
@@ -0,0 +1 @@
+RDEPENDS_${PN} += " u-boot-otascript"
diff --git a/meta-sota/recipes-bsp/bootfiles/rpi-config_git.bbappend b/meta-sota/recipes-bsp/bootfiles/rpi-config_git.bbappend
new file mode 100644
index 0000000..6e53993
--- /dev/null
+++ b/meta-sota/recipes-bsp/bootfiles/rpi-config_git.bbappend
@@ -0,0 +1,3 @@
+do_deploy_append() {
+ echo "device_tree_address=0x0c800000" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
+}
diff --git a/meta-sota/recipes-bsp/u-boot-otascript/u-boot-otascript.bb b/meta-sota/recipes-bsp/u-boot-otascript/u-boot-otascript.bb
new file mode 100644
index 0000000..9f5f0ca
--- /dev/null
+++ b/meta-sota/recipes-bsp/u-boot-otascript/u-boot-otascript.bb
@@ -0,0 +1,26 @@
+DESCRIPTION = "Boot script for launching OTA-enabled images on raspberrypi"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
+
+DEPENDS = "u-boot-mkimage-native"
+
+COMPATIBLE_MACHINE = "raspberrypi"
+
+SRC_URI = "file://boot.scr \
+ file://uEnv.txt"
+
+S = "${WORKDIR}"
+
+inherit deploy
+
+do_deploy() {
+ install -d ${DEPLOYDIR}/bcm2835-bootfiles
+
+ mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n "Ostree boot script" -d ${S}/boot.scr ${DEPLOYDIR}/bcm2835-bootfiles/boot.scr
+ install -m 0755 ${S}/uEnv.txt ${DEPLOYDIR}/bcm2835-bootfiles/uEnv.txt
+}
+
+addtask deploy before do_package after do_install
+do_deploy[dirs] += "${DEPLOYDIR}/bcm2835-bootfiles"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
diff --git a/meta-sota/recipes-bsp/u-boot-otascript/u-boot-otascript/boot.scr b/meta-sota/recipes-bsp/u-boot-otascript/u-boot-otascript/boot.scr
new file mode 100644
index 0000000..dc13f85
--- /dev/null
+++ b/meta-sota/recipes-bsp/u-boot-otascript/u-boot-otascript/boot.scr
@@ -0,0 +1,3 @@
+fatload mmc 0:1 $loadaddr /uEnv.txt
+env import -t $loadaddr $filesize
+run bootcmd
diff --git a/meta-sota/recipes-bsp/u-boot-otascript/u-boot-otascript/uEnv.txt b/meta-sota/recipes-bsp/u-boot-otascript/u-boot-otascript/uEnv.txt
new file mode 100644
index 0000000..f6c0570
--- /dev/null
+++ b/meta-sota/recipes-bsp/u-boot-otascript/u-boot-otascript/uEnv.txt
@@ -0,0 +1,7 @@
+fdt_addr_r=0x0c800000
+bootcmd_dtb=fdt addr $fdt_addr_r; fdt get value bootargs_fdt /chosen bootargs
+bootcmd_otenv=ext2load mmc 0:2 $loadaddr /boot/loader/uEnv.txt; env import -t $loadaddr $filesize
+bootcmd_args=setenv bootargs "$bootargs $bootargs_fdt ostree_root=/dev/mmcblk0p2 root=/dev/ram0 rw rootwait rootdelay=2 ramdisk_size=8192"
+bootcmd_load=ext2load mmc 0:2 $kernel_addr_r "/boot"$kernel_image; ext2load mmc 0:2 $ramdisk_addr_r "/boot"$ramdisk_image
+bootcmd_run=bootm $kernel_addr_r $ramdisk_addr_r $fdt_addr_r
+bootcmd=run bootcmd_dtb; run bootcmd_otenv; run bootcmd_args; run bootcmd_load; run bootcmd_run
diff --git a/meta-sota/recipes-bsp/u-boot/u-boot_2016.11.bb b/meta-sota/recipes-bsp/u-boot/u-boot_2016.11.bb
new file mode 100644
index 0000000..a05b37f
--- /dev/null
+++ b/meta-sota/recipes-bsp/u-boot/u-boot_2016.11.bb
@@ -0,0 +1,7 @@
+require recipes-bsp/u-boot/u-boot.inc
+
+DEPENDS += "dtc-native"
+
+SRCREV = "5ea3e51fc481613a8dee8c02848d1b42c81ad892"
+
+PV = "v2016.11+git${SRCPV}"