diff options
Diffstat (limited to 'sysutils')
-rw-r--r-- | sysutils/mkmemstick/DESCR | 4 | ||||
-rw-r--r-- | sysutils/mkmemstick/Makefile | 6 | ||||
-rw-r--r-- | sysutils/mkmemstick/PLIST | 4 | ||||
-rw-r--r-- | sysutils/mkmemstick/files/mkmemstick.sh | 20 |
4 files changed, 16 insertions, 18 deletions
diff --git a/sysutils/mkmemstick/DESCR b/sysutils/mkmemstick/DESCR index 128806aeedb..e611779c089 100644 --- a/sysutils/mkmemstick/DESCR +++ b/sysutils/mkmemstick/DESCR @@ -7,11 +7,11 @@ convert it to an image that can be written to a USB memory stick. To use the script, simply feed it an ISO and tell it where to write the resulting image: -$ sh mkmemstick.sh i386cd-5.0.1.iso i386memstick-5.0.1.img +# sh mkmemstick.sh i386cd-5.0.1.iso i386memstick-5.0.1.img The resulting image can be written to a memory stick using dd(1): -$ dd if=i386memstick-5.0.1.img of=/dev/sd0d +# dd if=i386memstick-5.0.1.img of=/dev/sd0d Please note that this script depends on the sysutils/cdrtools package for extracting the contents of the release ISO. diff --git a/sysutils/mkmemstick/Makefile b/sysutils/mkmemstick/Makefile index aa88cca9117..bed836fb1f6 100644 --- a/sysutils/mkmemstick/Makefile +++ b/sysutils/mkmemstick/Makefile @@ -1,7 +1,7 @@ -# $NetBSD: Makefile,v 1.1.1.1 2011/05/05 06:53:27 agc Exp $ +# $NetBSD: Makefile,v 1.2 2011/10/13 16:01:06 gson Exp $ # -DISTNAME= mkmemstick-20090801 +DISTNAME= mkmemstick-20111013 CATEGORIES= sysutils MASTER_SITES= # none DISTFILES= # none @@ -25,7 +25,7 @@ do-configure: do-build: do-install: - ${INSTALL_SCRIPT} ${WRKSRC}/mkmemstick ${DESTDIR}${PREFIX}/bin/mkmemstick + ${INSTALL_SCRIPT} ${WRKSRC}/mkmemstick ${DESTDIR}${PREFIX}/sbin/mkmemstick .include "../../mk/bsd.pkg.mk" diff --git a/sysutils/mkmemstick/PLIST b/sysutils/mkmemstick/PLIST index 6409a566242..6849dabeddf 100644 --- a/sysutils/mkmemstick/PLIST +++ b/sysutils/mkmemstick/PLIST @@ -1,2 +1,2 @@ -@comment $NetBSD: PLIST,v 1.1.1.1 2011/05/05 06:53:27 agc Exp $ -bin/mkmemstick +@comment $NetBSD: PLIST,v 1.2 2011/10/13 16:01:06 gson Exp $ +sbin/mkmemstick diff --git a/sysutils/mkmemstick/files/mkmemstick.sh b/sysutils/mkmemstick/files/mkmemstick.sh index 10ffc32aae9..b1960db5b4e 100644 --- a/sysutils/mkmemstick/files/mkmemstick.sh +++ b/sysutils/mkmemstick/files/mkmemstick.sh @@ -32,6 +32,8 @@ drivedata: 0 a: @SECTORS@ 0 4.2BSD 1024 8192 0 d: @SECTORS@ 0 unused 0 0 " +vnddev="vnd0" +vndmnt="${dstbase}/mnt" die() { echo "fatal: $0" @@ -59,17 +61,11 @@ fi mkdir -p "$dst" || die "couldn't create directory $dst" -printf " => extracting iso image" -isoinfo -R -f -i "$src" | while read x; do - dstdir="$dst/$(dirname $x)" - dstfile="$(basename $x)" - if [ -f "$dstdir" ]; then - rm "$dstdir" - fi - mkdir -p "$dstdir" - printf . - isoinfo -R -x "$x" -i "$src" > "${dstdir}/${dstfile}" -done +printf " => extracting iso image..." +vnconfig "$vnddev" "$src" +mkdir "$vndmnt" +mount -r -t cd9660 "/dev/${vnddev}a" "$vndmnt" +(cd "$vndmnt" && tar cf - .) | (cd "$dst" && tar xf -) printf " done.\n" if [ -f "${dst}/boot.cfg" ]; then @@ -95,6 +91,8 @@ echo "$disklabel" | \ disklabel -R -F "${img}" "${dstbase}/disklabel" || die "couldn't write disklabel" echo " => cleaning up" +umount "${vndmnt}" +vnconfig -u "${vnddev}" rm -rf "${dstbase}" echo " => done!" |