grub-shell: support --files also for net boot
This allows running tests that require extra files using netboot as well.
This commit is contained in:
parent
3173c7501c
commit
4b94e3227b
2 changed files with 21 additions and 0 deletions
|
@ -1,3 +1,7 @@
|
||||||
|
2014-12-05 Andrei Borzenkov <arvidjaar@gmail.com>
|
||||||
|
|
||||||
|
* tests/util/grub-shell.in: Support --files also for netboot.
|
||||||
|
|
||||||
2014-12-01 Andrei Borzenkov <arvidjaar@gmail.com>
|
2014-12-01 Andrei Borzenkov <arvidjaar@gmail.com>
|
||||||
|
|
||||||
* grub-core/loader/i386/xen_fileXX.c (grub_xen_get_infoXX): Fix
|
* grub-core/loader/i386/xen_fileXX.c (grub_xen_get_infoXX): Fix
|
||||||
|
|
|
@ -422,11 +422,28 @@ do_trim ()
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
copy_extra_files() {
|
||||||
|
_destdir="$1"
|
||||||
|
shift
|
||||||
|
|
||||||
|
# FIXME support '=' in file names
|
||||||
|
for _file in "$@"; do
|
||||||
|
_target="${_file%=*}"
|
||||||
|
_source="${_file#*=}"
|
||||||
|
[ -n "$_source" ] || _source="$_target"
|
||||||
|
_target="$_destdir/$_target"
|
||||||
|
_targetdir="$(dirname "$_target")"
|
||||||
|
[ -d "$_targetdir" ] || mkdir -p "$_targetdir"
|
||||||
|
cp "$_source" "$_target"
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
if [ x$boot = xnet ]; then
|
if [ x$boot = xnet ]; then
|
||||||
netdir=`mktemp -d "${TMPDIR:-/tmp}/tmp.XXXXXXXXXX"` || exit 1
|
netdir=`mktemp -d "${TMPDIR:-/tmp}/tmp.XXXXXXXXXX"` || exit 1
|
||||||
pkgdatadir="@builddir@" "@builddir@/grub-mknetdir" "--grub-mkimage=${builddir}/grub-mkimage" "--directory=${builddir}/grub-core" "--net-directory=$netdir" ${mkrescue_args} > /dev/null
|
pkgdatadir="@builddir@" "@builddir@/grub-mknetdir" "--grub-mkimage=${builddir}/grub-mkimage" "--directory=${builddir}/grub-core" "--net-directory=$netdir" ${mkrescue_args} > /dev/null
|
||||||
cp "${cfgfile}" "$netdir/boot/grub/grub.cfg"
|
cp "${cfgfile}" "$netdir/boot/grub/grub.cfg"
|
||||||
cp "${source}" "$netdir/boot/grub/testcase.cfg"
|
cp "${source}" "$netdir/boot/grub/testcase.cfg"
|
||||||
|
[ -z "$files" ] || copy_extra_files "$netdir" $files
|
||||||
timeout -s KILL $timeout "${qemu}" ${qemuopts} ${serial_null} -serial file:/dev/stdout -boot n -net "user,tftp=$netdir,bootfile=/boot/grub/${grub_modinfo_target_cpu}-${grub_modinfo_platform}/core.$netbootext" -net nic | cat | tr -d "\r" | do_trim
|
timeout -s KILL $timeout "${qemu}" ${qemuopts} ${serial_null} -serial file:/dev/stdout -boot n -net "user,tftp=$netdir,bootfile=/boot/grub/${grub_modinfo_target_cpu}-${grub_modinfo_platform}/core.$netbootext" -net nic | cat | tr -d "\r" | do_trim
|
||||||
elif [ x$boot = xemu ]; then
|
elif [ x$boot = xemu ]; then
|
||||||
grubdir="$(mktemp -d "${TMPDIR:-/tmp}/tmp.XXXXXXXXXX")"
|
grubdir="$(mktemp -d "${TMPDIR:-/tmp}/tmp.XXXXXXXXXX")"
|
||||||
|
|
Loading…
Reference in a new issue