Revision 5df6d76a
Added by Renato Botelho almost 9 years ago
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
Use mkisoimages.sh to build ISO