Root/
Source at commit 337 created 13 years 9 months ago. By azimutz, Start "search algo" related stuff. This was what motivated me initially to look at Chameleon code with learning eyes. I had two problems: - the booter "always" checks selected volume for drivers, invalidating any drivers on rescue media. - the other is the Boot.plist override (loadOverrideConfig) that i was completely unaware of, until i checked the code. So, this was the first stuff that i came up with: - CanOverride=n disables overriding of the default Boot.plist (it doesn't stop the file from loading). - Extensions=/path-to-folder/ loads drivers from an alternate folder. The drives override key only got this format after i found the dsdt search also on search_and_get_acpi_fd; when i first added it was when i found that the selected volume drivers were always loaded :) | |
---|---|
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 |