summaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
Diffstat (limited to 'meta')
-rw-r--r--meta/classes/image.bbclass1
-rw-r--r--meta/classes/image_types.bbclass19
2 files changed, 14 insertions, 6 deletions
diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
index 9f4c83ffc6..65ce6bb524 100644
--- a/meta/classes/image.bbclass
+++ b/meta/classes/image.bbclass
@@ -287,6 +287,7 @@ def setup_debugfs_variables(d):
287 d.appendVar('IMAGE_ROOTFS', '-dbg') 287 d.appendVar('IMAGE_ROOTFS', '-dbg')
288 d.appendVar('IMAGE_LINK_NAME', '-dbg') 288 d.appendVar('IMAGE_LINK_NAME', '-dbg')
289 d.appendVar('IMAGE_NAME','-dbg') 289 d.appendVar('IMAGE_NAME','-dbg')
290 d.setVar('IMAGE_BUILDING_DEBUGFS', 'true')
290 debugfs_image_fstypes = d.getVar('IMAGE_FSTYPES_DEBUGFS', True) 291 debugfs_image_fstypes = d.getVar('IMAGE_FSTYPES_DEBUGFS', True)
291 if debugfs_image_fstypes: 292 if debugfs_image_fstypes:
292 d.setVar('IMAGE_FSTYPES', debugfs_image_fstypes) 293 d.setVar('IMAGE_FSTYPES', debugfs_image_fstypes)
diff --git a/meta/classes/image_types.bbclass b/meta/classes/image_types.bbclass
index ea45809a39..72e8ed34d5 100644
--- a/meta/classes/image_types.bbclass
+++ b/meta/classes/image_types.bbclass
@@ -101,13 +101,20 @@ IMAGE_CMD_tar = "${IMAGE_CMD_TAR} -cvf ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}${IMAGE_
101do_image_cpio[cleandirs] += "${WORKDIR}/cpio_append" 101do_image_cpio[cleandirs] += "${WORKDIR}/cpio_append"
102IMAGE_CMD_cpio () { 102IMAGE_CMD_cpio () {
103 (cd ${IMAGE_ROOTFS} && find . | cpio -o -H newc >${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.cpio) 103 (cd ${IMAGE_ROOTFS} && find . | cpio -o -H newc >${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.cpio)
104 if [ ! -L ${IMAGE_ROOTFS}/init -a ! -e ${IMAGE_ROOTFS}/init ]; then 104 # We only need the /init symlink if we're building the real
105 if [ -L ${IMAGE_ROOTFS}/sbin/init -o -e ${IMAGE_ROOTFS}/sbin/init ]; then 105 # image. The -dbg image doesn't need it! By being clever
106 ln -sf /sbin/init ${WORKDIR}/cpio_append/init 106 # about this we also avoid 'touch' below failing, as it
107 else 107 # might be trying to touch /sbin/init on the host since both
108 touch ${WORKDIR}/cpio_append/init 108 # the normal and the -dbg image share the same WORKDIR
109 if [ "${IMAGE_BUILDING_DEBUGFS}" != "true" ]; then
110 if [ ! -L ${IMAGE_ROOTFS}/init ] && [ ! -e ${IMAGE_ROOTFS}/init ]; then
111 if [ -L ${IMAGE_ROOTFS}/sbin/init ] || [ -e ${IMAGE_ROOTFS}/sbin/init ]; then
112 ln -sf /sbin/init ${WORKDIR}/cpio_append/init
113 else
114 touch ${WORKDIR}/cpio_append/init
115 fi
116 (cd ${WORKDIR}/cpio_append && echo ./init | cpio -oA -H newc -F ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.cpio)
109 fi 117 fi
110 (cd ${WORKDIR}/cpio_append && echo ./init | cpio -oA -H newc -F ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.cpio)
111 fi 118 fi
112} 119}
113 120