Revision 5de5a708
Added by Renato Botelho about 9 years ago
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
Do not use makefs to create / partition since it fails badly sometimes