Project

General

Profile

« Previous | Next » 

Revision 5de5a708

Added by Renato Botelho about 9 years ago

Do not use makefs to create / partition since it fails badly sometimes

View differences:

tools/builder_common.sh
878 878
	[ -d "${OVA_TMP}" ] \
879 879
		&& rm -rf ${OVA_TMP}
880 880

  
881
	mkdir -p ${OVA_TMP}
881
	local _mntdir=${OVA_TMP}/mnt
882
	mkdir -p ${_mntdir}
882 883

  
883 884
	if [ -z "${OVA_SWAP_PART_SIZE_IN_GB}" -o "${OVA_SWAP_PART_SIZE_IN_GB}" = "0" ]; then
884 885
		# first partition size (freebsd-ufs)
......
913 914

  
914 915
	# Create / partition
915 916
	echo -n ">>> Creating / partition... " | tee -a ${LOGFILE}
916
	makefs \
917
		-B little \
918
		-o label=${PRODUCT_NAME},version=2,bsize=32768,fsize=4096,maxbpg=4096,density=8192,minfree=8 \
919
		-s ${OVA_FIRST_PART_SIZE} \
920
		${OVA_TMP}/${OVFUFS} \
921
		${FINAL_CHROOT_DIR} 2>&1 >> ${LOGFILE}
922

  
923
	if [ $? -ne 0 -o ! -f ${OVA_TMP}/${OVFUFS} ]; then
924
		if [ -f ${OVA_TMP}/${OVFUFS} ]; then
925
			rm -f ${OVA_TMP}/${OVFUFS}
926
		fi
927
		echo "Failed!" | tee -a ${LOGFILE}
928
		echo ">>> ERROR: Error creating vmdk / partition. STOPPING!" | tee -a ${LOGFILE}
929
		print_error_pfS
930
	fi
931
	echo "Done!" | tee -a ${LOGFILE}
917
	truncate -s ${OVA_FIRST_PART_SIZE} ${OVA_TMP}/${OVFUFS}
918
	local _md=$(mdconfig -a -f ${OVA_TMP}/${OVAUFS})
919
	trap "mdconfig -d -u ${_md}; return" 1 2 15 EXIT
920

  
921
	newfs -L ${PRODUCT_NAME} -j /dev/${_md} 2>&1 >>${LOGFILE}
932 922

  
933
	echo -n ">>> Enabling SUJ on recently created disk... " | tee -a ${LOGFILE}
934
	if ! tunefs -j enable ${OVA_TMP}/${OVFUFS} 2>&1 >>${LOGFILE}; then
923
	if ! mount /dev/${_md} ${_mntdir} 2>&1 >>${LOGFILE}; then
935 924
		echo "Failed!" | tee -a ${LOGFILE}
936
		echo ">>> ERROR: Error enabling SUJ on disk. STOPPING!" | tee -a ${LOGFILE}
925
		echo ">>> ERROR: Error mounting temporary vmdk image. STOPPING!" | tee -a ${LOGFILE}
937 926
		print_error_pfS
938 927
	fi
928
	trap "umount ${_mntdir}; mdconfig -d -u ${_md}; return" 1 2 15 EXIT
929

  
939 930
	echo "Done!" | tee -a ${LOGFILE}
940 931

  
932
	clone_directory_contents ${FINAL_CHROOT_DIR} ${_mntdir}
933

  
934
	sync
935
	umount ${_mntdir} 2>&1 >>${LOGFILE}
936
	mdconfig -d -u ${_md}
937
	trap "-" 1 2 15 EXIT
938

  
941 939
	# Create raw disk
942 940
	echo -n ">>> Creating raw disk... " | tee -a ${LOGFILE}
943 941
	mkimg \

Also available in: Unified diff