--- /dev/null
+#!/bin/sh
+
+VERSION=1.1
+
+IMAGE=flash.imz
+DISK=flash
+
+while [ $# -gt 0 ]; do
+ case "$1" in
+ -b) shift; bios="$1";;
+ -h) echo "usage: $(basename $0) [-b bios.rom] [-h] [-i ipmi.rom] [-v]"; exit 0;;
+ -i) shift; ipmi="$1";;
+ -v) echo "$(basename $0) version $VERSION"; exit 0;;
+ *) echo "unknown argument '$1'"; exit 1;;
+ esac
+ shift
+done
+
+[ -n "$bios" ] && { [ -f "$bios" ] && NAME="bios" || { echo "bios rom not found '$bios'"; exit 1; }; }
+[ -n "$ipmi" ] && { [ -f "$ipmi" ] && NAME="ipmi" || { echo "ipmi rom not found '$ipmi'"; exit 1; }; }
+[ "$bios" -a "$ipmi" ] && NAME="bios-ipmi"
+[ "$NAME" ] || { echo "no rom specified"; exit 1; }
+[ $(id -u) -eq 0 ] || { echo "must be root"; exit 1; }
+[ -f $IMAGE ] || { echo "can't find $IMAGE, must be in /opt/tftp"; exit 1; }
+
+gunzip -d < $IMAGE > $DISK.img
+
+[ -d $DISK ] || mkdir $DISK
+
+mount $DISK.img $DISK -o loop,offset=32256
+
+[ -f "$bios" ] && cp $bios $DISK/bios.bin
+[ -f "$ipmi" ] && cp $ipmi $DISK/ipmi.bin
+sync
+
+umount $DISK
+
+gzip -c < $DISK.img > $DISK-$NAME.imz
+rm -f $DISK.img
+rmdir $DISK