From b459037c11ef4385ba12574fd0e2c90be3d85f46 Mon Sep 17 00:00:00 2001 From: Natanael Copa Date: Thu, 3 Sep 2009 13:31:55 +0000 Subject: added missing setup-bootable-usb --- setup-bootable-usb.in | 52 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 setup-bootable-usb.in diff --git a/setup-bootable-usb.in b/setup-bootable-usb.in new file mode 100644 index 0000000..32d40b2 --- /dev/null +++ b/setup-bootable-usb.in @@ -0,0 +1,52 @@ +#!/bin/sh + +cleanup() { + if [ "$install_syslinux" = "yes" ]; then + apk del -q syslinux + fi + if [ "$mount_dest" = "yes" ]; then + umount "$dest" + fi +} + +die() { + echo "$@" >&2 + cleanup + exit 1 +} + +apk info -q -e syslinux || install_syslinux=yes + + +if [ "$install_syslinux" = "yes" ]; then + apk add -q syslinux +fi + +src=${1:-/media/cdrom} + +[ -f "$src"/.alpine-release ] || die "$src/.alpine-release not found" + + +dest=${2:-/media/usb} + +if ! awk '{print $2}' /proc/mounts | grep -q "^$dest\$"; then + mount "$dest" || die "Failed to mount $dest" + mount_dest=yes +fi + +echo "Copying files..." +cp -r "$src"/* "$src"/.[a-z]* "$dest" || die "Failed to copy files" + +echo "Making usb bootable..." +dev=$(awk "\$2 == \"$dest\" {print \$1}" /proc/mounts) +parent=$(basename $(dirname /sys/block/*/$(basename $dev))) + +syslinux $dev + +if [ -b /dev/$parent ]; then + dd if=/usr/share/syslinux/mbr.bin of=/dev/$parent +else + echo "Warning: Could not find the parent device for $dev" +fi + +cleanup -- cgit v1.2.3