[Angstrom-devel] Joel A Fernandes : narcissus: Create UBIFS image in a tmp directory and delete it later

Angstrom Git Repos ang-git at xora.vm.bytemark.co.uk
Fri Jul 22 12:17:33 CEST 2011


Module: narcissus
Branch: master
Commit: 838baf1a3107a4ac4370f5a9e1e0389f7d48750b

Author: Joel A Fernandes <agnel.joel at gmail.com>
Date:   Tue Jul 19 13:15:43 2011 -0500

narcissus: Create UBIFS image in a tmp directory and delete it later

A UBIFS might be required more than once, so we keep it in a tmp directory and delete it later
This fixes a bug introduced by commit at [1] discussed in [2]

[1] http://git.angstrom-distribution.org/cgi-bin/cgit.cgi/narcissus/commit/?id=912be148348a796f2613ebf97ee11f2a0e96530e
[2] http://lists.linuxtogo.org/pipermail/angstrom-distro-devel/2011-July/004793.html

Signed-off-by: Joel A Fernandes <agnel.joel at gmail.com>
Signed-off-by: Koen Kooi <koen at dominion.thruhere.net>

---

 conf/host-config          |    2 ++
 scripts/assemble-image.sh |   15 +++++++++------
 2 files changed, 11 insertions(+), 6 deletions(-)

diff --git a/conf/host-config b/conf/host-config
index ab60c30..f30c3af 100644
--- a/conf/host-config
+++ b/conf/host-config
@@ -15,6 +15,8 @@ export CACHEDIRIPK="${CACHEDIR}/ipk"
 
 export TARGET_DIR="${WORKDIR}/work/${MACHINE}/${IMAGENAME}"
 
+export UBIFS_TMP_DIR="${TARGET_DIR}-ubi-tmp"
+
 # Choose between pseudo and fakeroot
 export PSEUDO_LOCALSTATEDIR="${TARGET_DIR}-pseudo"
 export PSEUDO_BINDIR=${WORKDIR}/bin
diff --git a/scripts/assemble-image.sh b/scripts/assemble-image.sh
index 2940d9a..df9b4ed 100755
--- a/scripts/assemble-image.sh
+++ b/scripts/assemble-image.sh
@@ -146,9 +146,9 @@ if [ -e ${WORKDIR}/conf/${MACHINE}/sd ] ; then
 		echo "tar xzf ${TARGET_DIR}/../${IMAGENAME}-${MACHINE}.tar.gz -C /mnt/narcissus/sd_image2"
 		tar xzf ${TARGET_DIR}/../${IMAGENAME}-${MACHINE}.tar.gz -C /mnt/narcissus/sd_image2
 
-		if [ -e ${TARGET_DIR}/../${IMAGENAME}-${MACHINE}.ubi ] ; then
+		if [ -e ${UBIFS_TMP_DIR}/${IMAGENAME}-${MACHINE}.ubi ] ; then
 			echo "Copying UBIFS image to file system:"
-			mv ${TARGET_DIR}/../${IMAGENAME}-${MACHINE}.ubi /mnt/narcissus/sd_image2/boot/fs.ubi
+			cp ${UBIFS_TMP_DIR}/${IMAGENAME}-${MACHINE}.ubi /mnt/narcissus/sd_image2/boot/fs.ubi
 		fi
 
 		touch  /mnt/narcissus/sd_image2/narcissus-was-here
@@ -187,16 +187,19 @@ function do_tar()
 function do_ubifs()
 {
 	echo "creating ubi volume"
+	mkdir -p ${UBIFS_TMP_DIR}
 	( cd ${TARGET_DIR}/../
 	  echo \[ubifs\] > ubinize.cfg
 	  echo mode=ubi >> ubinize.cfg 
-	  echo image=${TARGET_DIR}/../${IMAGENAME}-${MACHINE}.ubifs >> ubinize.cfg
+	  echo image=${UBIFS_TMP_DIR}/${IMAGENAME}-${MACHINE}.ubifs >> ubinize.cfg
 	  echo vol_id=0 >> ubinize.cfg
 	  echo vol_type=dynamic >> ubinize.cfg
 	  echo vol_name=${MACHINE}-rootfs >> ubinize.cfg
 	  echo vol_flags=autoresize >> ubinize.cfg
-	  echo "running: ${FAKEROOT} mkfs.ubifs -r ${IMAGE_ROOTFS} -o ${TARGET_DIR}/../${IMAGENAME}-${MACHINE}.ubifs ${MKUBIFS_ARGS} && ubinize -o ${TARGET_DIR}/../${IMAGENAME}-${MACHINE}.ubi ${UBINIZE_ARGS} ubinize.cfg"
-	  ${FAKEROOT} mkfs.ubifs -r ${IMAGE_ROOTFS} -o ${TARGET_DIR}/../${IMAGENAME}-${MACHINE}.ubifs ${MKUBIFS_ARGS} && ubinize -o ${TARGET_DIR}/../${IMAGENAME}-${MACHINE}.ubi ${UBINIZE_ARGS} ubinize.cfg )
+	  echo "running: ${FAKEROOT} mkfs.ubifs -r ${IMAGE_ROOTFS} -o ${UBIFS_TMP_DIR}/${IMAGENAME}-${MACHINE}.ubifs ${MKUBIFS_ARGS} && ubinize -o ${UBIFS_TMP_DIR}/${IMAGENAME}-${MACHINE}.ubi ${UBINIZE_ARGS} ubinize.cfg"
+	  ${FAKEROOT} mkfs.ubifs -r ${IMAGE_ROOTFS} -o ${UBIFS_TMP_DIR}/${IMAGENAME}-${MACHINE}.ubifs ${MKUBIFS_ARGS} && ubinize -o ${UBIFS_TMP_DIR}/${IMAGENAME}-${MACHINE}.ubi ${UBINIZE_ARGS} ubinize.cfg )
+	echo "running: cp ${UBIFS_TMP_DIR}/${IMAGENAME}-${MACHINE}.ubi ${TARGET_DIR}/../${IMAGENAME}-${MACHINE}.ubi"
+	cp ${UBIFS_TMP_DIR}/${IMAGENAME}-${MACHINE}.ubi ${TARGET_DIR}/../${IMAGENAME}-${MACHINE}.ubi
 }
 
 function do_jffs2()
@@ -452,7 +455,7 @@ case ${SDK} in
 esac
 
 echo "removing target dir"
-rm -rf ${PSEUDO_LOCALSTATEDIR} ${OPKG_TMP_DIR} ${TARGET_DIR}
+rm -rf ${PSEUDO_LOCALSTATEDIR} ${OPKG_TMP_DIR} ${UBIFS_TMP_DIR} ${TARGET_DIR}
 
 exit ${RETVAL}
 




More information about the Angstrom-distro-devel mailing list