Package: memtest86+ Here is a modified make-memtest86+-boot-floppy to use variables instead of hardcoded paths. Also incorporated patch in bug #451050. This one can be more easily modified to fit into other distributions.
#!/bin/sh # # Script for making a memtest86 boot floppy using GRUB as bootloader # # (c) 2003 Peter Loje Hansen <[email protected]> # - original version # (c) 2004 Yann Dirson <[email protected]> # - added parameters # - ability to work on a floppy image instead of a real floppy # - adapted patches from Martin Koeppe <[email protected]>, to use # mtools and install full grub # TODO: # - add a flag to generate a default boot entry for (hd0) set -e MEMTEST=/boot/memtest86+.bin FLOPPYIMAGE=/dev/fd0 GRUBBIN=/usr/sbin/grub GRUBLIB=/usr/lib/grub MFORMAT=/usr/bin/mformat arch=$(dpkg --print-architecture) case "$arch" in i386|?*-i386) GRUBARCH=i386;; amd64|?*-amd64) GRUBARCH=x86_64;; *) error "Unsupported architecture: $arch";; esac error() { echo >&2 "$0: $*" exit 1 } needsarg() { [ $1 -ge 2 ] || error "syntax error" } [ -d $GRUBLIB ] || error "Can't find $GRUBLIB - did you install a recent grub package (0.95+cvs20040624 or later) ?" [ -x $MFORMAT ] || error "Can't find mformat - did you install the mtools package ?" while [ $# -gt 0 ] do case "$1" in --help) echo "$0 [--memtest $MEMTEST] [--floppyimage $FLOPPYIMAGE]"; exit 0 ;; --memtest) needsarg $#; MEMTEST="$2"; shift ;; --floppyimage) needsarg $#; FLOPPYIMAGE="$2"; shift ;; *) error "syntax error" ;; esac shift done MOUNTPOINT=$(mktemp -d) if [ -b "$FLOPPYIMAGE" ] then FINALDEV="$FLOPPYIMAGE" FLOPPYIMAGE="$(mktemp)" else FINALDEV="" fi echo "* Creating msdos file system" echo if [ ! -s "$FLOPPYIMAGE" ]; then # unless a non-empty image exists, create a blank one first dd bs=1024 count=1440 if=/dev/zero of="$FLOPPYIMAGE" fi # FIXME: "-f 1440" should probably be dropped mformat -i $FLOPPYIMAGE -f 1440 :: mmd -i $FLOPPYIMAGE ::/boot mmd -i $FLOPPYIMAGE ::/boot/grub echo echo "* Installing GRUB files" mcopy -v -i "$FLOPPYIMAGE" - ::/boot/grub/menu.lst <<EOF color green/black light-green/black default 0 timeout 10 title memtest kernel (fd0)/boot/memtest.bin EOF mcopy -v -i "$FLOPPYIMAGE" $GRUBLIB/$GRUBARCH/* ::/boot/grub echo echo "* Installing $MEMTEST" mcopy -v -i "$FLOPPYIMAGE" "$MEMTEST" ::/boot/memtest.bin echo echo -n "* Installing GRUB" $GRUBBIN --batch --device-map=/dev/null <<EOF device (fd0) $FLOPPYIMAGE root (fd0) setup (fd0) quit EOF if [ -n "$FINALDEV" ]; then echo echo "Insert a writable floppy for $FINALDEV and press enter" read FOO dd bs=1024 if="$FLOPPYIMAGE" of="$FINALDEV" rm "$FLOPPYIMAGE" fi

