| 1 | #!/bin/sh␊ |
| 2 | ␊ |
| 3 | # efisysinst.sh␊ |
| 4 | # ␊ |
| 5 | #␊ |
| 6 | # Created by mackerintel on 2/2/09.␊ |
| 7 | # Copyright 2009 mackerintel. All rights reserved.␊ |
| 8 | ␊ |
| 9 | if [[ x$1 == x ]]; then␊ |
| 10 | ␉echo Usage: $0 disknumber;␊ |
| 11 | ␉exit 0;␊ |
| 12 | fi␊ |
| 13 | ␊ |
| 14 | if [[ `dd if=/dev/disk${1}s1 count=8 bs=1 skip=82 | uuencode -m -|head -n 2|tail -n 1` != "RkFUMzIgICA=" ]]; then␊ |
| 15 | ␉echo "/dev/disk${1}s1" "isn't" a FAT32 partition;␊ |
| 16 | ␉exit 1;␊ |
| 17 | fi ␊ |
| 18 | ␊ |
| 19 | if [ ! -f boot1f32 ]; then␊ |
| 20 | ␉echo "boot1f32 not found";␊ |
| 21 | ␉exit 1;␊ |
| 22 | fi␊ |
| 23 | if [ ! -f boot0 ]; then␊ |
| 24 | ␉echo "boot0 not found";␊ |
| 25 | ␉exit 1;␊ |
| 26 | fi␊ |
| 27 | dd if=/dev/disk${1}s1 count=1 bs=512 of=/tmp/origbs␊ |
| 28 | cp boot1f32 /tmp/newbs␊ |
| 29 | dd if=/tmp/origbs of=/tmp/newbs skip=3 seek=3 bs=1 count=87 conv=notrunc␊ |
| 30 | dd of=/dev/disk${1}s1 count=1 bs=512 if=/tmp/newbs␊ |
| 31 | dd if=boot0 of=/dev/disk${1} count=430 bs=1␊ |
| 32 | |