diff options
author | Anton Gerasimov <anton@advancedtelematic.com> | 2017-03-30 17:48:10 +0200 |
---|---|---|
committer | Anton Gerasimov <anton@advancedtelematic.com> | 2017-04-03 12:10:15 +0200 |
commit | 501e07acd803df6f9264c4206b4b9529006f287a (patch) | |
tree | 20e5bd1f9b3ffd4f230c9c9f5ac87fa85e626617 /classes/image_types_ota.bbclass | |
parent | 95b5db5a2714d429d31c42d079b192e8edb1a079 (diff) | |
download | meta-updater-501e07acd803df6f9264c4206b4b9529006f287a.tar.gz |
Merge from meta-agl-extra
Diffstat (limited to 'classes/image_types_ota.bbclass')
-rw-r--r-- | classes/image_types_ota.bbclass | 53 |
1 files changed, 25 insertions, 28 deletions
diff --git a/classes/image_types_ota.bbclass b/classes/image_types_ota.bbclass index bee1ea4..74533dd 100644 --- a/classes/image_types_ota.bbclass +++ b/classes/image_types_ota.bbclass | |||
@@ -9,12 +9,9 @@ | |||
9 | 9 | ||
10 | inherit image | 10 | inherit image |
11 | 11 | ||
12 | IMAGE_DEPENDS_otaimg = "e2fsprogs-native:do_populate_sysroot" | 12 | IMAGE_DEPENDS_otaimg = "e2fsprogs-native:do_populate_sysroot \ |
13 | 13 | ${@'grub:do_populate_sysroot' if d.getVar('OSTREE_BOOTLOADER', True) == 'grub' else ''} \ | |
14 | # For qemux86 u-boot is not included in any live image and is built separately | 14 | ${@'virtual/bootloader:do_deploy' if d.getVar('OSTREE_BOOTLOADER', True) == 'u-boot' else ''}" |
15 | IMAGE_DEPENDS_otaimg_append_qemux86 = " virtual/bootloader:do_deploy" | ||
16 | IMAGE_DEPENDS_otaimg_append_qemux86-64 = " virtual/bootloader:do_deploy" | ||
17 | IMAGE_DEPENDS_otaimg_append_corei7-64-intel-common = " virtual/bootloader:do_deploy" | ||
18 | 15 | ||
19 | calculate_size () { | 16 | calculate_size () { |
20 | BASE=$1 | 17 | BASE=$1 |
@@ -52,6 +49,7 @@ calculate_size () { | |||
52 | export OSTREE_OSNAME | 49 | export OSTREE_OSNAME |
53 | export OSTREE_BRANCHNAME | 50 | export OSTREE_BRANCHNAME |
54 | export OSTREE_REPO | 51 | export OSTREE_REPO |
52 | export OSTREE_BOOTLOADER | ||
55 | 53 | ||
56 | IMAGE_CMD_otaimg () { | 54 | IMAGE_CMD_otaimg () { |
57 | if ${@bb.utils.contains('IMAGE_FSTYPES', 'otaimg', 'true', 'false', d)}; then | 55 | if ${@bb.utils.contains('IMAGE_FSTYPES', 'otaimg', 'true', 'false', d)}; then |
@@ -76,32 +74,31 @@ IMAGE_CMD_otaimg () { | |||
76 | mkdir -p ${PHYS_SYSROOT}/boot/loader.0 | 74 | mkdir -p ${PHYS_SYSROOT}/boot/loader.0 |
77 | ln -s loader.0 ${PHYS_SYSROOT}/boot/loader | 75 | ln -s loader.0 ${PHYS_SYSROOT}/boot/loader |
78 | 76 | ||
79 | touch ${PHYS_SYSROOT}/boot/loader/uEnv.txt | 77 | if [ "${OSTREE_BOOTLOADER}" = "grub" ]; then |
78 | mkdir -p ${PHYS_SYSROOT}/boot/grub2 | ||
79 | touch ${PHYS_SYSROOT}/boot/grub2/grub.cfg | ||
80 | elif [ "${OSTREE_BOOTLOADER}" = "u-boot" ]; then | ||
81 | touch ${PHYS_SYSROOT}/boot/loader/uEnv.txt | ||
82 | else | ||
83 | bberror "Invalid bootloader: ${OSTREE_BOOTLOADER}" | ||
84 | fi; | ||
80 | 85 | ||
81 | ostree --repo=${PHYS_SYSROOT}/ostree/repo pull-local --remote=${OSTREE_OSNAME} ${OSTREE_REPO} ${OSTREE_BRANCHNAME} | 86 | ostree --repo=${PHYS_SYSROOT}/ostree/repo pull-local --remote=${OSTREE_OSNAME} ${OSTREE_REPO} ${OSTREE_BRANCHNAME} |
82 | ostree admin --sysroot=${PHYS_SYSROOT} deploy --os=${OSTREE_OSNAME} ${OSTREE_OSNAME}:${OSTREE_BRANCHNAME} | 87 | export OSTREE_BOOT_PARTITION="/boot" |
83 | 88 | kargs_list="" | |
84 | # Copy deployment /home to sysroot | 89 | for arg in ${OSTREE_KERNEL_ARGS}; do |
90 | kargs_list="${kargs_list} --karg-append=$arg" | ||
91 | done | ||
92 | |||
93 | ostree admin --sysroot=${PHYS_SYSROOT} deploy ${kargs_list} --os=${OSTREE_OSNAME} ${OSTREE_OSNAME}:${OSTREE_BRANCHNAME} | ||
94 | |||
95 | # Copy deployment /home and /var/sota to sysroot | ||
85 | HOME_TMP=`mktemp -d ${WORKDIR}/home-tmp-XXXXX` | 96 | HOME_TMP=`mktemp -d ${WORKDIR}/home-tmp-XXXXX` |
86 | tar --xattrs --xattrs-include='*' -C ${HOME_TMP} -xf ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.rootfs.ostree.tar.bz2 ./usr/homedirs | 97 | tar --xattrs --xattrs-include='*' -C ${HOME_TMP} -xf ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.rootfs.ostree.tar.bz2 ./usr/homedirs ./var/sota || true |
87 | mv ${HOME_TMP}/usr/homedirs/home ${PHYS_SYSROOT}/ | 98 | > mv ${HOME_TMP}/var/sota ${PHYS_SYSROOT}/ostree/deploy/${OSTREE_OSNAME}/var/ || true |
99 | mv ${HOME_TMP}/usr/homedirs/home ${PHYS_SYSROOT}/ || true | ||
88 | rm -rf ${HOME_TMP} | 100 | rm -rf ${HOME_TMP} |
89 | 101 | ||
90 | # Deploy device credentials | ||
91 | if [ -n "$SOTA_CREDENTIALS" ]; then | ||
92 | if [ -f "$SOTA_CREDENTIALS" ]; then | ||
93 | EXT=`basename $SOTA_CREDENTIALS | cut -d'.' -f2` | ||
94 | if [ "$EXT" != "toml" ]; then | ||
95 | bbwarn "File\'s extension is not \'toml\', make sure you have the correct file" | ||
96 | fi | ||
97 | |||
98 | cat $SOTA_CREDENTIALS | sed 's/^package_manager = .*$/package_manager = "ostree"/' > ${PHYS_SYSROOT}/boot/sota.toml | ||
99 | chmod 644 ${PHYS_SYSROOT}/boot/sota.toml | ||
100 | else | ||
101 | bberror "File $SOTA_CREDENTIALS does not exist" | ||
102 | fi | ||
103 | fi | ||
104 | |||
105 | # Calculate image type | 102 | # Calculate image type |
106 | OTA_ROOTFS_SIZE=$(calculate_size `du -ks $PHYS_SYSROOT | cut -f 1` "${IMAGE_OVERHEAD_FACTOR}" "${IMAGE_ROOTFS_SIZE}" "${IMAGE_ROOTFS_MAXSIZE}" `expr ${IMAGE_ROOTFS_EXTRA_SPACE}` "${IMAGE_ROOTFS_ALIGNMENT}") | 103 | OTA_ROOTFS_SIZE=$(calculate_size `du -ks $PHYS_SYSROOT | cut -f 1` "${IMAGE_OVERHEAD_FACTOR}" "${IMAGE_ROOTFS_SIZE}" "${IMAGE_ROOTFS_MAXSIZE}" `expr ${IMAGE_ROOTFS_EXTRA_SPACE}` "${IMAGE_ROOTFS_ALIGNMENT}") |
107 | 104 | ||
@@ -118,7 +115,7 @@ IMAGE_CMD_otaimg () { | |||
118 | rm -rf ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.otaimg | 115 | rm -rf ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.otaimg |
119 | sync | 116 | sync |
120 | dd if=/dev/zero of=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.otaimg seek=$OTA_ROOTFS_SIZE count=$COUNT bs=1024 | 117 | dd if=/dev/zero of=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.otaimg seek=$OTA_ROOTFS_SIZE count=$COUNT bs=1024 |
121 | mkfs.ext4 ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.otaimg -d ${PHYS_SYSROOT} | 118 | mkfs.ext4 -O ^64bit ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.otaimg -d ${PHYS_SYSROOT} |
122 | rm -rf ${PHYS_SYSROOT} | 119 | rm -rf ${PHYS_SYSROOT} |
123 | 120 | ||
124 | rm -f ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.otaimg | 121 | rm -f ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.otaimg |