$NetBSD$

--- util/grub-install.in.orig	2004-07-24 14:57:31.000000000 -0400
+++ util/grub-install.in
@@ -119,10 +119,10 @@ convert () {
        	    | sed "s%.*/r\{0,1\}da[0-9]\(s[0-9]*[a-h]\)%\1%"`
 	;;
     netbsd* | knetbsd*-gnu)
-	tmp_disk=`echo "$1" | sed 's%r\{0,1\}\([sw]d[0-9]*\).*$%r\1d%' \
+	tmp_disk=`echo "$1" | sed 's%r\{0,1\}\([lsw]d[0-9]*\).*$%r\1d%' \
 	    | sed 's%r\{0,1\}\(fd[0-9]*\).*$%r\1a%'`
 	tmp_part=`echo "$1" \
-	    | sed "s%.*/r\{0,1\}[sw]d[0-9]\([abe-p]\)%\1%"`
+	    | sed "s%.*/r\{0,1\}[lsw]d[0-9]\([abe-p]\)%\1%"`
 	;;
     *)
 	echo "grub-install does not support your OS yet." 1>&2
@@ -321,7 +321,7 @@ fi
 # Stage 1.5 does not exist.
 
 # Create the GRUB directory if it is not present.
-test -d "$bootdir" || mkdir "$bootdir" || exit 1
+test -z "$bootdir" || test -d "$bootdir" || mkdir "$bootdir" || exit 1
 test -d "$grubdir" || mkdir "$grubdir" || exit 1
 
 # If --recheck is specified, remove the device map, if present.
