From fce257892488b9ef537526ccf412e9deda37c439 Mon Sep 17 00:00:00 2001 From: Mike Looijmans Date: Tue, 15 Sep 2015 11:50:39 +0200 Subject: image_types.bbclass: Don't try to create ubi symlink twice Fixes b6e64de541b37 "Restore compatibility with previous UBI filesystems" The multivolume UBI code creates symlinks for each volume. If the volume name is empty, it will create a symlink that the rootfs code will attempt to create again later, resulting in a crash like this (unless IMAGE_LINK_NAME is blank): ERROR: Error executing a python function in .../recipes-core/images/my-image.bb: File: '.../oe-core/meta/lib/oe/image.py', lineno: 203, function: _create_symlinks *** 0203: os.symlink(src, dst) Exception: OSError: [Errno 17] File exists To prevent this from happening, only create symlinks to volumes that have a name, and let the rootfs script create the default symlink later. Signed-off-by: Mike Looijmans Signed-off-by: Ross Burton --- meta/classes/image_types.bbclass | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/meta/classes/image_types.bbclass b/meta/classes/image_types.bbclass index 306403e310..afa2e8eb8f 100644 --- a/meta/classes/image_types.bbclass +++ b/meta/classes/image_types.bbclass @@ -139,17 +139,19 @@ multiubi_mkfs() { # Cleanup cfg file mv ubinize${vname}.cfg ${DEPLOY_DIR_IMAGE}/ - # Create own symlink - cd ${DEPLOY_DIR_IMAGE} - if [ -e ${IMAGE_NAME}${vname}.rootfs.ubifs ]; then - ln -sf ${IMAGE_NAME}${vname}.rootfs.ubifs \ - ${IMAGE_LINK_NAME}${vname}.ubifs - fi - if [ -e ${IMAGE_NAME}${vname}.rootfs.ubi ]; then - ln -sf ${IMAGE_NAME}${vname}.rootfs.ubi \ - ${IMAGE_LINK_NAME}${vname}.ubi + # Create own symlinks for 'named' volumes + if [ -n "$vname" ]; then + cd ${DEPLOY_DIR_IMAGE} + if [ -e ${IMAGE_NAME}${vname}.rootfs.ubifs ]; then + ln -sf ${IMAGE_NAME}${vname}.rootfs.ubifs \ + ${IMAGE_LINK_NAME}${vname}.ubifs + fi + if [ -e ${IMAGE_NAME}${vname}.rootfs.ubi ]; then + ln -sf ${IMAGE_NAME}${vname}.rootfs.ubi \ + ${IMAGE_LINK_NAME}${vname}.ubi + fi + cd - fi - cd - } IMAGE_CMD_multiubi () { -- cgit 1.2.3-korg