2010-09-10 Robert Millan <rmh@gnu.org>

* util/grub.d/10_hurd.in: Add misc readability checks.
	* util/grub.d/10_kfreebsd.in: Likewise.
	* util/grub.d/10_linux.in: Likewise.
This commit is contained in:
Robert Millan 2010-09-10 15:11:54 +02:00
parent c452fa66dd
commit 90367e043d
4 changed files with 38 additions and 2 deletions

View file

@ -1,3 +1,9 @@
2010-09-10 Robert Millan <rmh@gnu.org>
* util/grub.d/10_hurd.in: Add misc readability checks.
* util/grub.d/10_kfreebsd.in: Likewise.
* util/grub.d/10_linux.in: Likewise.
2010-09-10 Colin Watson <cjwatson@ubuntu.com>
* util/grub-install.in: ${imgext} won't be defined here until the

View file

@ -41,6 +41,14 @@ for i in /boot/gnumach* ; do
basename=`basename $i`
dirname=`dirname $i`
rel_dirname=`make_system_path_relative_to_its_root $dirname`
if ! is_path_readable_by_grub ${dirname}/${basename} \
${GRUB_DEVICE_BOOT} \
${rel_dirname}/${basename} ; then
echo "${dirname}/${basename} is not readable by GRUB" >&2
exit 1
fi
echo "Found GNU Mach: $i" >&2
kernels="${kernels} ${rel_dirname}/${basename}"
at_least_one=true

View file

@ -44,7 +44,7 @@ load_kfreebsd_module ()
mod="$1"
allow_fail="$2"
if ! test -e "${module_dir}/${mod}.ko" ; then
if ! is_path_readable_by_grub "${module_dir}/${mod}.ko" ; then
if [ "${allow_fail}" = "true" ] ; then
# Return silently
return
@ -77,6 +77,13 @@ kfreebsd_entry ()
prepare_boot_cache="$(prepare_grub_to_access_device ${GRUB_DEVICE_BOOT} | sed -e "s/^/\t/")"
fi
if ! is_path_readable_by_grub ${dirname}/${basename} \
${GRUB_DEVICE_BOOT} \
${rel_dirname}/${basename} ; then
echo "${dirname}/${basename} is not readable by GRUB" >&2
exit 1
fi
printf '%s\n' "${prepare_boot_cache}"
cat << EOF
echo '$(printf "$(gettext_quoted "Loading kernel of FreeBSD %s ...")" ${version})'
@ -95,7 +102,13 @@ EOF
zfs)
load_kfreebsd_module opensolaris false
ls "${dirname}/zfs/zpool.cache" > /dev/null
if ! is_path_readable_by_grub ${dirname}/zfs/zpool.cache \
${GRUB_DEVICE_BOOT} \
${rel_dirname}/zfs/zpool.cache ; then
echo "${dirname}/zfs/zpool.cache is not readable by GRUB" >&2
exit 1
fi
printf '%s\n' "${prepare_boot_cache}"
cat << EOF
kfreebsd_module ${rel_dirname}/zfs/zpool.cache type=/boot/zfs/zpool.cache

View file

@ -83,6 +83,15 @@ EOF
EOF
fi
for i in ${basename} ${initrd} ; do
if ! is_path_readable_by_grub ${dirname}/${i} \
${GRUB_DEVICE_BOOT} \
${rel_dirname}/${i} ; then
echo "${dirname}/${i} is not readable by GRUB" >&2
exit 1
fi
done
if [ -z "${prepare_boot_cache}" ]; then
prepare_boot_cache="$(prepare_grub_to_access_device ${GRUB_DEVICE_BOOT} | sed -e "s/^/\t/")"
fi