if ! [ -d "${BUILD_OUTPUT}/boot/grub" ] ; then
mkdir -p "${BUILD_OUTPUT}/boot/grub"
fi
- cp ${TEMPLATE_DIRECTORY}/boot/grub/* "$BUILD_OUTPUT"/boot/grub/
+ cp -a ${TEMPLATE_DIRECTORY}/boot/grub/* "$BUILD_OUTPUT"/boot/grub/
# copy grub files from target
cp -a "${CHROOT_OUTPUT}"/usr/lib/grub/*-pc/*.mod "${BUILD_OUTPUT}"/boot/grub/
# adjust all variables in the templates with the according distribution information
for file in "${BUILD_OUTPUT}"/boot/isolinux/*.cfg "${BUILD_OUTPUT}"/boot/isolinux/*.msg \
"${BUILD_OUTPUT}"/boot/grub/* ; do
- if [ -r "${file}" ] ; then
+ if [ -r "${file}" ] && [ -f "${file}" ] ; then
sed -i "s/%ARCH%/$ARCH/g" "${file}"
sed -i "s/%DATE%/$DATE/g" "${file}"
sed -i "s/%DISTRI_INFO%/$DISTRI_INFO/g" "${file}"
fi
done
+ for param in ARCH DATE DISTRI_INFO DISTRI_NAME DISTRI_SPLASH GRML_NAME SQUASHFS_NAME \
+ RELEASE_INFO SHORT_NAME VERSION ; do
+ for file in $(find "${BUILD_OUTPUT}" -name "*%$param%*") ; do
+ value="$(eval echo '$'"$param")"
+ mv ${file} ${file/\%${param}\%/$value}
+ done
+ done
+
# adjust bootsplash accordingly but make sure the string has the according lenght
SQUASHFS_NAME="$(cut_string 20 "$SQUASHFS_NAME")"
SQUASHFS_NAME="$(extend_string_end 20 "$SQUASHFS_NAME")"
cp "${CHROOT_OUTPUT}"/boot/initrd.img-* "$WORKING_DIR"/initrd.img
cp "${CHROOT_OUTPUT}"/usr/lib/syslinux/pxelinux.0 "${WORKING_DIR}/pxelinux.0"
+ mkdir -p "${WORKING_DIR}/pxelinux.cfg"
if [ -r "${BUILD_OUTPUT}/boot/isolinux/netboot.cfg" ] ; then
- mkdir -p "${WORKING_DIR}/pxelinux.cfg/default"
cp "${BUILD_OUTPUT}/boot/isolinux/netboot.cfg" "${WORKING_DIR}/pxelinux.cfg/default"
else
ewarn "File ${BUILD_OUTPUT}/boot/isolinux/netboot.cfg not found." ; eend 0
fi
- mkdir -p "${WORKING_DIR}/pxelinux.cfg"
-
if tar -C "$OUTPUTDIR" -jcf "${OUTPUT_FILE}" "grml_netboot_package_${GRML_NAME}_${VERSION}" ; then
sha1sum "${OUTPUT_FILE}" > "${OUTPUT_FILE}.sha1"
einfo "Generated netboot package ${OUTPUT_FILE}" ; eend 0