Project

General

Profile

« Previous | Next » 

Revision 5df6d76a

Added by Renato Botelho almost 9 years ago

Use mkisoimages.sh to build ISO

View differences:

tools/builder_common.sh
1101 1101

  
1102 1102
create_iso_image() {
1103 1103
	LOGFILE=${BUILDER_LOGS}/isoimage.${TARGET}
1104
	echo ">>> Building bootable ISO image for ${TARGET}" | tee -a ${LOGFILE}
1105
	if [ -z "${DEFAULT_KERNEL}" ]; then
1106
		echo ">>> ERROR: Could not identify DEFAULT_KERNEL to install on image!" | tee -a ${LOGFILE}
1107
		print_error_pfS
1104
	if [ "${ISOPATH}" = "" ]; then
1105
		echo ">>> ISOPATH is empty skipping generation of ISO image!" | tee -a ${LOGFILE}
1106
		return
1108 1107
	fi
1109 1108

  
1109
	echo ">>> Building bootable ISO image for ${TARGET}" | tee -a ${LOGFILE}
1110

  
1110 1111
	mkdir -p $(dirname ${ISOPATH})
1111 1112

  
1112 1113
	customize_stagearea_for_image "iso"
1113 1114
	install_default_kernel ${DEFAULT_KERNEL}
1114 1115

  
1115
	echo cdrom > $FINAL_CHROOT_DIR/etc/platform
1116
	BOOTCONF=${INSTALLER_CHROOT_DIR}/boot.config
1117
	LOADERCONF=${INSTALLER_CHROOT_DIR}/boot/loader.conf
1116 1118

  
1117
	FSLABEL=$(echo ${PRODUCT_NAME} | tr '[:lower:]' '[:upper:]')
1118
	echo "/dev/iso9660/${FSLABEL} / cd9660 ro 0 0" > ${FINAL_CHROOT_DIR}/etc/fstab
1119
	rm -f ${LOADERCONF} ${BOOTCONF} >/dev/null 2>&1
1119 1120

  
1120
	# This check is for supporting create memstick/ova images
1121
	echo -n ">>> Running command: script -aq $LOGFILE makefs -t cd9660 -o bootimage=\"i386;${FINAL_CHROOT_DIR}/boot/cdboot \"-o no-emul-boot -o rockridge " | tee -a ${LOGFILE}
1122
	echo "-o label=${FSLABEL} -o publisher=\"${PRODUCT_NAME} project.\" $ISOPATH ${FINAL_CHROOT_DIR}" | tee -a ${LOGFILE}
1121
	touch ${FINAL_CHROOT_DIR}/boot/loader.conf
1123 1122

  
1124 1123
	create_distribution_tarball
1125 1124

  
1126
	# Remove /rescue from iso since cd9660 cannot deal with hardlinks
1127
	rm -rf ${FINAL_CHROOT_DIR}/rescue
1125
	FSLABEL=$(echo ${PRODUCT_NAME} | tr '[:lower:]' '[:upper:]')
1126

  
1127
	sh ${FREEBSD_SRC_DIR}/release/${TARGET}/mkisoimages.sh \
1128
		${FSLABEL} \
1129
		${ISOPATH} \
1130
		${INSTALLER_CHROOT_DIR}
1128 1131

  
1129
	makefs -t cd9660 -o bootimage="i386;${FINAL_CHROOT_DIR}/boot/cdboot" -o no-emul-boot -o rockridge \
1130
		-o label=${FSLABEL} -o publisher="${PRODUCT_NAME} project." $ISOPATH ${FINAL_CHROOT_DIR} 2>&1 >> ${LOGFILE}
1131
	if [ $? -ne 0 -o ! -f $ISOPATH ]; then
1132
		if [ -f ${ISOPATH} ]; then
1133
			rm -f $ISOPATH
1134
		fi
1135
		echo ">>> ERROR: Something wrong happened during ISO image creation. STOPPING!" | tee -a ${LOGFILE}
1136
		print_error_pfS
1137
	fi
1138 1132
	gzip -qf $ISOPATH &
1139 1133
	_bg_pids="${_bg_pids}${_bg_pids:+ }$!"
1140 1134

  

Also available in: Unified diff