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 | |