diff options
-rw-r--r-- | classes/sota.bbclass | 1 | ||||
-rw-r--r-- | classes/sota_freedom-u540.bbclass | 16 | ||||
-rw-r--r-- | conf/include/bblayers/sota_freedom-u540.inc | 2 | ||||
-rw-r--r-- | lib/oeqa/selftest/cases/testutils.py | 8 | ||||
-rw-r--r-- | recipes-core/images/initramfs-ostree-image.bb | 3 |
5 files changed, 29 insertions, 1 deletions
diff --git a/classes/sota.bbclass b/classes/sota.bbclass index 1a9d68b..d2a065c 100644 --- a/classes/sota.bbclass +++ b/classes/sota.bbclass | |||
@@ -58,6 +58,7 @@ SOTA_MACHINE_m3ulcb = "m3ulcb" | |||
58 | SOTA_MACHINE_intel-corei7-64 ?= "minnowboard" | 58 | SOTA_MACHINE_intel-corei7-64 ?= "minnowboard" |
59 | SOTA_MACHINE_qemux86-64 ?= "qemux86-64" | 59 | SOTA_MACHINE_qemux86-64 ?= "qemux86-64" |
60 | SOTA_MACHINE_am335x-evm ?= "am335x-evm-wifi" | 60 | SOTA_MACHINE_am335x-evm ?= "am335x-evm-wifi" |
61 | SOTA_MACHINE_freedom-u540 ?= "freedom-u540" | ||
61 | 62 | ||
62 | SOTA_OVERRIDES_BLACKLIST = "ostree ota" | 63 | SOTA_OVERRIDES_BLACKLIST = "ostree ota" |
63 | SOTA_REQUIRED_VARIABLES = "OSTREE_REPO OSTREE_OSNAME OSTREE_BOOTLOADER OSTREE_BOOT_PARTITION GARAGE_SIGN_REPO" | 64 | SOTA_REQUIRED_VARIABLES = "OSTREE_REPO OSTREE_OSNAME OSTREE_BOOTLOADER OSTREE_BOOT_PARTITION GARAGE_SIGN_REPO" |
diff --git a/classes/sota_freedom-u540.bbclass b/classes/sota_freedom-u540.bbclass new file mode 100644 index 0000000..90d11c2 --- /dev/null +++ b/classes/sota_freedom-u540.bbclass | |||
@@ -0,0 +1,16 @@ | |||
1 | # Support fitImage by default | ||
2 | KERNEL_CLASSES_sota = " kernel-fitimage " | ||
3 | KERNEL_IMAGETYPE_sota = "fitImage" | ||
4 | KERNEL_IMAGETYPES_remove_sota = "uImage" | ||
5 | OSTREE_KERNEL = "${KERNEL_IMAGETYPE}-${INITRAMFS_IMAGE}-${MACHINE}-${MACHINE}" | ||
6 | |||
7 | OSTREE_BOOTLOADER ?= "u-boot" | ||
8 | INITRAMFS_FSTYPES = "cpio.gz" | ||
9 | PREFERRED_PROVIDER_virtual/bootloader_sota ?= "u-boot" | ||
10 | |||
11 | IMAGE_BOOT_FILES_sota ?= "fw_payload.bin boot.scr uEnv.txt" | ||
12 | KERNEL_DEVICETREE_sota ?= "sifive/${RISCV_SBI_FDT}" | ||
13 | |||
14 | OSTREE_KERNEL_ARGS_sota ?= "earlycon=sbi console=ttySIF0 ramdisk_size=16384 root=/dev/ram0 rw rootfstype=ext4 rootwait rootdelay=2 ostree_root=/dev/mmcblk0p3" | ||
15 | |||
16 | WKS_FILE_sota = "freedom-u540-opensbi-sota.wks" | ||
diff --git a/conf/include/bblayers/sota_freedom-u540.inc b/conf/include/bblayers/sota_freedom-u540.inc new file mode 100644 index 0000000..977f96b --- /dev/null +++ b/conf/include/bblayers/sota_freedom-u540.inc | |||
@@ -0,0 +1,2 @@ | |||
1 | BBLAYERS += "${METADIR}/meta-riscv" | ||
2 | BBLAYERS += "${METADIR}/meta-updater-riscv" | ||
diff --git a/lib/oeqa/selftest/cases/testutils.py b/lib/oeqa/selftest/cases/testutils.py index 8d618a6..28087ca 100644 --- a/lib/oeqa/selftest/cases/testutils.py +++ b/lib/oeqa/selftest/cases/testutils.py | |||
@@ -121,15 +121,21 @@ def verifyNotProvisioned(testInst, machine): | |||
121 | 121 | ||
122 | def verifyProvisioned(testInst, machine): | 122 | def verifyProvisioned(testInst, machine): |
123 | # Verify that device HAS provisioned. | 123 | # Verify that device HAS provisioned. |
124 | # First loop while waiting for the device to boot. | ||
124 | ran_ok = False | 125 | ran_ok = False |
125 | for delay in [5, 5, 5, 5, 10, 10, 10, 10]: | 126 | for delay in [5, 5, 5, 5, 10, 10, 10, 10]: |
126 | stdout, stderr, retcode = testInst.qemu_command('aktualizr-info') | 127 | stdout, stderr, retcode = testInst.qemu_command('aktualizr-info') |
127 | if retcode == 0 and stderr == b'' and stdout.decode().find('Fetched metadata: yes') >= 0: | 128 | if retcode == 0 and stderr == b'': |
128 | ran_ok = True | 129 | ran_ok = True |
129 | break | 130 | break |
130 | sleep(delay) | 131 | sleep(delay) |
131 | testInst.assertTrue(ran_ok, 'aktualizr-info failed: ' + stderr.decode() + stdout.decode()) | 132 | testInst.assertTrue(ran_ok, 'aktualizr-info failed: ' + stderr.decode() + stdout.decode()) |
133 | # Then wait for aktualizr to provision. | ||
134 | if stdout.decode().find('Fetched metadata: yes') < 0: | ||
135 | stdout, stderr, retcode = testInst.qemu_command('aktualizr-info --wait-until-provisioned') | ||
132 | 136 | ||
137 | testInst.assertFalse(retcode, 'aktualizr-info failed: ' + stderr.decode() + stdout.decode()) | ||
138 | testInst.assertEqual(stderr, b'', 'aktualizr-info failed: ' + stderr.decode() + stdout.decode()) | ||
133 | testInst.assertIn(b'Device ID: ', stdout, 'Provisioning failed: ' + stderr.decode() + stdout.decode()) | 139 | testInst.assertIn(b'Device ID: ', stdout, 'Provisioning failed: ' + stderr.decode() + stdout.decode()) |
134 | testInst.assertIn(b'Primary ecu hardware ID: ' + machine.encode(), stdout, | 140 | testInst.assertIn(b'Primary ecu hardware ID: ' + machine.encode(), stdout, |
135 | 'Provisioning failed: ' + stderr.decode() + stdout.decode()) | 141 | 'Provisioning failed: ' + stderr.decode() + stdout.decode()) |
diff --git a/recipes-core/images/initramfs-ostree-image.bb b/recipes-core/images/initramfs-ostree-image.bb index e77499e..b21be1c 100644 --- a/recipes-core/images/initramfs-ostree-image.bb +++ b/recipes-core/images/initramfs-ostree-image.bb | |||
@@ -15,6 +15,9 @@ LICENSE = "MIT" | |||
15 | 15 | ||
16 | IMAGE_FSTYPES = "${INITRAMFS_FSTYPES}" | 16 | IMAGE_FSTYPES = "${INITRAMFS_FSTYPES}" |
17 | 17 | ||
18 | # Avoid circular dependencies | ||
19 | EXTRA_IMAGEDEPENDS = "" | ||
20 | |||
18 | inherit core-image | 21 | inherit core-image |
19 | 22 | ||
20 | IMAGE_ROOTFS_SIZE = "8192" | 23 | IMAGE_ROOTFS_SIZE = "8192" |