freebsd-skq/tools/boot/lua-test.sh
Kyle Evans f98c671d07 Update lualoader test script a little bit
Use userboot.so from the test directory if possible, fall back to .OBJDIR.
This avoids a problem that we've had since userboot coexistence was added,
where userboot.so alone no longer exists in the .OBJDIR but is instead just
a link installed later.
2018-10-25 02:04:01 +00:00

29 lines
769 B
Bash
Executable File

#!/bin/sh
# $FreeBSD$
# Will image the test directory (default /tmp/loadertest) if it doesn't exist
die() {
echo $*
exit 1
}
dir=$1
scriptdir=$(dirname $(realpath $0))
cd $(make -V SRCTOP)/stand
obj=$(make -V .OBJDIR)
t=$obj/userboot/test/test
[ -n "$dir" ] || dir=/tmp/loadertest
[ -d "$dir" ] || ${scriptdir}/lua-img.sh ${dir}
# We'll try userboot.so from the test directory before plucking it straight out
# of .OBJDIR.
u=$dir/boot/userboot.so
[ -f "$u" ] || u=$obj/userboot/userboot_lua/userboot_lua.so
[ -f "$dir/boot/lua/loader.lua" ] || die "No boot/lua/loader.lua found"
[ -f "$dir/boot/kernel/kernel" ] || die "No kernel to load"
[ -x "$t" ] || die "no userboot test jig found ($t)"
[ -f "$u" ] || die "no userboot.so ($u) found"
$t -h $dir -b $u