From 1b73e59ec2703605ad20ea7b42516cb382a5436a Mon Sep 17 00:00:00 2001 From: Anton Gerasimov Date: Tue, 25 Oct 2016 11:08:50 +0200 Subject: OSTree-enabled image for raspberry Pi MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 Signed-off-by: Jan-Simon Möller --- .../u-boot-otascript/u-boot-otascript.bb | 26 ++++++++++++++++++++++ .../u-boot-otascript/u-boot-otascript/boot.scr | 3 +++ .../u-boot-otascript/u-boot-otascript/uEnv.txt | 7 ++++++ 3 files changed, 36 insertions(+) create mode 100644 meta-sota/recipes-bsp/u-boot-otascript/u-boot-otascript.bb create mode 100644 meta-sota/recipes-bsp/u-boot-otascript/u-boot-otascript/boot.scr create mode 100644 meta-sota/recipes-bsp/u-boot-otascript/u-boot-otascript/uEnv.txt (limited to 'meta-sota/recipes-bsp/u-boot-otascript') 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 -- cgit 1.2.3-korg