4 # these urls are for lucid release version of grub
5 i386_url="https://launchpad.net/ubuntu/+archive/primary/+files/grub_0.97-29ubuntu60_i386.deb"
6 x86_64_url="https://launchpad.net/ubuntu/+archive/primary/+files/grub_0.97-29ubuntu60_amd64.deb"
12 prepare out_d for grub
13 creates 'bootgrub.tar' and 'grub' binary
17 [ -z "${TEMP_D}" -o ! -d "${TEMP_D}" ] || rm -Rf "${TEMP_D}"
19 error() { echo "$@" 1>&2; }
20 fail() { [ $# -eq 0 ] || error "$@"; exit 1; }
22 [ "$1" = "-h" -o "$1" = "--help" ] && { Usage; exit 0; }
23 [ $# -eq 1 ] || { Usage 1>&2; error "must give out_d"; exit 1; }
26 mkdir -p "$out_d_in" || fail "failed to make $out_d"
27 out_d=$(cd "$out_d_in" && pwd)
31 x86_64) url="${x86_64_url}";;
32 i?86) url="${i386_url}";;
35 TEMP_D=$(mktemp -d "${TMPDIR:-/tmp}/.${0##*/}.XXXXXX") ||
36 fail "failed to make tempd"
39 deb="${out_d}/dl/${url##*/}"
40 if [ ! -e "${deb}" ]; then
41 wget "${url}" -O "${TEMP_D}/deb" &&
42 mv "${TEMP_D}/deb" "$deb" || fail "failed download of ${url}"
47 cp usr/sbin/grub "$out_d/grub" &&
49 cp usr/lib/grub/*/{stage1,stage2,e2fs_stage1_5} boot/grub &&
50 tar cf "${out_d}/bootgrub.tar" boot/ ||
51 fail "failed to create $out_d"